vím že apt-get
a aptitude
jsou rozhraní pro správu balíků příkazového řádku v systému Linux odvozeném od Debianu, s různými možnostmi, ale stále jsem poněkud zmatený. Nepoužívají pod kapotou stejný systém APT?
Proč Debian udržuje tyto paralelní nástroje? (Bonusová otázka: co je na Zemi wajig ?)
Komentáře
- Vím, že to není správný odpověď na vaši otázku, ale proč nemůžete zkusit synaptický? je velmi uživatelský a automaticky stahuje a instaluje závislosti. Není ve vašem systému gnome?
- Jsem ‚ m zaujatý, ale myslím si, že tuto otázku web Ubuntu SE může být relevantní.
- duplikát: unix.stackexchange.com/questions/244/apt-get-or-aptitude .
- @Wim kvůli wajigové části této otázky jsem se rozhodl sloučit 244 do této otázky namísto obráceně
- Stojí za zmínku, že aptitude je kritizovaný pro odstranění z výchozí instalace na další verzi Ubuntu (i když ji můžete vždy nainstalovat pomocí apt-get)
Odpovědět
Nejviditelnější rozdíl je v tom, že aptitude
poskytuje rozhraní nabídky terminálu (podobně jako Synaptic v terminálu), zatímco apt-get
ne.
Vezmeme-li v úvahu pouze rozhraní příkazového řádku, jsou si velmi podobná a většinou nezáleží na tom, které používáte. Poslední verze obou budou sledovat, které balíčky byly nainstalovány ručně a které byly nainstalovány jako závislosti (a tedy způsobilé k automatickému odebrání). Ve skutečnosti se domnívám, že ještě nedávno byly tyto dva nástroje aktualizovány, aby skutečně sdílely stejnou databázi ručně vs. automaticky nainstalovaných balíčků, takže případy, kdy něco nainstalujete pomocí apt-get a poté to aptitude chce odinstalovat, jsou většinou věcí minulost.
Existuje několik drobných rozdílů:
- aptitude automaticky odebere způsobilé balíčky, zatímco apt-get k tomu vyžaduje samostatný příkaz
- příkazy pro upgrade vs. dist-upgrade byly v aptitude přejmenovány na pravděpodobně přesnější názvy safe-upgrade a full-upgrade respektive.
- aptitude ve skutečnosti plní nejen funkce apt-get, ale také některé z jejích doprovodných nástrojů, jako je apt-cache a apt-mark.
- aptitude má mírně odlišnou syntaxi dotazu pro vyhledávání (ve srovnání s apt-cache)
- aptitude má příkazy proč a proč ne které ručně nainstalované balíčky zabraňují akci, kterou možná budete chtít provést.
- Pokud akce (instalace, odebrání, aktualizace balíčků), které chcete provést, způsobují konflikty, aptitude může navrhnout několik možných řešení. apt-get řekne „Je mi líto, Davide, nemůžu ti to dovolit.“
Existují i další malé rozdíly, ale ty jsou nejdůležitější, které může myslet.
Stručně řečeno, aptitude přesněji patří do kategorie se Synaptic a dalšími rozhraními správce balíčků vyšší úrovně. Stává se, že má také rozhraní příkazového řádku, které se podobá apt-get.
Bonus Round: Co je to wajig?
Pamatujete si, jak jsem zmínil ty „doprovodné“ nástroje jako apt- cache a apt-mark? No, je jich spousta a pokud je hodně používáte, možná si nebudete pamatovat, které příkazy poskytují. Wajig je jedním z řešení tohoto problému. Je to v podstatě dispečer, obal všech těchto nástrojů. v případě potřeby také použije sudo. Když řeknete wajig install foo
, wajig řekne „Ok, install
poskytuje apt-get
a vyžaduje oprávnění administrátora, „a běží sudo apt-get install foo
. Když řeknete wajig search foo
, wajig řekne:“ Ok, search
poskytuje apt-cache
a nevyžaduje oprávnění správce, „a běží apt-cache search foo
. Pokud použijte wajig místo apt-get, apt-mark, apt-cache a dalších, pak „tento problém nikdy nebudete mít:
$ apt-get search foo E: Invalid operation search
Pokud chcete vědět, co dělá wajig v zákulisí, jaké nástroje používá k implementaci konkrétního příkazu, má --simulate
a --teaching
m ódy.
Dva příkazy wajig, které často používám, jsou wajig listfiles foo
a wajig whichpkg /usr/bin/foo
.
Komentáře
- Jedním velkým problémem, který jsem s aptitude měl, je to, že získání názvů balíčků trvá dlouho (např.
aptitude install linux-im
), zatímco pro apt-get je velmi rychlý. Zdá se, že v rodině apt-get existuje nějaké ukládání do mezipaměti, které pro aptitude chybí. -
aptitude
mají také úžasnéaptitude search
které můžete použít s velmi výkonnými vyhledávacími vzory . Máteaptitude reinstall
. Rozhraní ncurses (nabídka terminálu) můžete také použít k přípravě komplexních operací s balíčky , jako je částečný upgrade, odebrání jednoho balíčku, zmrazení dalšího, upgrade tohoto, který pak můžete spustit v jediném operace … A má interaktivní řešení konfliktů . - @Totor svatá kráva, pomocí aptitude ‚ s ncurses rozhraní pro přípravu příkazů mě právě jednou prodalo na aptitude! (po letech přemýšlení stojí za to udělat aptitude, ale psaní apt-get ze svalové paměti)
- … a
aptitude
má takéaptitude download package-name
získat soubor .deb balíčku! - Je to ‚ jen jedna věc, kterou jsem zjistil, že není ‚ t v
aptitude
, ale jsou vapt-get
, a to jeapt-get --compile source package-name
.apt-get build-dep package-name
existují, ale myslím si, žeaptitude build-dep package-name
odvede lepší práci.
odpověď
Často jsem se sám sebe divil. Wikipedia zdůrazňuje , že hlavním rozlišovacím znakem je, že aptitude má rozhraní na celou obrazovku v textovém režimu (kletby). Skutečnost, že většinu argumentů příkazu apt-get
můžete použít se samotným aptitude
, je pouze návrhovým rozhodnutím. usnadnit uživatelům apt-get
přechod na aptitude
a naopak.
Nikdy jsem nepoužíval wajig
, ale dokumentace naznačuje, že je to jen skript, který ví, zda jej předáváte deb
soubor (když se spustí dpkg
) nebo apt
název balíčku (pokud je místo toho spuštěn apt-get
). Můžete to vyzkoušet a zjistit, jestli to tak je?
Rozdíl skutečný je samozřejmě:
gaurav@fern:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... gaurav@fern:~$ aptitude moo There are no Easter Eggs in this program.
Komentáře
- Ne!
aptitude
má více. Zapomněli jste umístit nekonečné-v
příznaky domoo
. (Můžete přejít-vvvvvv
) - Nezapomeňte na všechny důležité Super Cow Powers, které
apt-get
má, aleaptitude
nikoli. (Zkuste--help
na obou) - lmao. to je zábavná odpověď ke čtení, i když odpověď @ryan ‚ je mnohem komplikovanější;)
odpověď
aptitude je upřednostňovaný program pro správu balíků z konzoly jak pro instalaci balíků, tak pro upgrade balíků nebo systémů v Debianu.
Zde je přehled nástroje a funkce, které má přes apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Takže moje rada je stačí apt-get install aptitude 🙂
Komentáře
- Poznámky k verzi řekněme, že apt-get je nyní doporučován přes aptitude, aby se aktualizace mohly zmáčknout.
- Ano, ale pouze za to. Jinak jsou považovány za rovnocenné, ale
aptitude
má mnohem pokročilejší funkce, jako je režim vyhledávání a režim celé obrazovky, nežapt-get
. - Z nějakého důvodu použil aptitude k instalaci emacs a bez toho, aby to vypadalo, odstranil gdm! Zatím tedy budu používat apt-get, ale jsem velmi zvědavý na aptitude.
Odpověď
aptitude
si pamatuje, které balíčky byly výslovně požadovány a které byly nainstalovány pouze kvůli závislostem. Automaticky odinstaluje balíčky, které nebyly výslovně požadovány, když již nejsou potřeba.
apt-get
zachází s balíčky, které jsou výslovně požadovány, a jejich závislosti jsou stejné.
Takže lépe používejte aptitude
, což pomáhá udržovat váš systém čistý.
Komentáře
- To dříve platilo, ale vím, že můj apt-get má příkaz
apt-get autoremove
pro odebrání balíčků nainstalovaných pouze jako závislosti. Nevím ‚ kdy byla tato funkce přidána, ale jeden web naznačuje, že se to mohlo stát s Debianem Lenny (červen 2010). -
apt-get autoremove
neodstraní ‚ t odebrané balíčky nainstalované pouze jako závislosti, odstraní osiřelé závislosti, což je jemný rozdíl ; nedokáže ‚ zjistit, zda byl balíček ‚ leaf ‚ nainstalován se záměrem nebo jako závislost, takže ji nechává, kde by ji aptitude věděl a odstranil. - Prodal jsem ‚! O
aptitude
existují i další pěkné věci, ale toto je praktická funkce zabijáka.
Odpovědět
apt-get
a různé doprovodné nástroje používají podstatně méně paměti než příslušné vyvolání příkazového řádku aptitude
a jsou o něco rychlejší. Blaženě jsem si toho nebyl vědom, dokud jsem se nepokusil upgradovat instalaci debian na starém starém pentiovém thinkpadu s 32 MB RAM. Spuštění apt-get
, které bylo úspěšně dokončeno, by trvalo hodinu nebo dvě výměny swapů; aptitude
by selhal, když si myslím, že delší dobu.
Tento rozdíl je víceméně irelevantní u čehokoli, co se podobá modernímu desktopovému systému.
Odpověď
V návaznosti na odpověď @Gaurav jsou velikonoční vajíčka ve dvou správcích balíčků docela zábavná !:
siddhartha@siddhartha-dev:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... siddhartha@siddhartha-dev:~$ aptitude moo There are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -v moo There really are no Easter Eggs in this program. siddhartha@siddhartha-dev:~$ aptitude -vv moo Didn"t I already tell you that there are no Easter Eggs in this program? siddhartha@siddhartha-dev:~$ aptitude -vvv moo Stop it! siddhartha@siddhartha-dev:~$ aptitude -vvvv moo Okay, okay, if I give you an Easter Egg, will you go away? siddhartha@siddhartha-dev:~$ aptitude -vvvvv moo All right, you win. /----\ -------/ \ / \ / | -----------------/ --------\ ---------------------------------------------- siddhartha@siddhartha-dev:~$ aptitude -vvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course. siddhartha@siddhartha-dev:~$ aptitude -vvvvvvvv moo What is it? It"s an elephant being eaten by a snake, of course.
atd.
Odpověď
Nabízejí stejné základní funkce: nainstalujte a odeberte balíčky z příkazového řádku.
Zde je podrobnější srovnání zveřejněné na Web Ubuntu Stack Exchange : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749
Komentáře
- Jsou si docela podobné, mohu mezi nimi snadno přepínat.
Odpovědět
Jak již bylo zmíněno, http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude
má muc h jednodušší použití rozhraní příkazového řádku.
Pod kapotou nepoužívají stejný systém APT? Ano.
Základní systém není jen apt
, ale dpkg
. Tento systém je stejně hloupý jako RPM, zvládne pouze instalaci a správu jednotlivých balíčků. Sleduje, které nainstalované soubory patří ke kterému balíčku.
apt
zpracovává stahování úložišť, sledování závislostí atd. Pro všechny jednotlivé balíčky – které pak se nainstaluje pomocí dpkg
. aptitude
dělá totéž s jiným rozhraním.
Odpovědět
Oba výstižné -get a aptitude závisí na knihovně APT, ano.
Viz moje odpověď na serverfault.com .
Debian není monolitická entita, existují lidé s různými názory a správce aptitude se rozhodl, že apt-get má nějaké nedostatky a chce pomocí aptitude vytvořit něco lepšího. Vylepšil logiku, aby našel řešení pro složité scénáře upgradu, přidal grafické uživatelské rozhraní pro konzolu atd. A existuje více než jen apt-get a aptitude, viz můj článek apt -get, aptitude, … vyberte si správného správce balíčků .
Odpovědět
Nejsem si jistý pokud to stále platí, ale krvácející hrana, kterou vývojář Debianu Joey Hess vždy obhajoval aptitude nad apt-get. Samozřejmě věci, které se mají měnit s vývojem softwaru. Apt-get nyní zpracovává závislosti lépe než dříve. Od http://lists.debian.org/debian-user/2004/04/msg03138.html
Datum: Úterý, 20. dubna 2004 22:27:12 -0400 Od: Joey Hess
Devět důvodů, proč byste měli používat aptitude místo apt-get nebo dselect.
-
aptitude může vypadat jako apt-get
Pokud spustíte „aptitude update“ nebo „aptitude upgrade“ nebo „aptitude install“, vypadá a funguje stejně jako apt-get s několika vylepšeními. Neexistuje tedy žádná křivka učení.
(Pokud jste uživatelem dselect, křivka učení zjevně není jedním z vašich problémů.)
-
stopy aptitude automaticky nainstalované balíčky
Přestaňte si dělat starosti s prořezáváním nepoužívaných knihoven a podpůrných balíků z vašeho systému. Pokud používáte aptitude k instalaci všeho, bude sledovat, jaké balíčky jsou stahovány pouze závislostmi, a tyto balíčky odebrat již nejsou potřeba.
-
aptitude sanely handles doporučuje
Dlouhodobým selháním apt-get byla jeho nedostatečná podpora vztahu Doporučuje . Což je problém, protože mnoho balíčků v Debianu spoléhá na Doporučuje stahovat software, který běžný uživatel s balíčkem obvykle používá. To není neobvyklá příčina potíží, přestože apt-get nedávno dokázal zmínit alespoň doporučené balíčky , je snadné přehlédnout jeho varování.
Aptitude podporuje Doporučuje se ve výchozím nastavení a lze jej nakonfigurovat tak, aby podporoval také návrhy. Dokonce podporuje instalaci doporučených balíčků při použití v režimu příkazového řádku.
-
Používejte aptitude jako běžný uživatel a vyhněte se hadici systému
Možná jste neudělali “ Nevíte, že aptitude můžete spustit v režimu gui jako běžný uživatel. Proveďte jakékoli změny, které byste chtěli vyzkoušet. Pokud se dostanete do skutečného nepořádku, můžete stisknout „q“ a ukončit, změny se neuloží. (Aptitude vám také umožňuje použít ctrl-u k vrácení změn.) Protože běží jako normální uživatel, nemůžete systém hadicí hadicí, dokud neřeknete aptitude, abyste něco udělali, a poté vás vyzve k zadání hesla root.
-
aptitude má výkonné uživatelské rozhraní a možnosti vyhledávání
Mezi kategorickým prohlížečem aptitude a jeho skvělou podporou filtrování podle stylu mutt a vyhledávání balíků podle názvu, popis, správce, závislosti atd., pomocí aptitude byste měli být schopni najít balíčky rychleji než kdykoli předtím.
-
aptitude usnadňuje sledování zastaralého softwaru
Pokud Debian přestane distribuovat balíček, apt jej ponechá ve vašem systému na dobu neurčitou, bez varování a bez upgradů. Aptitude uvádí tyto balíčky v sekci „Zastaralé a lokálně vytvořené balíčky“, takže můžete být informováni o problému a něco s ním dělat.
-
aptitude má rozhraní k Debianu systém úkolů
Aptitude vám umožňuje používat systém úkolů Debianu tak, jak byl navržen pro použití. Můžete procházet dostupné úlohy, vybrat úlohu pro instalaci, poté do ní kopat a zrušit výběr částí úkol, který nechcete. apt-get nemá žádnou podporu pro úkoly a aptitude je lepší než nástroje pro speciální účely, jako je taskel.
-
aptitude podporuje více zdrojů
Pokud vaše zdroje. seznam je nakonfigurován tak, aby zpřístupňoval více verzí balíčku, aptitude vám umožní podrobně zobrazit dostupné verze a vybrat jinou než výchozí verzi k instalaci. Pokud se balíček rozpadne na nestabilní, stačí jej vrátit zpět na testovanou verzi.
-
aptitude protokoluje své akce
Aptitude logs balíček, který instaluje, upgraduje, a odstraní do / varlog / aptitude, což může být užitečné pro řešení, proč se věci začaly lámat po včerejším upgradu, nebo když jste odebrali partiticlar balíček.
– viz plachý jo
==================== zde je také novější diskuse od roku 2010 zde https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use na StackExchange.