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:
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.
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.
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.
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 ... $
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.
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 ... $
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 ... $
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 ... $
apt-file in den VeröffentlichungenIn 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.
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.