Hlavní navigace

Je lepší aptitude místo apt-get nebo je to jedno?

Uživatelé různých distribucí s balíčkovacím systémem deb mají možnost spravovat software pomocí utilit apt nebo aptitude. Ve fórech se objevují obě možnosti a také lidé obhajující tu či onu možnost. Jaké má vlastně aptitude reálné výhody proti apt? Který z těchto programů je lepší používat a proč?

Tweetni to Odměnte autora  Jak to funguje?

Jak vypadá balíčkovací systém deb?

Z Debianu vychází téměř 50 % všech instalovaných linuxových systémů. Jeho balíčkovací systém tak naleznete v polovině distribucí. Jedná se o velmi sofistikovaný systém umožňující komplexní správu software v systému. Skládá se z několika samostatných částí, které na svou práci vzájemně navazují:

  • dpkg – Základní správce balíčků, umí instalovat balíčky z disku a hlídá závislosti. V případě, že závislosti nejsou splněny, jen na to umí upozornit a balíky nenainstaluje.
  • apt – Známá nadstavba nad dpkg, která dokáže sama řešit závislosti, stahovat balíčky z internetu, prohledávat repositáře a podobně. Při instalaci zjistí a stáhne vše potřebné a balíky předá k instalaci dpkg.
  • aptitude – Nadstavba nad apt, která přidává GUI a CLI rozhraní, vylepšuje řešení závislostních kolizí a zjednodušuje ovládání.
  • Synaptic – GUI náhrada za aptitude, která pracuje přímo nad apt. Používá se zejména v Ubuntu jako grafický správce balíčků.
  • a samozřejmě další nadstavby jako Adept, PackageKit, KPackage a další.

Historie balíčků

Abychom pochopili vztahy mezi těmito programy (především těmi nadstavbovými) musíme znát jejich historii: V Debianu byl původně program dselect, který vznikal kolem roku 1995 a byl dokonce součástí balíčku dpkg a byl tak nedílnou součástí samotného jádra balíčkovacího systému. Jeho algoritmy pro řešení závislostí ale nebyly ideální a proto se postupně začala hledat a vytvářet alternativa.

Na konci devadesátých let tak vznikl apt neboli Advanced Packaging Tool. Stal se součástí Debianu 2.1, který vyšel v březnu roku 1999. Postupně tak úplně vytlačil dselect a opustil textové ovládací rozhraní. Utilita apt je tak dnes čistě řádková. Dselect stále existuje, ale už není standardní součástí instalace a paradoxně se transformoval do nadstavby nad apt.

V roce 1999 pak začala vznikat další vrstva – nadstavba nad apt zvaná aptitude. Ta přinesla znovu textové rozhraní s roletkovým menu a později pak také grafické GTK rozhraní. První verze se objevila hned v dalším Debianu 2.2, který vyšel v srpnu 2000. Aptitude se postupně vylepšoval a čím dál více začleňoval do Debianu, až se v roce 2007 s vydáním Debianu 4.0 Etch stal Preferovanou aplikací pro správu balíčků z konzole pro instalaci i upgrade balíčků či systému.

Oficiálně je tedy vývojáři i dokumentací doporučováno používat aptitude. Přesto je v mnoha fórech stále ještě k vidění, že uživatelé při instalaci zůstávají u apt-get. Otázka tedy zní: proč používat aptitude a nezůstat u apt, když obojí skrze dpkg pracuje nad jednou databází balíčků?

Apt nebo aptitude?

Z čistě praktického hlediska má aptitude několik zásadních výhod. Uživatel apt běžně potřebuje několik činností: k instalaci využívá apt-get, k hledání balíčků apt-cache, k práci s klíči apt-key, pro hledání bugů pak apt-listbugs a podobně. Příkazů je samozřejmě mnohem víc: apt-cdrom, apt-config, apt-extracttemplates, apt-ftparchive, apt-mark, apt-sortpkgs, apt-listchanges, apt-rdepends a tak dále. Celkem tedy nejméně 12 příkazů pro práci s jedním balíčkovacím systémem. Aptitude tohle zvládá v jednom příkazu, vše obstarají parametry install, remove, search, show, clean a podobně.

Aptitude má také příjemnější výstup. Výsledky vyhledávání seřazuje automaticky abecedně a zobrazuje přehledně také informace o tom, které balíčky jsou nainstalované a které ne. Porovnejte:

$ apt-cache search gimp

abr2gbr - Converts PhotoShop brushes to GIMP
bleachbit - delete unnecessary files from the system
gimp-cbmplugs - plugins for The GIMP to import/export Commodore 64 files
create-resources - shared resources for use by creative applications
junior-art - Debian Jr. Art
gegl - Generic Graphics Library Test Program
libgegl-0.0-0 - Generic Graphics Library
libgegl-0.0-dev - Generic Graphics Library (development files)
libgegl-0.0-doc - Generic Graphics Library (documentation)
gimp-dcraw - GIMP plug-in for loading RAW digital photos
gimp-dds - DDS (DirectDraw Surface) plugin for the gimp
gimp-dimage-color - GIMP plugin to convert Minolta DiMAGE pictures to sRGB
gimp-help-es - Documentation for the GIMP (Spanish)
...

$ aptitude search gimp

i   gimp                            - GNU Image Manipulation Program (GNU
p   gimp-cbmplugs                   - plugins for The GIMP to import/export
i A gimp-data                       - Data files for GIMP
p   gimp-data-extras                - Extra množina štětců, palet a přechody
p   gimp-dbg                        - Debugging symbols for GIMP
p   gimp-dcraw                      - GIMP plug-in for loading RAW digital
p   gimp-dds                        - DDS (DirectDraw Surface) plugin for
p   gimp-dimage-color               - GIMP plugin to convert Minolta DiMAGE
p   gimp-gap                        - Balíček animací pro GIMP
...

Aptitude také lépe zachází s nepotřebnými balíčky. Pokud odinstalujete větší aplikaci, často vám v systému zůstanou balíčky s knihovnami, které již nejsou potřeba. Apt dříve neumožňoval takové balíčky vůbec odinstalovávat a bylo potřeba doinstalovat balík deborphan, který tuto funkčnost přidával. Od roku 2006 ale apt nabízí parametr autoremove, který prohledá databázi a nabídne k odstranění nadbytečné balíky. Aptitude tuto činnost provádí automaticky a vždy kontroluje, zda jsou všechny balíky odstraněny. V opačném případě sám nabídne jejich odinstalaci.

Velkou výhodou aptitude je také inteligentní řešení problémů se závislostmi. Program je schopen nabízet více možností, které vyřeší jeden problém. Porovnejte pokud o odinstalaci QT s apt-get a s aptitude:

# apt-get remove libqtcore4

Čtu seznamy balíků... Hotovo
Vytvářím strom závislostí
Čtu stavové informace... Hotovo
Následující balíky budou ODSTRANĚNY:
  libqca2 libqca2-plugin-ossl libqt4-assistant libqt4-dbus libqt4-designer
  libqt4-gui libqt4-network libqt4-opengl libqt4-qt3support libqt4-script
  libqt4-sql libqt4-sql-mysql libqt4-sql-sqlite libqt4-svg libqt4-xml
  libqtcore4 libqtgui4 psi python-qt4-dbus qt4-qtconfig qtpfsgui skype
  skype-call-recorder stellarium unetbootin virtualbox-3.1 vlc
0 aktualizováno, 0 nově instalováno, 27 k odstranění a 0 neaktualizováno.
Po této operaci bude na disku uvolněno 171MB.
Chcete pokračovat [Y/n]? n
Přerušeno.

# aptitude remove libqtcore4

Čtu seznamy balíků... Hotovo
Vytvářím strom závislostí
Čtu stavové informace... Hotovo
Čtu rozšířené stavové informace... Hotovo
Inicializuji stavy balíků... Hotovo
Načítám popisy úloh... Hotovo
Následující balíky budou ODSTRANĚNY:
  libqtcore4
0 balíků aktualizováno, 0 nově instalováno, 1 k odstranění a
0 neaktualizováno.
...
Následující akce vyřeší tyto závislosti:

      Odstranit následující balíky:
1)      libqca2
2)      libqca2-plugin-ossl
3)      libqt4-assistant
4)      libqt4-dbus
...

Úroveň: Bezpečné akce, Odstranění balíků (10000)

Přijmout toto řešení? [Y/n/q/?] n
Následující akce vyřeší tyto závislosti:

     Ponechat následující balíky v jejich aktuální verzi:
1)     libqtcore4 [4:4.5.3-4 (testing, now)]

Úroveň: Zrušení všech uživatelových akcí (20000)

Přijmout toto řešení? [Y/n/q/?]

Vidíte, že apt nabídl jen jednu možnost – potvrzení celé akce. Aptitude upozorní uživatele na to, že bude potřeba odstranit další balíky a pokud uživatel nesouhlasí, nabídne mu druhou možnost – ponechat balíky v původních verzích. V případě složitějších akcí dokáže aptitude automaticky navrhovat další a další možnosti.

Aptitude je také doporučován při upgrade systému na novější verzi. V takové situaci se obvykle objevuje řada problémů se závislostmi, některé balíky mění názvy nebo se třeba rozdělují do více balíčků. Algoritmus aptitude si v takto složité situaci vede lépe než starší apt.

Aptitude také standardně instaluje také doporučované balíky (je možné potlačit v konfiguraci), takže často přináší méně problémů začátečníkům. Doporučované balíky totiž bývají často velmi důležité pro konkrétní vlastnosti programů a pokud o nich nevíte, můžete se dlouho rozčilovat nad tím, proč ten či onen program nefunguje správně.

Pro mnoho uživatelů je také užitečné ncurses rozhraní aptitude. V některých případech může být jeho použití přehlednější než použití řádkového programu. Novější verze aptitude obsahují také GTK rozhraní, takže můžete změny v balíčcích jednoduše naklikat.

Tak aptitude nebo apt?

Shrnuli jsme si výhody použití aptitude proti sadě programů apt. Z uživatelského hlediska je pohodlnější a příjemnější používat aptitude. Nabízí především inteligentnější řešení problémů a všechny potřebné akce schovává do jediného příkazu. Na druhou stranu i aptitude nakonec volá apt, takže je možné oba přístupy kombinovat, přestože oficiální dokumentace upřednostňuje aptitude. Je s ním méně problémů. Co používáte vy?

Anketa

Používáte v deb distribucích apt nebo aptitude?

       

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Ohodnoťte jako ve škole:
Průměrná známka 1,95
Tweetni to Odměnte autora  Jak to funguje?

Školení: Mobile - web, aplikace nebo responsivní design?

DW - Školení použitelnosti
  • Proč vůbec řešit uživatele mobilních zařízení.
  • Jak přistupovat k návrhu a správě obsahu pro mobilní digitální produkty.
  • Pochopíte, že mobile je příležitost a ne omezení.

Chcete pro svůj byznys využit mobilní web, responsivní web nebo mobilní aplikaci? Pomůžeme vám se správně rozhodnout!

Další informace o školení Mobile - web, aplikace nebo responsivní design?

       

Přehled názorů

Apt vs. aptitude
navry 29. 3. 2010 00:31
Nový
├ 
Re: Apt vs. aptitude
Petr Vorálek 29. 3. 2010 10:53
Nový
└ 
Re: Apt vs. aptitude
PetrJ 31. 3. 2010 08:42
Nový
apt vs aptitude
Leinad 29. 3. 2010 00:33
Nový
Aptitude - ncruses
Jiří J. 29. 3. 2010 00:55
Nový
└ 
Re: Aptitude - ncruses
Praedo 29. 3. 2010 12:08
Nový
 
└ 
Re: Aptitude - ncruses
Jirka P 29. 3. 2010 15:14
Nový
 
 
└ 
Re: Aptitude - ncruses
tom 29. 3. 2010 19:39
Nový
 
 
 
└ 
Re: Aptitude - ncruses
Sten 30. 3. 2010 17:25
Nový
ArchLinuxí pacman
Harvie .cz 29. 3. 2010 01:08
Nový
├ 
Re: ArchLinuxí pacman
spam 29. 3. 2010 01:24
Nový
│
├ 
Re: ArchLinuxí pacman
Leinad 29. 3. 2010 01:54
Nový
│
├ 
Re: ArchLinuxí pacman
Murděj Uktrurný 29. 3. 2010 07:11
Nový
│
└ 
Re: ArchLinuxí pacman
koudy 30. 3. 2010 06:54
Nový
├ 
Re: ArchLinuxí pacman
Machos 29. 3. 2010 05:59
Nový
│
└ 
Re: ArchLinuxí pacman
blv 29. 3. 2010 09:12
Nový
├ 
Re: ArchLinuxí pacman
Lukas 29. 3. 2010 09:15
Nový
│
├ 
Re: ArchLinuxí pacman
martin 29. 3. 2010 10:14
Nový
│
│
└ 
Re: ArchLinuxí pacman
David Kovář 29. 3. 2010 11:26
Nový
│
└ 
Re: ArchLinuxí pacman
Jenda 29. 3. 2010 11:18
Nový
└ 
Re: ArchLinuxí pacman
broukoid 29. 3. 2010 17:35
Nový
Aptitude
iji 29. 3. 2010 02:41
Nový
Je apt rychlejší?
Murděj Uktrurný 29. 3. 2010 07:17
Nový
└ 
Re: Je apt rychlejší?
Sten 29. 3. 2010 19:23
Nový
apt vs aptitude
Thom 29. 3. 2010 07:54
Nový
mam jasno ..
Kaacz 29. 3. 2010 08:44
Nový
├ 
Re: mam jasno ..
asdfghjkl 29. 3. 2010 08:56
Nový
│
└ 
Re: mam jasno ..
asdfghjkl 29. 3. 2010 09:06
Nový
└ 
ZYpper a apt/deb?
kolotoc 29. 3. 2010 12:45
Nový
 
└ 
Re: ZYpper a apt/deb?
asdfghjkl 29. 3. 2010 12:55
Nový
 
 
└ 
Re: ZYpper a apt/deb?
kyytaM 29. 3. 2010 13:23
Nový
 
 
 
└ 
Re: ZYpper a apt/deb?
asdfghjkl 29. 3. 2010 13:36
Nový
 
 
 
 
└ 
Re: ZYpper a apt/deb?
x14 29. 3. 2010 20:44
Nový
 
 
 
 
 
└ 
Re: ZYpper a apt/deb?
Kaacz 30. 3. 2010 01:10
Nový
 
 
 
 
 
 
└ 
Re: ZYpper a apt/deb?
asdfghjkl 30. 3. 2010 07:20
Nový
 
 
 
 
 
 
 
└ 
Re: ZYpper a apt/deb?
Kaacz 30. 3. 2010 11:48
Nový
 
 
 
 
 
 
 
 
└ 
Re: ZYpper a apt/deb?
UbuntuProfessional 30. 3. 2010 12:34
Nový
 
 
 
 
 
 
 
 
 
└ 
Re: ZYpper a apt/deb?
asdfghjkl 31. 3. 2010 06:50
Nový
 
 
 
 
 
 
 
 
 
 
└ 
Re: ZYpper a apt/deb?
tomas.pruzina 11. 6. 2010 11:02
Nový
"Program je schopen nabízet více možností, které vyřeší jeden problém"
rooobertek 29. 3. 2010 08:53
Nový
├ 
Re: "Program je schopen nabízet více možností, které vyřeší jeden problém"
asdfghjkl 29. 3. 2010 09:02
Nový
│
└ 
Re: "Program je schopen nabízet více možností, které vyřeší jeden problém"
Sten 29. 3. 2010 19:25
Nový
└ 
Re: "Program je schopen nabízet více možností, které vyřeší jeden problém"
BLEK. 31. 3. 2010 13:41
Nový
Re: Je lepší aptitude místo apt-get nebo je to jedno?
Ljukee 29. 3. 2010 09:22
Nový
APT vs RPM
disorder 29. 3. 2010 09:37
Nový
└ 
Re: APT vs RPM
asdfghjkl 29. 3. 2010 09:40
Nový
 
├ 
Re: APT vs RPM
disorder 29. 3. 2010 10:01
Nový
 
│
└ 
Re: APT vs RPM
asdfghjkl 29. 3. 2010 11:59
Nový
 
│
 
└ 
Re: APT vs RPM
disorder 29. 3. 2010 13:02
Nový
 
│
 
 
├ 
Re: APT vs RPM
asdfghjkl 29. 3. 2010 13:39
Nový
 
│
 
 
│
└ 
Re: APT vs RPM
Kaacz 30. 3. 2010 00:31
Nový
 
│
 
 
└ 
Re: APT vs RPM
Jiří J. 29. 3. 2010 14:24
Nový
 
└ 
Re: APT vs RPM
Petr Krčmář 29. 3. 2010 10:01
Nový
 
 
├ 
Re: APT vs RPM
disorder 29. 3. 2010 10:10
Nový
 
 
├ 
Prave orechove
kolotoc 29. 3. 2010 12:58
Nový
 
 
├ 
Re: APT vs RPM
hrrr 29. 3. 2010 14:24
Nový
 
 
└ 
Re: APT vs RPM
Pavel M 29. 3. 2010 15:32
Nový
 
 
 
├ 
Aptitude vie hladat v popisoch
kolotoc 29. 3. 2010 16:34
Nový
 
 
 
└ 
Re: APT vs RPM
Petr Krčmář 29. 3. 2010 16:36
Nový
 
 
 
 
└ 
Re: APT vs RPM
Pavel M 29. 3. 2010 17:37
Nový
 
 
 
 
 
└ 
Re: APT vs RPM
kolotoc 29. 3. 2010 18:19
Nový
aptitude neumi preferences
pepazdepa 29. 3. 2010 09:48
Nový
├ 
Re: aptitude neumi preferences
kyytaM 29. 3. 2010 12:01
Nový
│
└ 
Re: aptitude neumi preferences
pepazdepa 29. 3. 2010 16:21
Nový
│
 
└ 
Re: aptitude neumi preferences
kyytaM 29. 3. 2010 16:45
Nový
└ 
Re: aptitude neumi preferences
Sten 29. 3. 2010 19:28
Nový
Re: Je lepší aptitude místo apt-get nebo je to jedno?
Stevko 29. 3. 2010 10:01
Nový
└ 
Re: Je lepší aptitude místo apt-get nebo je to jedno?
jiri kon 29. 3. 2010 11:45
Nový
Priklady v clanku
Tybor 29. 3. 2010 10:14
Nový
└ 
Re: Priklady v clanku
disorder 29. 3. 2010 10:21
Nový
 
├ 
Re: Priklady v clanku
Tybor 29. 3. 2010 13:22
Nový
 
│
└ 
Re: Priklady v clanku
mtd 13. 4. 2010 15:50
Nový
 
└ 
Re: Priklady v clanku
Miroslav Suchý 29. 3. 2010 14:02
Nový
 
 
└ 
Re: Priklady v clanku
disorder 29. 3. 2010 18:45
Nový
Jen několik poznámek...
D.A. Tiger 29. 3. 2010 10:29
Nový
├ 
Re: Jen několik poznámek...
asdfghjkl 29. 3. 2010 12:02
Nový
│
└ 
Re: Jen několik poznámek...
D.A. Tiger 30. 3. 2010 21:47
Nový
└ 
Re: Jen několik poznámek...
Jan Taus 29. 3. 2010 12:45
Nový
Nemám jednoznačnou odpověď do ankety
cleb 29. 3. 2010 11:07
Nový
Rychlost apt vs. aptitude
PSIkappa 29. 3. 2010 11:19
Nový
Aptitude vyhladavnie
kolotoc 29. 3. 2010 13:02
Nový
Super clanok! super diskusia!
BostX 29. 3. 2010 13:41
Nový
vyhledavani v popiskach
rob 29. 3. 2010 16:21
Nový
└ 
Re: vyhledavani v popiskach
Yontalcar 29. 3. 2010 16:36
Nový
 
└ 
Re: vyhledavani v popiskach
Petr Krčmář 29. 3. 2010 16:37
Nový
....
Rivon 29. 3. 2010 17:54
Nový
└ 
Re: ....
Plamen 30. 3. 2010 01:55
Nový
stejná databáze?
Meridius 29. 3. 2010 18:24
Nový
└ 
Re: stejná databáze?
Sten 29. 3. 2010 19:30
Nový
 
└ 
Re: stejná databáze?
Kaacz 30. 3. 2010 01:28
Nový
 
 
├ 
Re: stejná databáze?
kyytaM 30. 3. 2010 09:36
Nový
 
 
│
└ 
Re: stejná databáze?
b3tl 16. 7. 2011 20:29
Nový
 
 
├ 
Re: stejná databáze?
Rivon 30. 3. 2010 11:05
Nový
 
 
└ 
Re: stejná databáze?
Sten 30. 3. 2010 17:30
Nový
To su mi veci...
Palo M. 30. 3. 2010 11:09
Nový
└ 
Re: To su mi veci...
Kaacz 30. 3. 2010 11:53
Nový
 
└ 
Re: To su mi veci...
Palo M. 30. 3. 2010 15:48
Nový
 
 
└ 
Re: To su mi veci...
kolotoc 30. 3. 2010 17:17
Nový
 
 
 
└ 
Re: To su mi veci...
Palo M. 30. 3. 2010 18:29
Nový
 
 
 
 
└ 
Re: To su mi veci...
Kaacz 31. 3. 2010 15:52
Nový
dselect
2X4B-523P 7. 5. 2012 11:45
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem