Das Debian-Programm Apt vereinfacht als Nachfolger des komplexeren Apt-get die Installation und Pflege von DEB-Paketen auf der Kommandozeile.
Seit der Veröffentlichung von Debian 8 “Jessie” und Ubuntu 16.04 “Xenial Xerus” kommen alle Anwender in den Genuss des vereinfachten Befehlssatzes von APT [1]. Die Abkürzung steht für Advanced Packaging Tool, wohinter sich das Frontend für Dpkg [2] verbirgt, den Debian Package Manager. Wer heute aber zu einem apt update in Foren oder IRC rät, bekommt oft zu hören, der Befehl sei unvollständig. Zeit also, die beiden ungleichen Brüder vor- und gegenüberzustellen.
Aktiver Rentner
Apt-get ging mit Debian 8 in Rente, während Apt bereits seit 2014 in Debian “Unstable” im Einsatz ist. Da Apt-get aber trotz Rentnerdasein weiterhin funktioniert, haben viele Anwender den neuen Befehlssatz noch nicht verinnerlicht.
Wenn in diesem Artikel von APT die Rede ist, meinen wir das Frontend-Werkzeug für Dpkg. Hingegen handelt es sich bei Apt und Apt-get um Programme, die der Manipulation von Debian-Paketen dienen. Apt ist keineswegs ein Wrapper für Apt-get, sondern ein neues Programm mit eigenem Befehlssatz. Um Verwechslungen vorzubeugen: Hier geht es nicht um den Wrapper apt, den Entwickler für Linux Mint vor einigen Jahren erstellten, um den Einsatz von Apt-get zu vereinfachen – hier geht es um die Neuentwicklung aus dem APT-Team von Debian.
Die Basis der Debian-Paketverwaltung bildet Dpkg, zu dessen wichtigsten Aufgaben es zählt, das System stabil zu halten. Darauf setzen Frontends wie Dselect, Aptitude, Apt-get und Apt auf. Diese wenden sich eher dem User zu, der deshalb nur selten mit Dpkg direkt in Kontakt kommt. Eine Ausnahme bildet die Installation von Paketen, die zwar im DEB-Format vorliegen, aber nicht in einem Repository liegen. In diesem Fall ist es aber Ihre Aufgabe, sich nach der Installation mittels dpkg -i Paket selbst um das Auflösen der Abhängigkeiten zu kümmern – das übernehmen sonst die Frontends. Hier hilft der hinterhergeschickte Befehl apt -f install.
Aber selbst das klappt mittlerweile einfacher: Mit Apt-get gab es alternativ die Möglichkeit, ein Paket nach /var/cache/apt/archives/ zu verschieben und dann per apt-get install Paket zu installieren. Auf diese Weise bediente die Software die Abhängigkeiten automatisch. Apt macht das Herumgeschubse überflüssig; es genügt ein apt install Paket, wobei Sie dabei bei Bedarf den vollständigen Pfad angeben.
Zur Suche, Erläuterung, Installation oder zum Aktualisieren und Entfernen von Paketen bedient sich APT der Kommandozeilenprogramme Aptitude, Apt-get und Apt. Aptitude lassen wir hier außen vor: Es erfüllt zwar denselben Zweck wie seine Mitstreiter, benutzt in etwa die gleichen Parameter und Optionen, setzt aber auf andere Algorithmen. In stabilen Distributionen spielt das Programm seine Stärken aus, für Rolling Releases sind erfahrungsgemäß meist Apt oder Apt-get die bessere Wahl.
Apt arbeitet nicht rückwärts-kompatibel mit Apt-get – zwar lassen sich viele, aber keineswegs alle Optionen der beiden Kommandos austauschen. Einen guten Überblick verschafft der Vergleich von apt --help und apt-get --help.
Designfehler korrigiert
Apt räumt mit einigen Fehlern der ursprünglichen Implementation auf. So kennt das alte System unter anderem neben Apt-get zum Bearbeiten von Debian-Paketen noch Apt-cache, um Informationen über die Pakete auszugeben. Hier räumt das verkürzte Kommando gründlich auf, vereint Funktionen aus beiden alten Befehlen und strukturiert diese besser. Somit bietet es die am meisten verwendeten Befehle von Apt-get und Apt-cache, wobei es einige Funktionen einbindet, die vorher zusätzlicher Optionen bedurften.
Dies zeigt sich beispielsweise beim Befehl zum Aktualisieren der Paketlisten: Während apt-get update am Ende lediglich Vollzug meldet (Abbildung 1), zeigt apt update die Anzahl aktualisierbarer Pakete an und offeriert eine Möglichkeit, eine strukturierte Liste der möglichen Aktualisierungen auszugeben (Abbildung 2). Diese Liste bringt sogar mit Farbe eine bessere Übersicht in die sonst recht drögen Anzeigen (Abbildung 3).

Abbildung 1: Mit apt-get update aktualisieren Sie zwar die Listen über die vom Repository bereitgestellten Pakete, erhalten aber keine zusätzlichen Informationen.

Abbildung 2: Der Befehl apt update aktualisiert nicht nur die Paketlisten, sondern zeigt Ihnen zusätzlich, ob und wie viele Pakete in dem Repository als neue Version vorliegen.

Abbildung 3: Mit apt list --upgradable bringen Sie etwas Farbe ins Spiel und haben so einen besseren Überblick über die Pakete, für die das Repository eine aktuellere Version bereitstellt.
Der eigentliche Befehl zum Aktualisieren der Pakete erhielt ein neues optisches Element: Sowohl apt upgrade als auch apt full-upgrade oder apt dist-upgrade zeigen nun einen Fortschrittsbalken, der über den Verlauf der Aktualisierung informiert (Abbildung 4).

Abbildung 4: Mit einem neuen Element in Form eines Fortschrittsbalkens informiert apt full-upgrade über den Fortgang des Upgrades.
Ähnliches gilt für das Entfernen von Paketen mit apt remove oder apt purge. Der Unterschied beider Befehle liegt darin, dass Ersterer lediglich das Paket selbst entfernt, der zweite auch die gesamte dazugehörige Konfiguration – sofern sie außerhalb des Home-Verzeichnisses liegt: Konfigurationen im Benutzerverzeichnis tastet Apt niemals an.
Upgrade im Griff
Wie die Tabelle “Unterschiede” zeigt, entsprechen sich viele Befehle insofern, dass Sie lediglich apt-get gegen apt zu tauschen brauchen.
Das scheint auf den ersten Blick auch bei apt upgrade der Fall zu sein, doch hier gab es eine sinnvolle Änderung gegenüber dem alten Kommando: apt-get upgrade installierte die neusten Versionen aller aktuell auf dem System installierten Pakete aus dem Repository, entfernte dabei aber unter keinen Umständen im System vorhandene Pakete oder installierte frisch hinzugekommene Abhängigkeiten nach.
Dieses nicht sehr sinnvolle Verhalten ändert apt upgrade dahingehend ab, dass es neue Pakete dann installiert, wenn sie als Abhängigkeiten von zu aktualisierenden Paketen neu hinzukommen. In keinem Fall entfernt das Tool aber bereits installierte Pakete, wie das beim Parameter dist-upgrade unter Umständen vorkommt.
Mit Apt-get erhalten Sie dasselbe Verhalten, indem Sie in /etc/apt/apt.conf.d/apt.conf die Option APT::Get::Upgrade-Allow-New setzen.
|
Funktion |
Apt-get |
Apt |
|---|---|---|
|
Paket installieren |
|
|
|
Paket entfernen |
|
|
|
Paket inklusive Konfiguration entfernen |
|
|
|
Quellen aktualisieren |
|
|
|
Pakete aktualisieren (ohne Entfernen oder Neuinstallieren) |
|
|
|
Pakete aktualisieren (mit Entfernen und Neuinstallieren) |
|
|
|
Nicht mehr benötigte Abhängigkeiten entfernen |
|
|
|
Paket suchen |
|
|
|
Paketinformationen anzeigen |
|
|
|
Aktive Paketquellen detailliert anzeigen |
|
|
|
Vorhandene und installierte Paketversion anzeigen |
|
|
|
Neue Befehle |
||
|
Paketquellen bearbeiten |
– |
|
|
Pakete nach Kriterien auflisten |
|
|
|
Paketstatus setzen/ändern |
|
|
|
(1) entspricht |
||
Zwei neue Befehle
Das Kommando apt show sortiert die Ausgabe nun alphabetisch und hält einige weniger wichtige Informationen zurück, die Sie gegebenenfalls mit apt-cache show sehen. Der Parameter dist-upgrade erhält den aussagekräftigeren Namen full-upgrade, wobei sich beide Befehle äquivalent verhalten.
Neu sind die Befehle apt list und apt edit-sources: Während apt list im Zusammenhang mit den Optionen --installed oder --upgradable die entsprechenden Listen ausgibt, öffnet apt edit-sources Liste die Datei /etc/apt/sources.list.d/ mit der angegebenen Liste im Editor zum Bearbeiten (Abbildung 5).

Abbildung 5: Mit dem Befehl apt edit-sources debian.list öffnet das Tool die angegebene Datei für manuelle Änderungen im Standardeditor.
Fazit
Es war höchste Eisenbahn, das zentrale Debian-Paketverwaltungstool für die Kommandozeile zu entschlacken und zu entstauben. Mit APT 1.0 haben die Entwickler das Binärprogramm Apt hinzugefügt, das zwar schon seit 2014 bereitsteht, aber seinen Vorgänger in der Praxis noch nicht völlig abgelöst hat. In einschlägigen Internet-Foren, besonders bei Ubuntu und Linux Mint, sorgen Apt-get und Apt noch des Öfteren für Verwirrung.
Der Umstieg auf Apt lohnt in jedem Fall: Das neue Kommando lässt sich nicht nur einfacher einsetzen, sondern weist an vielen Stellen einen logischeren Aufbau auf. Zudem brachten die APT-Entwickler mehr Geschwindigkeit und Komfort in das bereits 16 Jahre alte System.





