Ich weiß dass sowohl apt-get
als auch aptitude
Befehlszeilen-Paketverwaltungsschnittstellen unter Debian-abgeleitetem Linux mit unterschiedlichen Optionen sind, aber ich bin immer noch etwas verwirrt. Verwenden sie unter der Haube nicht dasselbe APT-System?
Warum verwaltet Debian diese parallelen Tools? (Bonusfrage: Was um alles in der Welt ist wajig ?)
Kommentare
- Ich weiß, dass es nicht der richtige Antwortende für Ihre Frage ist, aber warum können Sie es nicht mit synaptisch versuchen? Es ist sehr benutzerfreundlich und lädt Abhängigkeiten automatisch herunter und installiert sie. Ist Gnome auf Ihrem System nicht vorhanden?
- Ich ‚ bin voreingenommen, aber ich denke diese Frage Die Ubuntu SE-Site ist möglicherweise relevant.
- Duplikat: unix.stackexchange.com/questions/244/apt-get-or-aptitude .
- @Wim Wegen des wajig-Teils dieser Frage habe ich beschlossen, 244 in diese Frage einzufügen, anstatt umgekehrt.
- Es ist erwähnenswert, dass die Eignung geplant ist zum Entfernen aus der Standardinstallation auf der nächsten Version von Ubuntu (obwohl Sie es später immer mit apt-get installieren können)
Antwort
Der offensichtlichste Unterschied besteht darin, dass aptitude
eine Terminalmenüschnittstelle bietet (ähnlich wie Synaptic in einem Terminal), während apt-get
nicht.
Wenn man nur die Befehlszeilenschnittstellen der einzelnen betrachtet, sind sie ziemlich ähnlich, und zum größten Teil spielt es wirklich keine Rolle, welche Sie verwenden. Neuere Versionen von beiden verfolgen, welche Pakete manuell installiert wurden und welche als Abhängigkeiten installiert wurden (und daher automatisch entfernt werden können). Tatsächlich glaube ich, dass die beiden Tools in jüngerer Zeit aktualisiert wurden, um tatsächlich dieselbe Datenbank mit manuell und automatisch installierten Paketen gemeinsam zu nutzen. In Fällen, in denen Sie etwas mit apt-get installieren und aptitude es dann deinstallieren möchte, ist dies meistens eine Sache die Vergangenheit.
Es gibt einige geringfügige Unterschiede:
- aptitude entfernt automatisch berechtigte Pakete, während apt-get einen separaten Befehl erfordert, um dies zu tun.
- The Befehle für upgrade vs. dist-upgrade wurden entsprechend den wahrscheinlich genaueren Namen safe-upgrade und full-upgrade umbenannt
.
Es gibt andere kleine Unterschiede, aber das sind die wichtigsten, die ich habe kann sich vorstellen.
Kurz gesagt, Eignung gehört besser in die Kategorie mit Synaptic und anderen übergeordneten Paketmanager-Frontends. Es gibt zufällig auch eine Befehlszeilenschnittstelle, die apt-get ähnelt.
Bonusrunde: Was ist wajig?
Denken Sie daran, wie ich diese „Begleiter“ -Tools wie apt- erwähnt habe. Cache und Apt-Mark? Nun, es gibt eine Menge von ihnen, und wenn Sie sie häufig verwenden, können Sie sich möglicherweise nicht erinnern, welche welche Befehle bereitstellen. Wajig ist eine Lösung für dieses Problem. Es ist im Wesentlichen ein Dispatcher, ein Wrapper um all diese Tools Wendet bei Bedarf auch sudo an. Wenn Sie wajig install foo
sagen, sagt wajig „Ok, install
wird von apt-get
und erfordert Administratorrechte „, und es wird sudo apt-get install foo
ausgeführt. Wenn Sie wajig search foo
sagen, sagt wajig“ Ok, search
wird von apt-cache
bereitgestellt und erfordert keine Administratorrechte „und führt apt-cache search foo
aus Verwenden Sie wajig anstelle von apt-get, apt-mark, apt-cache und anderen, dann wird dieses Problem nie auftreten:
$ apt-get search foo E: Invalid operation search
Wenn Sie möchten wissen, was wajig hinter den Kulissen tut, mit welchen Tools es einen bestimmten Befehl implementiert, es hat --simulate
und --teaching
m odes.
Zwei häufig verwendete Wajig-Befehle sind wajig listfiles foo
und wajig whichpkg /usr/bin/foo
.
Kommentare
- Ein großes Problem, das ich mit der Eignung hatte, ist, dass es lange dauert, Tabulatoren für Paketnamen zu vervollständigen (z. B.
aptitude install linux-im
tab), während es für apt-get sehr schnell ist. In der apt-get-Familie scheint ein gewisses Caching vorhanden zu sein, das für die Eignung fehlt. -
aptitude
hat auch die fantastischeaptitude search
, die Sie mit sehr leistungsfähigen Suchmustern verwenden können. Sie habenaptitude reinstall
. Sie können auch die Schnittstelle ncurses (Terminalmenü) verwenden, um komplexe Paketoperationen vorzubereiten wie ein teilweises Upgrade, ein Paket zu entfernen, ein anderes einzufrieren, dieses zu aktualisieren, das Sie dann in einem einzigen ausführen können Operation … Oh, und es gibt einen interaktiven Konfliktlöser . - @Totor Heilige Kuh unter Verwendung der Eignung ‚ s ncurses Schnittstelle zur Vorbereitung von Befehlen hat mich ein für alle Mal auf Eignung verkauft! (Nach Jahren des Denkens lohnt es sich, Aptitude zu tun, aber Apt-Get aus dem Muskelgedächtnis einzugeben.)
- … und
aptitude
haben auchaptitude download package-name
, um die Paket-.deb-Datei zu erhalten! - Es ist ‚ nur eine Sache, die ich gefunden habe, die nicht t in
aptitude
, aber inapt-get
, und das istapt-get --compile source package-name
.apt-get build-dep package-name
existiert, aber ich denke, dassaptitude build-dep package-name
einen besseren Job macht.
Antwort
Ich habe mich oft gefragt. Wikipedia hebt hervor , dass das Hauptunterscheidungsmerkmal darin besteht, dass Eignung eine hat Vollbild-Textmodus-Schnittstelle (Flüche). Die Tatsache, dass Sie die meisten apt-get
Befehlsargumente mit aptitude
selbst verwenden können, ist nur eine Entwurfsentscheidung um apt-get
Benutzern das Wechseln zu aptitude
und umgekehrt zu erleichtern.
Ich habe es nie verwendet wajig
, aber die Dokumentation legt nahe, dass es sich nur um ein Skript handelt, das weiß, ob Sie ihm eine deb
-Datei übergeben (wenn es ausgeführt wird) dpkg
) oder ein apt
-Paketname (wenn stattdessen apt-get
ausgeführt wird). Könnten Sie es ausprobieren und sehen, ob es das ist, was es tut?
Natürlich ist der echte Unterschied:
gaurav@fern:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... gaurav@fern:~$ aptitude moo There are no Easter Eggs in this program.
Kommentare
- Nein!
aptitude
hat mehr. Sie haben vergessen, die endlosen-v
-Flaggen aufmoo
zu setzen. (Sie können bis zu-vvvvvv
gehen.) - ‚ Vergessen Sie nicht die wichtigen Super Cow Powers, die
apt-get
hat, aberaptitude
nicht. (Versuchen Sie--help
auf beiden) - lmao. Das ist eine unterhaltsame Antwort zum Lesen, obwohl die Antwort von @ryan ‚ weitaus ausführlicher ist;)
Antwort
aptitude ist das bevorzugte Programm für die Paketverwaltung von der Konsole aus, sowohl für Paketinstallationen als auch für Paket- oder System-Upgrades in Debian.
Hier finden Sie eine Übersicht über das Tool und Die Funktionen, die es über apt-get hat: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Also, mein Rat ist zu einfach apt-get install aptitude 🙂
Kommentare
- Die Versionshinweise Angenommen, apt-get wird jetzt über aptitude für Upgrades zum Drücken empfohlen.
- Ja, aber nur dafür. Andernfalls werden sie als gleich angesehen, aber
aptitude
verfügt über viele erweiterte Funktionen wie Such- und Vollbildmodus alsapt-get
. - Aus irgendeinem Grund wurde Eignung verwendet, um Emacs zu installieren und ohne es zu sehen, entfernte gdm! Im Moment werde ich apt-get verwenden, bin aber sehr neugierig auf Eignung.
Antwort
aptitude
merkt sich, welche Pakete explizit angefordert und welche nur aufgrund von Abhängigkeiten installiert wurden. Pakete, die nicht explizit angefordert wurden, wenn sie nicht mehr benötigt werden, werden automatisch deinstalliert.
apt-get
behandelt explizit angeforderte Pakete und ihre Abhängigkeiten gleich.
Verwenden Sie also besser aptitude
, um Ihr System sauber zu halten.
Kommentare
- Dies war früher der Fall, aber ich weiß, dass mein apt-get einen
apt-get autoremove
-Befehl zum Entfernen von Paketen hat, die nur als Abhängigkeiten installiert wurden. Ich ‚ weiß nicht, wann diese Funktion hinzugefügt wurde, aber eine Website schlägt vor, dass dies möglicherweise mit Debian Lenny (Juni 2010) geschehen ist. -
apt-get autoremove
‚ entfernt keine Pakete, die nur als Abhängigkeiten installiert wurden, sondern verwaiste Abhängigkeiten, was ein subtiler Unterschied ist ;; ‚ kann nicht sagen, ob ein ‚ leaf ‚ -Paket mit Absicht oder als installiert wurde eine Abhängigkeit, damit sie es verlässt, wo die Eignung sie kennen und entfernen würde. - Ich ‚ bin verkauft! Es gibt noch andere nette Dinge über
aptitude
, aber dies ist zweifellos eine Killer-Funktion.
Antwort
apt-get
sowie die verschiedenen Begleittools verbrauchen deutlich weniger Speicher als die jeweiligen Befehlszeilenaufrufe von aptitude
und sind etwas schneller. Ich war mir dessen glücklicherweise nicht bewusst, bis ich versuchte, die Debian-Installation auf einem alten Pentium-Thinkpad mit 32 MB RAM zu aktualisieren. Es würde ein oder zwei Stunden dauern, bis apt-get
ausgeführt wurde, was erfolgreich abgeschlossen wurde. aptitude
würde nach einem längeren Zeitraum fehlschlagen.
Diese Unterscheidung ist für alles, was einem modernen Desktop-System ähnelt, mehr oder weniger irrelevant.
Antwort
Aufbauend auf der Antwort von @Gaurav sind die Ostereier in den beiden Paketmanagern ziemlich lustig!:
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.
und so weiter.
Antwort
Sie bieten die gleiche Grundfunktionalität: Installieren und Entfernen von Paketen über die Befehlszeile.
Hier ist ein detaillierterer Vergleich, der auf der Ubuntu Stack Exchange-Website : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749
Kommentare
- Sie sind ziemlich ähnlich, ich kann einfach genug zwischen ihnen wechseln.
Antwort
Wie bereits erwähnt, http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude
hat einen Schleim h Einfachere Verwendung der Befehlszeilenschnittstelle.
Verwenden sie unter der Haube nicht dasselbe APT-System? Ja.
Das zugrunde liegende System ist nicht nur apt
, sondern dpkg
. Dieses System ist genauso dumm wie RPM, es kann nur die Installation und Verwaltung einzelner Pakete übernehmen. Es verfolgt, welche installierten Dateien zu welchem Paket gehören.
apt
übernimmt das Herunterladen von Repositorys, das Verfolgen von Abhängigkeiten usw. für alle einzelnen Pakete – und das dann Installiert mit dpkg
. aptitude
macht dasselbe mit einer anderen Schnittstelle.
Antwort
Beide apt -get und Eignung hängen von der APT-Bibliothek ab, ja.
Siehe meine Antwort auf serverfault.com .
Debian ist keine monolithische Einheit, es gibt Menschen mit unterschiedlichen Meinungen und der Eignungspfleger entschied, dass apt-get einige Mängel hatte und mit Eignung etwas Besseres bauen wollte. Er verbesserte die Logik, um Lösungen für komplexe Upgrade-Szenarien zu finden, fügte eine GUI für die Konsole hinzu usw. Und es gibt mehr als nur apt-get und aptitude, siehe meinen Artikel apt -get, aptitude, … wähle den richtigen Paketmanager für dich aus .
Antwort
Ich bin mir nicht sicher Wenn dies immer noch zutrifft, aber der neueste Debian-Entwickler Joey Hess immer für Eignung gegenüber Apt-Get eintrat. Natürlich müssen sich die Dinge ändern, wenn sich die Software weiterentwickelt. Apt-get behandelt Abhängigkeiten jetzt besser als früher. Von http://lists.debian.org/debian-user/2004/04/msg03138.html
Datum: Di, 20. April 2004, 22:27:12 -0400 Von: Joey Hess
Neun Gründe, warum Sie aptitude anstelle von apt-get oder dselect verwenden sollten.
-
aptitude kann genauso aussehen wie apt-get
Wenn Sie „aptitude update“ oder „aptitude upgrade“ oder „aptitude install“ ausführen, sieht es genauso aus und funktioniert genauso wie apt-get, mit einigen Verbesserungen. Es gibt also keine Lernkurve.
(Wenn Sie ein ausgewählter Benutzer sind, ist die Lernkurve offensichtlich nicht eines Ihrer Probleme.)
-
Eignungsspuren automatisch installierte Pakete
Machen Sie sich keine Gedanken mehr über das Entfernen nicht verwendeter Bibliotheken und Support-Pakete von Ihrem System. Wenn Sie die Fähigkeit verwenden, alles zu installieren, wird verfolgt, welche Pakete allein durch Abhängigkeiten abgerufen werden, und diese Pakete wann entfernt Sie werden nicht mehr benötigt.
-
Eignung behandelt Empfehlungen mit Bedacht
Ein langjähriger Fehler von Apt-Get war die mangelnde Unterstützung für die Empfehlungsbeziehung Dies ist ein Problem, da viele Pakete in Debian auf Empfehlungen angewiesen sind, Software zu verwenden, die der durchschnittliche Benutzer im Allgemeinen mit dem Paket verwendet. Dies ist eine nicht ungewöhnliche Ursache für Probleme, obwohl apt-get kürzlich in der Lage war, zumindest empfohlene Pakete zu erwähnen Es ist leicht, seine Warnungen zu übersehen.
Aptitude unterstützt standardmäßig Empfehlungen und kann so konfiguriert werden, dass auch Vorschläge unterstützt werden. Es unterstützt sogar die Installation empfohlener Pakete, wenn diese im Befehlszeilenmodus verwendet werden.
-
Verwenden Sie aptitude als normalen Benutzer und vermeiden Sie das Abspritzen Ihres Systems.
Vielleicht haben Sie es nicht getan. “ Ich weiß nicht, dass Sie aptitude im GUI-Modus als normaler Benutzer ausführen können. Nehmen Sie alle Änderungen vor, die Sie ausprobieren möchten. Wenn Sie in ein echtes Chaos geraten, können Sie „q“ drücken und beenden, Ihre Änderungen werden nicht gespeichert. (Mit Aptitude können Sie auch Änderungen mit Strg-u rückgängig machen.) Da es als normaler Benutzer ausgeführt wird, können Sie Ihr System erst dann abspritzen, wenn Sie aptitude anweisen, etwas zu tun. An diesem Punkt werden Sie zur Eingabe Ihres Root-Passworts aufgefordert.
-
aptitude verfügt über eine leistungsstarke Benutzeroberfläche und Suchfunktionen
Zwischen dem kategorialen Browser von aptitude und seiner hervorragenden Unterstützung für das Filtern und Suchen von Paketen nach Namen im Mutt-Stil. Beschreibung, Betreuer, Abhängigkeiten usw. Mit aptitude sollten Sie Pakete schneller als je zuvor finden können.
-
aptitude erleichtert das Verfolgen veralteter Software
Wenn Debian die Verteilung eines Pakets beendet, lässt apt es auf unbestimmte Zeit auf Ihrem System, ohne Warnungen und ohne Upgrades. Aptitude listet solche Pakete im Abschnitt „Veraltete und lokal erstellte Pakete“ auf, damit Sie über das Problem informiert werden und etwas dagegen unternehmen können.
-
aptitude verfügt über eine Schnittstelle zum Debian Task-System
Mit Aptitude können Sie das Task-System von Debian so verwenden, wie es verwendet werden soll. Sie können die verfügbaren Aufgaben durchsuchen, eine zu installierende Aufgabe auswählen, sie durchsuchen und Teile von abwählen die Aufgabe, die Sie nicht wollen. apt-get unterstützt keine Aufgaben und aptitude ist sogar besser als spezielle Tools wie tasksel.
-
aptitude unterstützt mehrere Quellen
Wenn Ihre Quellen. list ist so konfiguriert, dass mehrere Versionen eines Pakets verfügbar sind. Mit aptitude können Sie einen Drilldown durchführen, um die verfügbaren Versionen anzuzeigen und eine nicht standardmäßige Version für die Installation auszuwählen. Wenn ein Paket instabil wird, setzen Sie es beim Testen einfach auf die Version zurück.
-
aptitude protokolliert seine Aktionen
Aptitude protokolliert das installierte Paket, aktualisiert, und wird nach / varlog / aptitude entfernt. Dies kann hilfreich sein, um herauszufinden, warum nach dem gestrigen Upgrade oder beim Entfernen eines partiticlar-Pakets Probleme aufgetreten sind.
– siehe schüchtern jo
==================== ab 2010 gibt es hier auch eine neuere Diskussion https://superuser.com/questions/93437/aptitude-vs-apt-get-which-is-the-recommended-aka-the-right-tool-to-use bei StackExchange.