Aus LinuxUser 04/2013

Apt-get und Aptitude (Teil 1)

© stylephotographs, 123RF

Dynamisches Duo

Die Paketmanager Apt-get und Aptitude gehören zum Standardrepertoire von Debian und dessen Derivaten. Welcher davon eignet sich wofür am besten?

Das Thema Paketverwaltung unter Debian bildete bereits einen Teil des Schwerpunkts von LinuxUser 06/2012. Neben der Paketklassifikation mit Debtags [1] und dem Selberbauen von Softwarepaketen mit Checkinstall rückte die Pflege des Softwarebestands mittels Apt-Pinning [2] sowie der Aptsh [3] in den Mittelpunkt. Die Basis der Verwaltung von Softwarepaketen aber bilden Dpkg und Apt.

Dpkg stellt die unterste Ebene der Paketverwaltung von Debian dar. Es ist verantwortlich für das Auspacken von DEB-Paketen und das Handhaben von aktualisierten Konfigurationsdateien. Es verhindert es außerdem, dass ein Paket unerwartet eine Datei aus einem anderen überschreibt.

Apt kümmert sich um alles, was mit Paketlisten und deren Auswertung zu tun hat – zum Beispiel das Herunterladen von Paketlisten, das automatische Auflösen von Paketabhängigkeiten oder das Herunterladen der Paketdateien. Apt besteht dazu aus mehreren Komponenten, einerseits den beiden Programmbibliotheken libapt-pkg und libapt-inst und andererseits aus diversen Kommandozeilenwerkzeugen, unter anderem Apt-get und Apt-cache.

Alle weiteren Programme wie Aptsh, Aptitude oder Synaptic setzen auf die Programmbibliotheken von Apt auf. Eine Ausnahme bildet Cupt [4], das deswegen hier auch außen vor bleibt.

Die Entwickler von Apt und Aptitude liefern sich eine Art Wettrennen, welches beider Projekte die wenigsten offenen Fehler-Reports [5] aufweist. Bei beiden Programmen hält sich das schon länger ungefähr die Waage.

Der offensichtlichste Unterschied zwischen den bisher erwähnten Werkzeugen ist zunächst rein optischer Natur. Sowohl Apt und Aptitude als auch die Aptsh nehmen Befehle über die Kommandozeile entgegen. Dabei folgt die Aptsh allerdings anderen Konzepten als Apt-get und Aptitude. Aptitude verfügt zusätzlich über eine Ncurses-basierte Benutzeroberfläche (Abbildung 1). Komplexe Aktionen steuern Sie bei Aptitude sowohl über die Textmodus-Oberfläche als auch mit Hilfe von Aufrufparametern.

Abbildung 1: Aptitudes Textmodus-Oberfläche zeigt hier eine Reihe von zur Aktualisierung vorgemerkten Paketen.
Abbildung 1: Aptitudes Textmodus-Oberfläche zeigt hier eine Reihe von zur Aktualisierung vorgemerkten Paketen.

Kurze Zeit gab es auch eine GUI-Variante von Aptitude, die auf dem Gimp-Toolkit basierte. Sie erreichte jedoch nie die Qualität und Stabilität von Aptitudes Ncurses-Oberfläche – daher wird sie nicht mehr weiter gepflegt [6]. Für das Qt-Pendant Aptitude-Qt existiert zwar ebenfalls Quellcode, zur Veröffentlichung einer brauchbaren Variante hat es aber bisher nicht gereicht.

Synaptic bietet dagegen ausschließlich eine grafische Oberfläche und ist neben dem Software Center auf Ubuntu sehr beliebt.

Unterkommandos und Parameter

Im Folgenden stehen die Feinheiten zwischen Apt-get und Aptitude im Vordergrund. Sie lernen diese kennen und erfahren, wie Sie diese für sich nutzen können. Die erste Station bilden die Parameter auf der Kommandozeile.

Die Tabelle „Unterkommandos von Apt-get und Aptitude“ stellt die Unterkommandos von Apt-get und Aptitude gegenüber. Viele der genannten Befehle kommen Ihnen sicherlich bekannt vor – sei es aus eigener Erfahrung oder aus dem Absolvieren eines Linux-Basis-Kurses. Sie sehen, dass etliche subtile Unterschiede bestehen, obwohl vielfach das jeweilige Unterkommando bei beiden Programmen den gleichen Namen trägt. Insbesondere gilt das für upgrade, safe-upgrade, dist-upgrade und full-upgrade, daher sind diese nochmals separat aufgeschlüsselt (siehe Kasten „Feine Unterschiede“). Weitergehende Informationen finden Sie im Aptitude-Handbuch [7] sowie in den Manpages von Apt-get [8] und Aptitude [9].

Unterkommandos von Apt-get und Aptitude

Aktion Apt-get Aptitude
Paketlisten aktualisieren update update
Pakete konservativ aktualisieren upgrade safe-upgrade
Alle Pakete aktualisieren dist-upgrade full-upgrade
Paket installieren install Paket install Paket
Paket nochmals installieren install --reinstall Paket reinstall Paket
Paket entfernen remove Paket remove Paket
Paket samt Konfigurationsdateien entfernen purge Paket purge Paket
Ungenutzte Pakete entfernen autoremove
Paket beibehalten nicht vorhanden(1) hold Paket
Paketcache leeren (komplett) clean clean
Pakete ohne verfügbare Quellen löschen autoclean autoclean
Paketinformationen anzeigen show(2) show Paket
Warum ist ein Paket installiert?   why Paket
Warum ist ein Paket nicht installiert?   why-not Paket
Abhängigkeitsfehler zeigen check search '~b'
Paket suchen search(2) search Muster
Verfügbare Paketversionen zeigen policy(2) versions Paket
(1) per Apt-cache (auch aus dem Paket apt), (2) per dpkg-hold Paket

Feine Unterschiede

Die Unterkommandos full-upgrade und dist-upgrade unterscheiden sich (ohne Parameter) nur durch die unterschiedlichen Algorithmen zum Auflösen der Paketabhängigkeiten. Apt-get erlaubt es seit einiger Zeit sogar, diese auszutauschen [10].

Das Kommando apt-get upgrade aktualisiert alle Pakete, die aktualisiert werden können, ohne installierte Pakete zu entfernen oder nicht installierte einzurichten. Dagegen aktualisiert aptitude safe-upgrade alle Pakete, die sich aktualisieren lassen, ohne manuelle installierte zu entfernen. Die Option --no-new-installs bewirkt, dass sich aptitude safe-upgrade ähnlicher zu apt-get upgrade verhält.

Allerdings gibt es noch einen großen Unterschied zwischen apt-get upgrade/dist-upgrade und aptitude safe-/full-upgrade: Aptitudes Unterkommandos erlauben Paketnamen als zusätzliche Parameter. In diesem Fall versucht der Paketmanager, nur die angegebenen Pakete zu aktualisieren (upgrade), unter den durch das Unterkommando gegebenen Bedingungen.

Wohl gemerkt

Etwas im Verborgenen schlummert die Möglichkeit, mit Aptitude anstehende Aktionen nicht direkt auszuführen, sondern sie für später vorzumerken. Solche vorgemerkten Aktionen arbeitet die Software ab, sobald Sie zu einem späteren Zeitpunkt irgendeine andere Aktion per Aptitude anstoßen, wie etwa das Installieren, Entfernen oder Aktualisieren von Paketen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
KAUFEN
LinuxUser 04/2013 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: