8.5. Liste der installierten Pakete anzeigen und deuten

Diese Aktion betrifft häufig nicht nur ein einzelnes Paket, sondern den Gesamtbestand an Software, die auf Ihrem Linuxsystem installiert sind oder waren. Im Alltag ergeben sich eine ganze Reihe von Anwendungsfällen, bei denen diese Aktion durchgeführt wird.

Hintergrund für den Fall 1 ist der Wunsch nach einem Überblick zum Gesamtzustand eines Systems und vor allem der Software, die darauf installiert ist. Das betrifft insbesondere die Rechnersysteme, die Sie nicht selbst eingerichtet haben und deren Betreuung Ihnen obliegt, bspw. Geräte im Auslieferungszustand oder im Rahmen der Wartung als Bestandteil eines Kundenauftrags. Dabei kommt häufig die Berücksichtigung „gewachsener Infrastruktur“ ins Spiel.

Fall 2 betrifft „großflächige“ Änderungen auf einem Rechnersystem. Sie überprüfen, ob diese korrekt abgelaufen sind. Fall 3 betrifft die Entwicklung, hier ist die Fehlersuche bei den Paketwerkzeugen zu nennen.

Zu den konkreten Aktionen zählt weiterhin das Herausfinden, ob ein bestimmtes Paket oder Programm auf Ihrem Rechnersystem überhaupt installiert ist, und falls ja, ob dieses vollständig installiert und (bereits) konfiguriert wurde. Wurde es hingegen entfernt, ist zu klären, ob es vollständig entfernt wurde oder noch „Reste“ übrig sind, bspw. paketspezifische Konfigurationsdateien.

Für die Kommandozeile existieren zwei grundlegende Möglichkeiten. Einerseits ist das dpkg -l und andererseits aptitude search ~i. Die Darstellung in den graphischen Programme klären wir weiter unten genauer.

8.5.1. dpkg -l Paketname (Langform --list)

dpkg wird für diese Aufgabe sehr häufig genutzt. Ohne die Angabe des Paketnamens zeigen Sie alle Pakete und Paketreste an, die auf Ihrem System derzeit installiert sind. Geben Sie ein oder mehrere Pakete als Parameter durch Leerzeichen getrennt an, erhalten Sie nur Informationen zu diesen benannten Paketen. In nachfolgender Paketliste zeigen die einzelnen Spalten nacheinander den Paketzustand, den Namen des Pakets (siehe Abschnitt 2.11, „Benennung einer Paketdatei“), dessen Version und die Kurzbeschreibung dazu.

Vollständige Paketliste mit dpkg

$ dpkg -l
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                                      Version                              Beschreibung
+++-=========================================-====================================-==========================
====================================================
ii  a2ps                                      1:4.14-1.1                           GNU a2ps - 'Anything to Po
stScript' converter and pretty-printer
rc  bsh                                       2.0b4-12                             Java scripting environment
 (BeanShell) Version 2
...
un  xfce4-icon-theme                          <keine>                              (keine Beschreibung vorhanden)
$

Die ersten drei Spalten jeder ausgegebenen Zeile interpretieren Sie anhand der Tabelle 8.1, „Paketzustand deuten“. Die Begriffe in Klammern nennen die englischen Übersetzungen – i.d.R. ist das die Langform der jeweiligen Option. Mit Ausnahme von W für aWaited trigger entspricht dabei der verwendete Buchstabe in der Spalte jeweils dem Anfangsbuchstaben der Langform der Option.

Tabelle 8.1. Paketzustand deuten

gewünschte Aktion durch den Paketmanager Paketstatus Fehler-Schalter

u: Unbekannt (unknown)

n: Paket ist nicht installiert (not installed)

(leer): kein Fehler

i: Installieren (installed)

c: nur die Konfigurationsdatei ist vorhanden (configured)

R: eine Neuinstallation ist notwendig (reinstall)

h: Halten (hold)

H: Paket ist nur halb installiert (half installed)

r: Entfernen (remove)

U: Paket wurde entpackt (unpacked)

p: Vollständig Löschen (purge)

F: Fehlgeschlagene Konfiguration (failed)

W: Trigger erwartet (aWaited trigger)

t: Trigger anhängig (trigger)

i: Installiert (installed)


Kleinbuchstaben zeigen dabei an, dass alles im grünen Bereich ist. Großbuchstaben heben hingegen Fehlerfälle oder auch Zustände hervor, die ihrerseits eine genauere Begutachtung und eine Aktion zu diesem Paket erfordern. Obige Darstellung mit Buchstaben verwendet sowohl dpkg, als auch aptitude. Tabelle 8.2, „Alltägliche Kombinationen zum Paketzustand“ zeigt Ihnen die Status-Kombinationen, die Ihnen häufig im Alltag begegnen werden.

Tabelle 8.2. Alltägliche Kombinationen zum Paketzustand

Paketstatus Beschreibung

ii

das Paket ist vollständig und fehlerfrei installiert sowie konfiguriert.

rc

das Paket wurde gelöscht, aber die Konfigurationsdateien sind noch gespeichert (Abkürzung für removed, configured, no error).

un

unbekanntes, nicht installiertes Paket (Abkürzung für unknown, not installed).

hi

das Paket ist installiert, aber auf hold gesetzt. Bei Softwareaktualisierungen wird das Paket nicht berücksichtigt und in seinem derzeitigen Zustand belassen (siehe Paketflags in Abschnitt 2.15, „Lokale Paketmarkierungen“).


8.5.2. aptitude search ~i

aptitude kennt dazu das Unterkommando search und erwartet danach entweder einen Paketnamen oder ein Flag. In diesem Fall ist es das Flag ~i für „installierte Pakete“ (Langform ?installed).

Wie bereits oben genannt, verwendet aptitude in der Ausgabe die gleichen Buchstaben wie dpkg (siehe Tabelle 8.1, „Paketzustand deuten“). Der Buchstabe i bezeichnet ein installiertes Paket, A in der dritten Spalte markiert „automatisch installiert“ und deutet auf eine automatisch erfüllte Paketabhängigkeit hin (siehe dazu Abschnitt 8.10, „Automatisch installierte Pakete anzeigen“). Daneben sehen Sie in der Ausgabe noch den Namen und die Kurzbeschreibung zum jeweiligen Paket.

aptitude listet die installierten LaTeX-Pakete auf. 

$ aptitude search ~i | grep texlive
i   texlive                         - TeX Live: Eine anständige Auswahl der TeX-
i A texlive-base                    - TeX Live: Grundlegende Programme und Datei
i A texlive-bibtex-extra            - TeX Live: Extra BibTeX styles
i A texlive-binaries                - Binärdateien für TeX Live
i A texlive-common                  - TeX Live: Basiskomponenten
i A texlive-doc-base                - TeX Live: Dokumentation für TeX Live
$

8.5.3. Weitere Möglichkeiten

Graphische Programme wie beispielsweise Synaptic (siehe Abschnitt 6.4.1, „Synaptic“) und SmartPM (siehe Abschnitt 6.4.3, „Smart Package Management (SmartPM)“) verwenden keine Buchstaben zur Kennzeichnung des Paketstatus, sondern nutzen stattdessen verschiedenfarbige Kästchen („Icons“). In Abbildung 8.2, „Icons zur Darstellung des Paketstatus“ sehen Sie alle Möglichkeiten in der vollständigen Übersicht. Installierte Pakete erkennen Sie an der grünen Farbe, weiß/hellgrau kennzeichnet nicht installierte Pakete und rot steht hier für defekte Pakete (Status „broken“).

Abbildung 8.2. Icons zur Darstellung des Paketstatus

werkzeuge/paketoperationen/smartpm-icons.png