Weboldal keresés

Mi az APT és az Aptitude? és mi a valódi különbség köztük?


Az Aptitude és az apt-get a két népszerű csomagkezelési eszköz. Mindkettő képes kezelni mindenféle tevékenységet a csomagokon, beleértve a telepítést, eltávolítást, keresést stb. De még mindig vannak különbségek a két eszköz között, amelyek miatt a felhasználók előnyben részesítik az egyiket a másikkal szemben. Melyek azok a különbségek, amelyek miatt ezt a két eszközt külön kell figyelembe venni, ez a cikk hatóköre.

Mi az Apt

Az Apt vagy az Advanced Packaging Tool egy ingyenes és nyílt forráskódú szoftver, amely kecsesen kezeli a szoftver telepítését és eltávolítását. Eredetileg a Debian .deb csomagjaihoz tervezték, de kompatibilissé tették az RPM Package Managerrel.

Az Apt egy teljes parancssor grafikus felhasználói felület nélkül. Amikor parancssorból hívják meg a telepítendő csomag nevének megadásával együtt, a csomag az "/etc/apt/sources.list" fájlban megadott konfigurált forráslistában, valamint a függőségek listájában találja meg. az adott csomaghoz, rendezi és automatikusan telepíti őket az aktuális csomaggal együtt, így a felhasználónak nem kell aggódnia a függőségek telepítése miatt.

Rendkívül rugalmas, lehetővé téve a felhasználó számára a különféle konfigurációk egyszerű vezérlését, például: új forrás hozzáadása a csomagok kereséséhez, apt-pinning, azaz bármely csomag elérhetetlennek jelölése a rendszerfrissítés során, így az aktuális verzió lesz a telepített végleges verzió, „okos” frissítés, azaz a legfontosabb csomagok frissítése és a legkevésbé fontos csomagok meghagyása.

Mi az az alkalmasság?

Az Aptitude a fejlett csomagolóeszköz kezelőfelülete, amely felhasználói felülettel egészíti ki a funkciókat, így lehetővé teszi a felhasználó számára, hogy interaktívan keressen egy csomagot, majd telepítse vagy eltávolítsa azt. A kezdetben a Debain számára készült Aptitude az RPM-alapú disztribúciókra is kiterjeszti funkcionalitását.

Felhasználói felülete az ncurses könyvtáron alapul, amely különféle elemeket ad hozzá, amelyek gyakran láthatók a grafikus felhasználói felületeken. Az egyik legfontosabb eleme, hogy képes emulálni az apt-get legtöbb parancssori argumentumát.

Összességében az Aptitude egy magasabb szintű csomagkezelő, amely alacsony szintű részleteket von ki, és képes szöveges interaktív felhasználói felület módban és akár parancssori, nem interaktív módban is működni.

Ha szeretné megismerni az APT és az Aptitude használatát valós példákkal, akkor nézze át a következő cikkeket.

  1. Tanuljon meg 25 hasznos példát az APT-GET és az APT-CACHE szolgáltatásokra
  2. Ismerje meg a Linux csomagkezelést az Aptitude és a Dpkg segítségével

Mi a különbség az APT és az Aptitude között?

Eltekintve attól a fő különbségtől, hogy az Aptitude egy magas szintű csomagkezelő, míg az APT egy alacsonyabb szintű csomagkezelő, amelyet más magasabb szintű csomagkezelők is használhatnak. A két csomagkezelőt elválasztó kiemelések a következők:

  1. Az Aptitude funkciója szélesebb, mint az apt-get, és integrálja az apt-get és egyéb változatainak funkcióit, beleértve az apt-mark és az apt -gyorsítótárra.

Míg az apt-get az összes csomagtelepítést, frissítést, rendszerfrissítést, csomag törlését, függőségek feloldását stb. kezeli, az Aptitude sokkal több dolgot kezel, mint az apt, beleértve az apt-mark funkcióit is. és apt-cache, azaz egy csomag keresése a telepített csomagok listájában, egy csomag megjelölése automatikusan vagy manuálisan telepítendőnek, egy csomag tárolása, amely elérhetetlenné teszi a frissítést és így tovább.

  1. Míg az apt-get-től hiányzik a felhasználói felület, az Aptitude csak szöveges és interaktív felhasználói felülettel rendelkezik

Az Apt-get, amely alacsonyabb szintű csomagkezelő, csak a parancssorra korlátozódik, míg az Aptitude, mint magasabb szintű eszköz, rendelkezik alapértelmezett, csak szöveges interaktív felülettel, valamint parancssori művelet lehetőségével a kötelező megadásával parancsokat.

  1. Az Aptitude csomagkezelése jobb, mint az apt-get

A csomagok telepítésével, eltávolításával és konfliktusfeloldásával járó helyzetekben az Aptitude inkább bizonyítja a hasznát, mint az apt-get. Néhány helyzet a következőket tartalmazza:

1. Bármely telepített csomag eltávolításakor az Aptitude automatikusan eltávolítja a nem használt csomagokat, míg az apt-get esetén a felhasználónak ezt kifejezetten meg kell adnia a hozzáadással. további lehetőség a '—auto-remove' vagy az 'apt-get autoremove' megadása.4

2. Annak további vizsgálatához, hogy bizonyos műveletek miért blokkolódnak, vagy miért vagy miért nem kell végrehajtani egy bizonyos műveletet, az Aptitude a "miért" és a " lehetőséget kínálja. miért nem' parancsokat.

Tetszik: Az Aptitude meg tudja találni egy bizonyos csomag telepítésének okát, ha megnézi a telepített csomagok listáját, és ellenőrzi, hogy valamelyik javasolt csomagnak van-e függősége, vagy ha valamelyik függősége azt sugallja, hogy az adott csomag vagy így tovább .

$ aptitude why yaws-wiki
i   doc-base  Suggests   dhelp | dwww | doc-central | yelp | khelpcenter4
p   dwww      Depends    apache2 | httpd-cgi
p   yaws      Provides   httpd-cgi
p   yaws      Suggests   yaws-wiki

Mint itt is, a 'yaws-wiki' nevű csomag telepítésének okát kereste, mert azt egy (yaws) függőség javasolja, amely egy (httpd-cgi) melyik (dwww) csomagtól függ, és a (dwww) csomagot a ' nevű telepített csomagok egyike javasolta doc-base'.

Ez a funkció hiányzik az apt-get-ből.

3. Míg az apt-get valószínűleg kialszik, ha az üzenetet tartalmazó csomag telepítésével vagy eltávolításával kapcsolatban ütközik a művelet, az Aptitude javasolhatja lehetséges intézkedéseket a konfliktus megszüntetésére.

Az Aptitude hatékony keresést biztosít, amellyel nem csak a rendszeren, hanem a teljes tárolóban is kereshet szinte minden csomagban.

Míg az apt-get-nek szüksége van egy másik apt-változatra, azaz az apt-cache-re a csomag kereséséhez, az Aptitude sokkal egyszerűbb és hatékonyabb módot kínál a telepített vagy jelenlévő csomagok keresésére. lerakatban van, de még telepítésre vár.

Csomag keresése apt-cache vs Aptitude használatával

$ apt-cache search 'python' | head -n4
kate - powerful text editor
kcachegrind-converters - format converters for KCachegrind profiler visualisation tool
kig - interactive geometry tool for KDE
python-kde4 - Python bindings for the KDE Development Platform

$ aptitude search 'python' | head -n4
i   bpython                         - fancy interface to the Python interpreter 
p   bpython-gtk                     - fancy interface to the Python interpreter 
p   bpython-urwid                   - fancy interface to the Python interpreter 
p   bpython3                        - fancy interface to the Python3 interpreter

Itt alapértelmezés szerint az apt-cache és az aptitude is a lerakatban lévő csomagok teljes listáján keres egy csomagot, de az aptitude kimenete megmutatja, hogy a csomag telepítve van-e a rendszeren vagy nem csomagonkénti jelzővel, amely itt a 'p' azt jelzi, hogy a csomag megvan, de nincs telepítve, és az 'i', amely azt jelzi, hogy a csomag telepítve van, míg az apt -cache csak felsorolja a csomagot és annak egysoros részleteit anélkül, hogy megmondaná, hogy a csomag telepítve van-e vagy sem.

Néhány további példa az Aptitude speciális csomagkeresésére

1. Csomag keresése az adattárban, amelynek nevében 'python2.7', leírásában pedig '2.7'.

$ aptitude search '~npython2.7 ~d2.7'
p   idle-python2.7                   - IDE for Python (v2.7) using Tkinter       
i   libpython2.7                     - Shared Python runtime library (version 2.7
p   libpython2.7:i386                - Shared Python runtime library (version 2.7
p   libpython2.7-dbg                 - Debug Build of the Python Interpreter (ver
p   libpython2.7-dbg:i386            - Debug Build of the Python Interpreter (ver
i A libpython2.7-dev                 - Header files and a static library for Pyth
p   libpython2.7-dev:i386            - Header files and a static library for Pyth
i   libpython2.7-minimal             - Minimal subset of the Python language (ver
p   libpython2.7-minimal:i386        - Minimal subset of the Python language (ver
i   libpython2.7-stdlib              - Interactive high-level object-oriented lan
p   libpython2.7-stdlib:i386         - Interactive high-level object-oriented lan
p   libpython2.7-testsuite           - Testsuite for the Python standard library 
i   python2.7                        - Interactive high-level object-oriented lan
p   python2.7:i386                   - Interactive high-level object-oriented lan
p   python2.7-dbg                    - Debug Build of the Python Interpreter (ver
p   python2.7-dbg:i386               - Debug Build of the Python Interpreter (ver
i A python2.7-dev                    - Header files and a static library for Pyth
p   python2.7-dev:i386               - Header files and a static library for Pyth
p   python2.7-doc                    - Documentation for the high-level object-or
p   python2.7-examples               - Examples for the Python language (v2.7)   
i   python2.7-minimal                - Minimal subset of the Python language (ver
p   python2.7-minimal:i386           - Minimal subset of the Python language (ver

Itt a '~n' a nevet, a '~d' pedig a leírást jelöli. Ugyanennek a parancsnak a másik formája:

aptitude search '?name(python2.7) ?description(2.7)'
Néhány más zászló a következőket tartalmazza:
  1. ~i vagy ?installed(): Csomag keresése csak a telepített csomagok listájában.
  2. ~U vagy ~Frissíthető: Felsorolja az összes olyan csomagot, amely frissíthető a legújabb elérhető verzióikkal.
  3. ~E vagy ?Essential(): A telepített vagy elérhető csomagok, amelyek elengedhetetlenek.
$ aptitude versions '?Upgradable' | head -n 12
Package apache2:
ph  2.4.7-1ubuntu4                                trusty                    500 
ph  2.4.7-1ubuntu4.5                              trusty-security           500 
ih  2.4.7-1ubuntu4.8                                                        100 
ph  2.4.7-1ubuntu4.9                              trusty-updates            500 

Package apache2-bin:
p A 2.4.7-1ubuntu4                                trusty                    500 
p A 2.4.7-1ubuntu4.5                              trusty-security           500 
i A 2.4.7-1ubuntu4.8                                                        100 
p A 2.4.7-1ubuntu4.9                              trusty-updates            500 

Mint az itt látható rövid lista 3 csomagról, amelyek telepített verziója ('i' jelzéssel) és frissíthető verziójuk jelen van ('p' jelzéssel).

2. Egy adott szolgáltatást nyújtó összes csomag megkeresése

Az smtp szolgáltatást biztosító összes csomag megtalálásához:

$ aptitude search '?provides(smtp)'
p   libghc-smtpclient-dev            - Simple Haskell SMTP client library        
p   libghc-smtpclient-dev:i386       - Simple Haskell SMTP client library        
p   libghc-smtpclient-prof           - Simple Haskell SMTP client library; profil
p   libghc-smtpclient-prof:i386      - Simple Haskell SMTP client library; profil
p   syslog-ng-mod-smtp               - Enhanced system logging daemon (SMTP plugi
p   syslog-ng-mod-smtp:i386          - Enhanced system logging daemon (SMTP plugi

3. Minden olyan csomag megkeresése, amely egy bizonyos csomagra utal

Mint itt, itt is felsorolunk minden olyan csomagot, amely a 'gcc' csomagot javasolja.

$ aptitude search '~DSuggests:gcc' | head -n10
p   bochs                           - IA-32 PC emulator                         
p   bochs:i386                      - IA-32 PC emulator                         
p   cpp-4.4                         - GNU C preprocessor                        
p   cpp-4.4:i386                    - GNU C preprocessor                        
p   cpp-4.6                         - GNU C preprocessor                        
p   cpp-4.6:i386                    - GNU C preprocessor                        
p   cpp-4.7                         - GNU C preprocessor                        
p   cpp-4.7:i386                    - GNU C preprocessor                        
p   cpp-4.7-arm-linux-gnueabi       - GNU C preprocessor                        
p   cpp-4.7-arm-linux-gnueabi:i386  - GNU C preprocessor 

Következtetés

Így a legtöbb esetben az Aptitude szintaxisa majdnem ugyanaz, mint az apt-get, hogy az apt-get felhasználóinak kevesebb fájdalmat okozzanak az Aptitude-ra való átállás során. , de ezen túlmenően az Aptitude számos olyan hatékony funkciót tartalmaz, amelyek ezt teszik a megfelelővé. Az általunk kiemelt különbségeken kívül, ha bármilyen más érdekes különbséget talál a két csomagkezelő között, említse meg őket megjegyzéseiben.