8.26. Paketinhalte anzeigen

In einem Paket sind stets mehrere Dateien zusammengefasst. Mit den sechs Werkzeugen dpkg, dpkg-deb, dpkg-query, dlocate, apt-file und dglob zeigen Sie den Inhalt eines Pakets an. Dabei sind dpkg-deb und dpkg-query Hilfsprogramme von dpkg und verstehen die gleichen Schalter.

Es sind mehrere Fälle zu unterscheiden, die jeweils unterschiedliche Aufrufe nachsichziehen:

das Paket ist bereits installiert
dpkg -L Paketname, dpkg-query -L Paketname, dlocate -ls Paketname sowie mittels dglob -f Paketname. Der Parameter Paketname bezeichnet lediglich den Namen des Pakets (siehe Abschnitt 2.11, „Benennung einer Paketdatei“) ohne Angabe der Versionsnummer.
das Paket ist nicht installiert, liegt aber als Datei vor
dpkg -c deb-Datei oder dpkg-deb -c deb-Datei. Der Parameter deb-Datei ist ein Paketarchiv in Form einer lokal vorliegenden Datei. Befindet sich die Datei nicht im aktuellen Verzeichnis, von dem aus Sie das Kommando aufrufen, ergänzen Sie im Aufruf den dazugehörigen Verzeichnispfad, in dem das Paketarchiv liegt.
das Paket muss nicht installiert sein, kann aber
apt-file show Paketname, apt-file list Paketname und dglob -f Paketname. Der Parameter Paketname bezeichnet hier lediglich den Namen eines Pakets (siehe Abschnitt 2.11, „Benennung einer Paketdatei“) ohne Angabe der Versionsnummer.

8.26.1. dpkg -L Paketname

Die Langform des Schalters ist --listfiles. Beide Schalter versteht ebenso das Hilfsprogramm dpkg-query und erzeugt die gleiche Ausgabe. Damit listen Sie den Paketinhalt mit allen Pfaden auf. Jede Verzeichnisebene ist separat aufgeführt. Das nachfolgende Beispiel verdeutlicht das am Paket xterm.

Auflistung des Paketinhalts mit allen Pfaden via dpkg

$ dpkg -L xterm
/.
/etc
/etc/X11
/etc/X11/app-defaults
/etc/X11/app-defaults/UXTerm-color
/etc/X11/app-defaults/UXTerm
/etc/X11/app-defaults/KOI8RXTerm-color
/etc/X11/app-defaults/KOI8RXTerm
/etc/X11/app-defaults/XTerm-color
/etc/X11/app-defaults/XTerm
...
$

8.26.2. dlocate -L Paketname

Eine identische Ausgabe zum vorherigen dpkg-Aufruf ermöglicht Ihnen das Programm dlocate [Debian-Paket-dlocate] mit dem Schalter -L. Beachten Sie hierbei jedoch, dass dlocate die Angabe des Paketnamens als regulären Ausdruck interpretiert.

8.26.3. dlocate -ls Paketname

Nutzen Sie statt -L hingegen den Schalter -ls, wird die Ausgabe sehr ausführlich. Es entspricht dem Aufruf des UNIX-Kommandos ls -ldF bezogen auf alle Dateien, die in dem Paket enthalten sind.

Auflistung des Paketinhalts in ausführlicherer Form via dlocate

$ dlocate -ls xterm
drwxr-xr-x   22 root root   4096 Sep 11 09:12 /./
drwxr-xr-x  160 root root  12288 Feb  7 05:58 /etc/
drwxr-xr-x   13 root root   4096 Dez 30  2017 /etc/X11/
drwxr-xr-x    2 root root   4096 Jul  8  2020 /etc/X11/app-defaults/
-rw-r--r--    1 root root   2400 Mär  1  2015 /etc/X11/app-defaults/KOI8RXTerm
-rw-r--r--    1 root root   6217 Mär  1  2015 /etc/X11/app-defaults/KOI8RXTerm-color
-rw-r--r--    1 root root   3609 Mär  1  2015 /etc/X11/app-defaults/UXTerm
-rw-r--r--    1 root root   6209 Mär  1  2015 /etc/X11/app-defaults/UXTerm-color
-rw-r--r--    1 root root  10201 Mär  1  2015 /etc/X11/app-defaults/XTerm
-rw-r--r--    1 root root   6207 Mär  1  2015 /etc/X11/app-defaults/XTerm-color
...
$

8.26.4. dpkg -c deb-Datei

Sie verwenden den Schalter -c, um sich den Inhalt eines deb-Pakets anzeigen zu lassen (Langform --contents). Dieses Paket wird dpkg als Parameter übergeben und kann sowohl eine Datei in einem lokalen Verzeichnis bezeichnen, als auch den Namen eines Archivs. Im Gegensatz zu dpkg -L muss das Paket nicht auf ihrem System installiert sein. Intern übergibt dpkg die Ausführung an dpkg-deb, welches Sie auch separat aufrufen können.

Auflistung des Paketinhalts mit allen Informationen via dpkg

$ dpkg -c /var/cache/apt/archives/xterm_312-2_amd64.deb
drwxr-xr-x root/root         0 2015-03-01 12:47 ./
drwxr-xr-x root/root         0 2015-03-01 12:47 ./etc/
drwxr-xr-x root/root         0 2015-03-01 12:47 ./etc/X11/
drwxr-xr-x root/root         0 2015-03-01 12:47 ./etc/X11/app-defaults/
-rw-r--r-- root/root      6209 2015-03-01 12:47 ./etc/X11/app-defaults/UXTerm-color
-rw-r--r-- root/root      3609 2015-03-01 12:47 ./etc/X11/app-defaults/UXTerm
-rw-r--r-- root/root      6217 2015-03-01 12:47 ./etc/X11/app-defaults/KOI8RXTerm-color
-rw-r--r-- root/root      2400 2015-03-01 12:47 ./etc/X11/app-defaults/KOI8RXTerm
-rw-r--r-- root/root      6207 2015-03-01 12:47 ./etc/X11/app-defaults/XTerm-color
-rw-r--r-- root/root     10201 2015-03-01 12:47 ./etc/X11/app-defaults/XTerm
...
$

8.26.5. apt-file show Paketname und apt-file list Paketname

Die beiden Optionen show und list des Werkzeugs apt-file sind synonym zueinander. Wie dpkg -L liefern sie den Inhalt des Paketes, allerdings nur die Dateien und nicht wie dpkg -L auch noch die enthaltenen (potentiell sogar leeren) Verzeichnisse. Dafür zeigt apt-file show immer auch noch den Paketnamen als Präfix in jeder Zeile mit an. Das nachfolgende Beispiel zeigt den Aufruf für das Paket xterm.

Paketinhalt in kompakter Form mittels apt-file

$ apt-file show xterm
xterm: /etc/X11/app-defaults/KOI8RXTerm
xterm: /etc/X11/app-defaults/KOI8RXTerm-color
xterm: /etc/X11/app-defaults/UXTerm
xterm: /etc/X11/app-defaults/UXTerm-color
xterm: /etc/X11/app-defaults/XTerm
xterm: /etc/X11/app-defaults/XTerm-color
xterm: /usr/bin/koi8rxterm
xterm: /usr/bin/lxterm
xterm: /usr/bin/resize
xterm: /usr/bin/uxterm
xterm: /usr/bin/xterm
...
$

Unterschiedliches Verhalten von apt-file in den Veröffentlichungen

In Debian 8 Jessie bzw. vor Version 3.0 verhält sich apt-file show bzw. apt-file list anders als in den nachfolgenden Debian-Veröffentlichungen. Eine Suche mittels list und show gibt alle Pakete aus, in denen das Suchmuster im Paketnamen vorkommt. Eine Suche nach xterm liefert zum Beispiel auch Treffer für die Pakete ajaxterm, kxterm und xtermcontrol.

Ab Debian 9 Stretch bzw. apt-file Version 3.0 zeigen apt-file show und apt-file list nur noch die Dateien für genau das angegebene Paket an.

8.26.6. Einsatz von dglob

Analog zu apt-file arbeitet das Werkzeug dglob aus dem Paket debian-goodies [Debian-Paket-debian-goodies]. Die Ausgabe ist ähnlich kompakt wie von apt-file. Der Schalter -f dient dabei zur Ausgabe der Dateien im angefragten Paket, was wir nachfolgend erneut anhand des Pakets xterm illustrieren.

Ergebnis der Recherche zum Paket xterm

$ dglob -f xterm
/etc/X11/app-defaults/UXTerm-color
/etc/X11/app-defaults/UXTerm
/etc/X11/app-defaults/KOI8RXTerm-color
/etc/X11/app-defaults/KOI8RXTerm
/etc/X11/app-defaults/XTerm-color
/etc/X11/app-defaults/XTerm
/usr/share/man/man1/lxterm.1.gz
...
$

Das Kommando dglob agiert üblicherweise nur auf den bereits installierten Paketen. Mit dem Schalter -a weiten Sie Ihre Recherche auf alle verfügbaren Pakete aus — auch auf diejenigen, die noch nicht installiert sind. Für diesen Schritt setzt dglob auf das Programm grep-aptavail aus dem Paket dctrl-tools [Debian-Paket-dctrl-tools] auf. Nähere Informationen zu dctrl-tools erfahren Sie unter Kapitel 13, Erweiterte Paketklassifikation mit Debtags.