AA_pilz_sxc705559_WalterGroesel.jpg

© Walter Groesel, sxc.hu

Paarweise

Apt-Get und Aptitude im Einsatz

13.05.2013
,
Das Installieren und Entfernen von Software gehört für jeden Paketmanager zur Pflichtübung. Wer sein Debian-System aber richtig warten will, braucht Profi-Tools wie Apt-get und Aptitude.

Beim Aufräumen, Aktualisieren und Einrichten von Software auf einem Debian-basierten System übernehmen Tools wie Apt-get und Aptitude das Auflösen von Abhängigkeiten sowie das automatische Entfernen von nicht mehr benötigten Programmen. Dabei greifen sie auf die Mechanismen des Paketmanagements zurück, das umfangreiche Operationen erlaubt.

Die einfachen Arbeitsschritte (siehe Kasten "Grundlagen") gehen dabei leicht von der Hand. Mit etwas Know-how schöpfen Sie zudem das komplette Potenzial der Tools aus und erledigen so schnell und komfortabel selbst komplexe Aufgaben.

Grundlagen

Teil 1 des Workshops [1] zeigte, wie sich Apt und Aptitude in die verschiedenen Ebenen der Debian-Paketverwaltung einordnen, und stellte die recht ähnlichen Optionen und Parameter beider Programme mit ihren jeweiligen Feinheiten gegenüber.

In diesem Teil stehen die Möglichkeiten zur Konfiguration und insbesondere deren effektiver Einsatz im Fokus. Apt punktet dabei mit Geschwindigkeit; Aptitude glänzt bei Installation und Entfernen von Paketen in einem Schritt sowie der geschickten Auswahl von Paketen über Suchmuster.

Standard-Einstellungen

Apt und Aptitude erhalten in der Regel durch die Maintainer der Distributionen eine grundlegende Konfiguration. Diese spielte sich in der Vergangenheit in zwei Dateien im Verzeichnis /etc/apt ab. So regelt /etc/apt/apt.conf das Verhalten von Apt und Aptitude systemweit [2], die Datei /etc/apt/preferences legt Prioritäten für Pakete und Paketgruppen fest. Beide Dateien gelten auf aktuellen Systemen als optional.

Mit der Zeit modularisierten die Entwickler die Konfiguration des Apt-Systems Stück für Stück. Seit 2001 verteilten sie die Konfigurationsdateien auf zwei separate Verzeichnisse, die jeweils den selben Namen tragen wie die früheren Dateien, gefolgt von einem .d [3].

Auf /etc/apt/apt.conf.d/ folgten 2009 mit Version 0.7.22 der Software – also zwischen 0.7.20.2 (in "Lenny") und 0.8.10.3 (in "Squeeze") – /etc/apt/preferences.d/ und 2010 /etc/apt/trusted.gpg.d/. Diese Verzeichnisse sollen der weiteren Priorisierung von Paketen und Paketgruppen dienen sowie zusätzliche Schlüsselring-Dateien aufnehmen, wie die GPG-Schlüssel zum Verifizieren von Backports.

Diese Konstruktion ermöglicht den Maintainern von Software, durch eigene Konfigurationsdateien sicherzustellen, dass vor oder nach der Installation der Programme durch Apt oder Aptitude zusätzliche Vorgänge ablaufen. Alle Programme, die auf Apt aufbauen, nutzen die Dateien unter /etc/apt/ und verwenden ein identisches Dateiformat, das an Run-parts [4] erinnert. Dateien in diesen Verzeichnissen müssen bestimmten Namenskonventionen folgen. So ignoriert Apt Dateien in /etc/apt/sources.list.d/, denen die Endung .list fehlt.

Zusätzlich legen einige Programme (insbesondere Aptitude) Konfigurationsdateien an weiteren Stellen ab. So speichert Aptitude unter /usr/share/aptitude/aptitude-defaults seine eigenen systemweiten Voreinstellungen, die Apt ignoriert [5].

Ändern Sie Einstellungen in der Curses-basierten Oberfläche von Aptitude, so landen diese Parameter in der Datei .aptitude/config in Ihrem Home-Verzeichnis und gelten nur für Sie. Um die Änderungen systemweit einzustellen, übertragen Sie die Inhalte als Benutzer root von .aptitude/config nach /etc/apt/apt.conf oder in eine neue Datei im Verzeichnis /etc/apt/apt.conf.d/.

Nach einer Standardinstallation von CD oder DVD existieren in /etc/apt/apt.conf.d/ vier Dateien, deren Namen mit einer zweistelligen Ziffernfolge beginnen (siehe Tabelle "Dateien zur Apt-Konfiguration"). Apt arbeitet diese in aufsteigender Reihenfolge durch [6], wobei die Ziffern am Anfang des Namens zum Sortieren dienen. Der Rest des Dateinamens lässt sich frei wählen, entspricht aber in der Regel dem Namen des Pakets, aus dem die Datei stammt.

Dateien zur Apt-Konfiguration

Datei Angelegt von Funktion
00trustcdrom Installation Liste vertrauenswürdiger Quellen
01autoremove Paket apt Liste der Pakete, mit Auskunft, ob das System diese automatisch entfernen darf
50unattended-upgrades Paket unattended-upgrades Liste der Pakete, die das System eigenständig aktualisieren darf
70debconf Paket debconf Informationen über die Aktionen vor und nach der Installation eines Pakets mit DPKG, die verwendete Version (Debian-Release), die Größe des Paket-Cache sowie die Reaktionszeit einer Paketquelle

Apt ignoriert Dateien, deren Namen auf .disabled oder eine Tilde (~) enden. Bei Letzteren handelt es sich um Backup-Dateien von Editoren. Ändert Dpkg Konfigurationsdateien, so legt es ebenfalls Kopien an, die das Verhalten von Apt jedoch nicht beeinflussen.

Mit welcher Konfiguration Apt und Aptitude tatsächlich agieren, erfahren Sie mit Hilfe des Programms apt-config aus dem Apt-Paket. Rufen Sie es mit der Option dump auf, dann erhalten Sie eine vollständige Übersicht aller gesetzten Werte (Abbildung 1). Möchten Sie die Konfiguration ergänzen, fügen Sie am besten ein passendes Fragment im Verzeichnis /etc/apt/apt.conf.d/ hinzu.

Abbildung 1: Mithilfe des Kommandos apt-config sehen Sie die aktuellen Voreinstellungen im Überblick.

Auf Einzelplatzsystemen können Sie in aller Regel auf das Anpassen der Apt-Konfiguration verzichten. Interessant wird es, wenn Sie trotz Vorliegens aktuellerer Pakete einen bestehenden Software-Stand beibehalten wollen oder bestimmte Pakete von der Installation ausschließen möchten. Ähnliches gilt für die automatische Installation empfohlener Pakete oder den Fall, dass der Netzzugang nur über einen Proxy-Server funktioniert [7],[8],[9].

Dass zwischen Apt und Aptitude weitere subtile Unterschiede bestehen, verdeutlicht unter anderem das Verhalten beim Entfernen "verwaister" Pakete. Diese entstehen, wenn der Paketmanager bei einer Deinstallation nicht alle Abhängigkeiten löscht, die nur für das entfernte Paket notwendig waren, aber in keinem Bezug mehr zur weiterhin installierten Software stehen.

Apt-Get weist in einem solchen Fall lediglich darauf hin, dass verwaiste Pakete existieren, während Aptitude diese automatisch auch löscht. Die dazugehörigen Kommandozeilen-Optionen und Einstellungen für die Konfiguration finden Sie in der Tabelle "Automatisches Entfernen".

Automatisches Entfernen

Funktion Apt-Get Aptitude
Beim Entfernen apt-get --auto-remove Paket aptitude remove Paket
Abhängigkeiten nicht automatisch entfernen apt-get remove Paket aptitude -o Aptitude::Delete-Unused=false remove Paket
Konfigurationsoptionen APT::Get::AutomaticRemove Aptitude::Delete-Unused
Vorgabewert false true

In einem Schritt

Apt-Get bietet die Möglichkeit, die Auswirkungen der beiden Unterkommandos install und remove in deren jeweiliges Gegenteil zu verkehren. Im Aufruf von Apt-Get hängen Sie dazu an die einzelnen Paketnamen ein Plus- oder Minus-Zeichen an. So entfernen Sie mit apt-get install einzelne Pakete, anstatt sie zu installieren. Das erweist sich etwa dann als hilfreich, wenn Sie ein Paket einrichten, das alternative Abhängigkeiten aufweist, von denen Sie eine bestimmte ausschließen möchten.

So benötigt das Paket stumpwm des in Lisp geschriebenen Window-Managers Stump [10] einen Lisp-Interpreter, legt sich dabei aber nicht auf einen bestimmten fest. Daher genügt eines der drei Pakete clisp-module-clx, cl-clx-sbcl oder cmucl-source. Haben Sie keines davon installiert, wählt Apt-Get im Normalfall das erste Paket aus. Wünschen Sie das nicht, wählen Sie es mit dem nachfolgendem Befehl explizit ab. Daraufhin nimmt Apt-Get das zweite aus der Liste:

# apt-get install stumpwm clisp-module-clx

Aptitude bietet in dieser Hinsicht noch wesentlich mehr Möglichkeiten. Einerseits erlaubt es solche Korrekturen auch bei anderen Unterkommandos, wie full-upgrade, safe-upgrade, markauto oder hold. Andererseits kennt es noch wesentlich mehr Aktionen, auf die Sie ebenfalls über "Anhängsel" an den Namen des Pakets Zugriff haben (siehe Tabelle "Aktionen in Aptitude").

Aktionen in Aptitude

Zeichen Effekt
+ Paket installieren
+M Paket installieren und als automatisch installiert markieren
- Paket entfernen
_ Paket und Konfigurationen entfernen ("purge")
: Paket beibehalten (also beispielsweise nicht aktualisieren)
= Paket auf "hold" setzen
&M Paket als automatisch installiert markieren
&m Paket als nicht automatisch installiert markieren
&BD Bau-Abhängigkeiten des Pakets erfüllen

Das Beispiel in Listing 1 demonstriert diese Möglichkeiten ausführlich: Aptitude aktualisiert in einem Aufruf das Paket lintian, installiert dabei gleichzeitig das Paket htop sowie die noch fehlenden Bau-Abhängigkeiten für htop (in diesem Fall libncurses5-dev), entfernt das Paket tasksel samt nicht benötigter Abhängigkeiten, und setzt das Paket ccal auf "automatisch installiert".

Daraufhin entfernt der Paketmanager Ccal, da kein anderes Paket davon abhängt. Alle weiteren, nicht angegebenen Pakete, bleiben auf dem derzeitigen Stand, auch wenn eine neuere Version bereitsteht: aptitude full-upgrade bearbeitet nur die angegebenen Pakete.

Listing 1

# aptitude full-upgrade lintian htop+ 'htop&BD' tasksel- 'ccal&M'
The following NEW packages will be installed:
  htop libncurses5-dev
The following packages will be UPGRADED:
  lintian
The following packages will be KEPT BACK:
  iceweasel libmozjs10d xulrunner-10.0
The following packages will be REMOVED:
  ccal{a} tasksel tasksel-data{a}
1 packages upgraded, 2 newly installed, 3 to remove and 3 not upgraded.
[...]

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Apt-get und Aptitude (Teil 1)
    Die Paketmanager Apt-get und Aptitude gehören zum Standardrepertoire von Debian und dessen Derivaten. Welcher davon eignet sich wofür am besten?
  • Aptitude: Software-Installation unter Debian
    Debian besteht in der aktuellen Version aus rund 9000 Paketen, in der nächsten werden es schon über 14000 sein. Aptitude verschafft Übersicht und hilft bei der Suche nach bestimmter Software.
  • Komfortabel Pakete managen mit der Apt-Shell
    Die Apt-Shell bietet eine Bedienoberfläche für viele Tools rund um das ausgefeilte Debian-Paketmanagement. Mit ihr nutzen Sie die vielfältigen Funktionen über ein zentrales Interface.
  • Urgestein
    Schon 1993 schuf Debian mit Dpkg ein solide Basis zur einfachen Paketverwaltung. Deren flexible Methoden und Konzepte bewähren sich bis heute – auch im Debian-Ableger Ubuntu.
  • Hilfe zur Selbsthilfe: Paketverwaltung
    Moderne Distributionen bieten zusätzlich in der Regel einen komfortablen Paketmanager, um Programme zu verwalten. Mit dem richtigen Know-how kitzeln Sie zusätzlich viele Information aus diesen heraus.
Kommentare

Infos zur Publikation

title_2014_09

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...