0185: APT versus Aptitude1. Einblick in die Zusammenhänge der Paketverwaltung auf Debian-SystemenEbene 1: "dpkg"
Der Kern der Paketverwaltung auf Debian-Systemen ist "dpkg". Es gibt zu "dpkg" folgende Wikipedia-Artikel: Wenn Sie auf Internet-losen Rechnern Software nachinstallieren wollen, und sich die gewünschte Software weder auf vorhandenen Installationsmedien (CD, DVD, Blu-ray) noch in lokalen Debian-Repositorys befindet, dann ist "dpkg" das einzige verfügbare Mittel, um Software (z.B. Adobe Reader, XV, Java, Opera, Google Chrome, LaTeX2HTML, VirtualBox OSE) nachinstallieren zu können. Ebene 2a: "APT"
Debian ist deshalb ein empfehlenswertes Betriebssystem, weil es eine riesige Auswahl an Software auf den Installationsmedien (CD, DVD, Blu-ray) enthält. Zwar ist diese Software-Sammlung nicht vollständig, aber im Wesentlichen lässt sich damit ganz gut arbeiten. Software, die sich auf den Installationsmedien oder auf lokalen Debian-Repositorys befindet, können Sie prinzipiell zwar auch mit "dpkg" nachinstallieren, aber empfehlenswert ist das nicht, weil "dpkg" sich nicht um die Auflösung der Abhängigkeiten kümmert, die zwischen den einzelnen Software-Paketen existieren. Sie müssten also selbst genau wissen, welche Pakete Sie sonst noch installieren müssten, damit das frisch per "dpkg" installierte Paket "XYZ" tatsächlich läuft. Es gibt das "Advanced Packaging Tool" (die Abkürzung lautet "APT"), das Ihnen die Installation von Software ermöglicht und dabei gleichzeitig selbst das Auflösen von Abhängigkeiten zwischen Software-Paketen durchführt. "APT" ist ein Paketverwaltungssystem, das auf dpgk aufsetzt. Es nutzt also selbst "dpkg" als "Backend" und ist aus der Sicht von "dpkg" somit ein "Frontend". "APT" stellt dem Anwender als Kommandozeilen-Schnittstelle die Befehle "apt-get" und "apt-cache" zur Verfügung. Mehr Informationen zu "APT" gibt es hier:
Ebene 2b: Andere "dpkg"-Frontends
Andere "dpkg"-Frontends sind laut deutscher Wikipedia die folgenden zu APT alternativen Programme:
Ebene 3: APT-Frontends
Die APT-Kommandos (unter anderem "apt-get" und "apt-cache") sind an sich zwar ganz praktisch, aber einige Zeitgenossen empfanden sie offenbar als zu spartanisch. So entstanden im Laufe der Zeit verschiedene Programme, die ihrerseits ein Frontend darstellen und als Backend "APT" nutzen. Es gibt eine recht lange Liste an Fontends für APT. Eine Auswahl davon sind die folgenden Programme: Synaptic ist ein grafisches Frontend. Das Programm nutzt dabei echte Pixelgrafik, und es benötigt daher einen X-Server, damit es läuft. Als ich es entdeckte, machte es einen sehr guten Eindruck auf mich. Ich hatte es allerdings sehr spät entdeckt. Was mich davon abhält, "Synaptic" zu benutzen, ist die Tatsache, dass grafische Anwendungen an sich ziemlich umständlich in der Handhabung sind, wenn es darum geht, die Nachinstallation von Software in Shell-Skripten zu automatisieren oder in Anleitungen zu erklären. Der Kommandozeilen-Modus mit den Befehlen "apt-cache" und "apt-get" hat den unschlagbaren Vorteil, dass man damit alle Installationsschritte diverser Software einfach dokumentieren kann (weil es Kommandozeilenbefehle sind, die sich einfach per Copy-and-Paste reproduzieren lassen), was dazu führt, dass mehrere Installationen (nach ein und derselben Anleitung) immer die gleichen Resultate liefern. Es ist recht umständlich zu schreiben, "Klicken Sie da, dann da, dann da, suchen Sie in dieser Liste nach XYZ, dann in der nächsten Liste nach ABC und klicken Sie dann auf 'Installieren'", oder ob ich einfach schreibe "apt-get install ABC". In der täglichen Praxis ist die letztgenannte Alternative der grafischen Alternative haushoch überlegen. Synaptic ist deshalb ein schickes Werkzeug, das in der Praxis eher für Anfänger geeignet ist, aber nicht für Profis. Aptitude ist ein Frontend, das sowohl im Textgrafik-Modus als auch im Kommandozeilen-Modus verwendet werden kann. Der Textgrafik-Modus benutzt dabei keine echte Pixelgrafik, sondern auf ncurses basierende Textgrafik, so dass das Programm ohne X-Server läuft. Als ich Aptitude entdeckte, fand ich genau diesen Textgrafik-Modus vor. Den Kommandozeilen-Modus kannte ich damals gar nicht. Mein Eindruck von Aptitude war schlecht. Wenn ich mich daran erinnere, was für super-intuitive Software ich zu DOS-Zeiten in Pascal im Text-Modus programmieren konnte (ich brauchte dafür keine aufwändige Pixelgrafik), und dann einen Murks wie Aptitude präsentiert bekomme, den ein Anfänger wohl kaum auf Anhieb verstehen kann, dann ist nach ein paar Stunden Beschäftigung mit dieser Software zumindest für mich klar: Finger weg davon, denn das hat keinen Sinn. Es gibt "apt-get", und das ist ausreichend. Aptitude läuft tatsächlich aber nicht nur im Textgrafik-Modus, sondern auch im Kommandozeilen-Modus. Als Alternative zu den Befehlen apt-cache search abcdefghij apt-get install abcdefghij können nun eben auch die Befehle aptitude search abcdefghij aptitude install abcdefghij verwendet werden. Trotz der Möglichkeit, Aptitude im Kommandozeilen-Modus zu verwenden, ist Aptitude immer noch ein Frontend, welches "APT" als Backend nutzt. 2. Offizielle Empfehlung für die Arbeit im Kommandozeilen-ModusNach einigem Hin und Her zu Lenny-Zeiten (Offline-Link / Online-Link), ist seit Debian Squeeze an dieser Front wieder Ruhe eingekehrt: Alles bleibt so, wie es ist! Die offizielle Empfehlung lautet: "apt-get"! Lenny
Zu Lenny-Zeiten war die Debian-Dokumentation zu dem Thema sehr schwammig, und es wurde dort uneingeschraenkt "aptitude" empfohlen. Quelle: apt-get install debian-reference-en apt-get install debian-reference-de apt-get install debian-reference-common file:///usr/share/doc/debian-reference-common/html/debian-reference.en.html#debianpackagemanagement Zitat: Currently, we recommend aptitude as the main front end program for the Debian package management activity. Squeeze
Die Squeeze-Dokumentation enthält an gleicher Stelle nun eine sehr viel genauere Empfehlung. Und diese Empfehlung lautet eindeutig "apt-get". Quelle: http://www.debian.org/doc/manuals/debian-reference/ch02.en.html Zitat: Currently, we recommend the following. * apt-get(8) for all commandline operations, including package installation and removal, and dist-upgrades. * aptitude(8) for an interactive text interface to manage the installed packages and to search the available packages. * update-manager(8) for keeping your system up-to-date if you're running the default GNOME desktop. Meine Empfehlung
Da es grundsätzlich besser ist, auf eine unnötige Schicht zu verzichten, wenn sie keinen besonderen Mehrwert bringt, bleibt nun alles beim Alten. Ich werde, wie Debian Squeeze auch, "apt-get" empfehlen. 3. Vergleich der alltäglichen Befehle APT versus AptitudeDie Syntax der Befehle unterscheidet sich nur geringfügig:
|