dpkg-query - ein Werkzeug zur Abfrage der Dpkg-Datenbank
ÜBERSICHT
dpkg-query [Option …] Befehl
dpkg-query ist ein Werkzeug, um Informationen über
Pakete zu zeigen, die in der dpkg-Datenbank aufgeführt
sind.
- -l, --list
[Paketname-Muster …]
- Listet alle bekannten Pakete auf, deren Namen auf ein oder mehrere
bestimmte Muster passen, unabhängig ihres Status. Dazu
gehören alle echten und virtuellen Pakete, die in irgendeinem
Abhängigkeitsbeziehungsfeld (wie Breaks, Enhances
usw.) referenziert sind. Falls kein Paketname-Muster angegeben ist,
werden alle Pakete in /var/lib/dpkg/status aufgelistet. Dabei
werden alle Pakete ausgeschlossen, die als
„nicht-installiert“ markiert sind (d.h. früher
endgültig entfernt wurden). Normale Shell-Jokerzeichen sind im
Paketname-Muster erlaubt. Beachten Sie, dass Sie wahrscheinlich
Paketname-Muster durch Anführungszeichen schützen
müssen, um die Shell an der Dateinamen-Expansion zu hindern.
Folgender Befehl listet beispielsweise alle Paketnamen, die mit
„libc6“ beginnen, auf:
dpkg-query -l 'libc6*'
Die ersten drei Spalten der Ausgabe zeigen die
gewünschte Aktion, den Paketstatus und Fehler, in dieser
Reihenfolge.
Gewünschte Aktion:
u = Unbekannt
i = Installieren
h = Halten
r = Entfernen
p = Vollständig Löschen
Paketstatus:
n = Nicht installiert
c = Config-Datei
H = Halb installiert
U = Entpackt
F = Fehlgeschl. Konfiguration
W = Trigger erWartet
t = Trigger anhängig
i = Installiert
Fehler-Schalter:
<leer> = (kein)
R = Neuinstallation notwendig
Ein Großbuchstabe als Status oder Fehler zeigt an, dass
das Paket wahrscheinlich schwere Fehler verursachen wird. Bitte lesen
Sie dpkg(1) über die oben genannten Zustände und
Schalter.
Das Ausgabeformat dieser Option kann nicht konfiguriert
werden, variiert aber automatisch mit der Terminalbreite. Die Ausgabe
ist für menschliche Leser gedacht und nicht leicht
maschinenlesbar. Lesen Sie über die Optionen -W
(--show) und --showformat, um das Ausgabeformat zu
konfigurieren.
- -W, --show
[Paketname-Muster …]
- Genau wie die Option --list wird dies alle Pakete, die auf das
angegebene Muster passen, aufführen. Allerdings kann die Ausgabe
mit der Option --showformat angepasst werden. Im
Standardausgabeformat wird eine Zeile pro passendem Paket ausgegeben,
wobei in jeder Zeile Name (erweitert mit der Architekturspezifikation
für Multi-Arch-same-Pakete) und installierte Version
des Pakets getrennt durch einen Tabulator enthalten sind.
- -s, --status
[Paketname …]
- Meldet den Zustand des angegebenen Paketes. Dies zeigt nur den Eintrag in
der Datenbank der Zustände der installierten Pakete. Falls kein
Paketname festgelegt ist, werden alle Paketeinträge in der
Statusdatenbank angezeigt (seit Dpkg 1.19.1). Wenn mehrere
Paketname-Einträge aufgeführt sind, werden die
angeforderten Statuseinträge durch Leerzeilen getrennt, wobei die
Reihenfolge identisch zu der in der Argumentenliste ist.
- -L, --listfiles
Paketname …
- Führt Dateien auf, die durch Paketname installiert wurden.
Wenn mehrere Paketnamen aufgeführt sind, werden die
angeforderten Dateilisten durch Leerzeilen getrennt, wobei die Reihenfolge
identisch zu der in der Argumentenliste ist. Beachten Sie aber, dass
Dateien, die durch Paket-spezifische Installationsskripte angelegt wurden,
nicht aufgeführt werden.
- --control-list
Paketname
- Führt Steuerdateien auf, die auf Ihrem System von Paketname
installiert wurden (seit Dpkg 1.16.5). Diese können als
Eingabeargumente für --control-show verwandt werden.
- --control-show
Paketname Steuerdatei
- Gibt die Steuerdatei, die auf Ihrem System von Paketname
installiert wurde, auf der Standardausgabe aus (seit Dpkg 1.16.5).
- -c, --control-path
Paketname [Steuerdatei]
- Listet die Pfade für Steuerdateien auf, die von Paketname
auf Ihrem System installiert wurden (seit Dpkg 1.15.4). Falls
Steuerdatei angegeben wurde, wird nur der Pfad für diese
Steuerdatei aufgelistet, falls sie existiert.
Warnung: Dieser Befehl ist veraltet, da er direkten
Zugriff auf die interne Dpkg-Datenbank gibt. Bitte wechseln Sie
stattdessen zu --control-list und --control-show
für alle Fälle, in denen diese Befehle die gleichen
Ergebnisse liefern. Solange es noch mindestens einen Fall gibt, in dem
dieser Befehl benötigt wird (d.h. wenn ein beschädigendes
Postrm-Betreuerskript entfernt werden muss), und solange es keine gute
Lösung dafür gibt, wird dieser Befehl nicht entfernt.
- -S, --search
Dateiname-Suchmuster …
- Sucht nach Paketen, denen Dateien, die auf ein bestimmtes Muster passen,
gehören. Die normalen Jokerzeichen („wildcards“) der
Shell können in diesem Muster verwandt werden, wobei der Stern
(*) und das Fragezeichen (?) auf einen Schrägstrich
passen und der Rückwärtsschrägstrich (\) als
Maskierzeichen verwandt wird.
Falls das erste Zeichen im Dateiname-Suchmuster keines
aus ‚*[?/’ ist, dann wird es als
Teilzeichenkette-Vergleich betrachtet und implizit durch
‚*’ eingeschlossen (wie in
*Dateiname-Suchmuster*). Falls die nachfolgende
Zeichenkette etwas aus ‚*[?\’ enthält, dann
wird dies wie ein Glob-Muster behandelt, andernfalls werden alle
abschließenden ‚/’ oder
‚/.’ entfernt und ein „literal path
lookup“ durchgeführt.
Dieser Befehl wird weder die zusätzlichen Dateien, die
durch Betreuer-Skripte angelegt wurden, noch Alternativen
aufführen.
- -p, --print-avail
[Paketname …]
- Zeigt Details über Pakete an, wie diese in
/var/lib/dpkg/available vorliegen. Falls kein Paketname
festgelegt ist, werden alle in der Datenbank available
verfügbaren Paketeinträge angezeigt (seit Dpkg 1.19.1). Wenn
mehrere Paketnamen aufgeführt sind, werden die angeforderten
available-Einträge durch Leerzeilen getrennt, wobei die
Reihenfolge identisch zu der in der Argumentenliste ist.
Benutzer APT-basierter Oberflächen sollten apt-cache
show Paketname verwenden, da die Datei available nur
bei der Benutzung von dselect aktuell bleibt.
- -?, --help
- Zeigt einen Hinweis zum Aufruf und beendet das Programm.
- --version
- Gibt die Version aus und beendet das Programm.
- --admindir=Verz
- Ändert den Ablageort der dpkg-Datenbank. Der Standardort ist
/var/lib/dpkg.
- --load-avail
- Lädt auch die „available“-Datei, wenn die Befehle
--show und --list verwandt werden, die jetzt
standardmäßig nur die Statusdatei laden (seit Dpkg
1.16.2).
- --no-pager
- Deaktiviert die Verwendung jeglichen Pagers bei der Anzeige von
Informationen (seit Dpkg 1.19.2).
- -f,
--showformat=Format
- Diese Option wird dazu verwendet, das Format der Ausgabe anzugeben, das
--show verwenden wird (kurze Option seit Dpkg 1.13.1). Das Format
ist eine Zeichenkette, die für jedes aufgeführte Paket
ausgegeben wird.
In der Formatzeichenkette leitet „\“
Escape-Sequenzen ein:
\n Zeilenumbruch
\r Wagenrücklauf
\t Tabulator
„\“ vor einem anderen Zeichen
unterdrückt jede spezielle Bedeutung des folgenden Zeichens. Dies
ist für „\“ und „$“
nützlich.
Paketinformationen können einbezogen werden, indem
Variablenreferenzen auf Paketfelder eingefügt werden. Hierbei
wird folgende Syntax verwendet:
„${Feld[;Breite]}“.
Felder werden rechtsbündig ausgegeben, falls die Breite nicht
negativ ist und somit linksbündige Ausgabe erfolgt. Die folgenden
Felder werden verstanden, sind aber nicht notwendigerweise in der
Status-Datei verfügbar (nur interne Felder oder Felder, die im
Binärpaket abgespeichert sind, landen dort):
Architecture
Bugs
Conffiles (intern)
Config-Version (intern)
Conflicts
Breaks
Depends
Description
Enhances
Essential
Filename (intern, Oberflächen-bezogen)
Homepage
Installed-Size
MD5sum (intern, Oberflächen-bezogen)
MSDOS-Filename (intern, Oberflächen-bezogen)
Maintainer
Origin
Package
Pre-Depends
Priority
Provides
Recommends
Replaces
Revision (veraltet)
Section
Size (intern, Oberflächen-bezogen)
Source
Status (intern)
Suggests
Tag (normalerweise nicht im .deb, sondern in Packages-Dateien des Depots)
Triggers-Awaited (intern)
Triggers-Pending (intern)
Version
show:Summary (virtuell)
show:Status-Abbrev (virtuell)
Die folgenden Felder sind virtuell, sie werden von
dpkg-query aus Werten aus anderen Feldern erstellt (beachten Sie,
dass diese keine gültigen Namen für Felder in
Steuerdateien benutzen):
- binary:Package
- Es enthält den Binärpaketnamen mit einer möglichen
Architekturspezifikation wie „libc6:amd64“ (seit Dpkg
1.16.2). Eine Architekturspezifikation dient dazu, einen eindeutigen
Paketnamen zu erzeugen, falls beispielsweise das Paket ein Feld
Multi-Arch mit dem Wert same hat oder das Paket für
eine fremde Architektur ist.
- binary:Synopsis
- Es enthält die Kurzbeschreibung des Pakets (seit Dpkg 1.19.1).
- binary:Summary
- Dies ist ein Alias für binary:Synopsis (seit Dpkg
1.16.2).
- db:Status-Abbrev
- Es enthält den abgekürzten Paketstatus (als drei Zeichen)
wie „ii “ oder „iHR“ (seit Dpkg 1.16.2). Lesen
Sie die Beschreibung von --list für weitere Details.
- db:Status-Want
- Es enthält den gewünschten Status des Pakets, Teil des
Statusfeldes (seit Dpkg 1.17.11).
- db:Status-Status
- Es enthält das Paketstatuswort, Teil des Statusfeldes (seit Dpkg
1.17.11).
- db:Status-Eflag
- Es enthält den Paketstatusfehlerschalter, Teil des Statusfeldes
(seit Dpkg 1.17.11).
- db-fsys:Files
- Es enthält die Liste der Paketdateisystemeinträge, getrennt
durch Zeilenumbrüche (seit Dpkg 1.19.3).
- db-fsys:Last-Modified
- Es enthält den Zeitstempel in Sekunden des letzten Zeitpunkts, zu
dem der Paketdateisystemeintrag geändert wurde (seit Dpkg
1.19.3).
- source:Package
- Es enthält den Quellpaketnamen für dieses Binärpaket
(seit Dpkg 1.16.2).
- source:Version
- Es enthält die Quellpaketversion für dieses
Binärpaket (seit Dpkg 1.16.2).
- source:Upstream-Version
- Es enthält die Quellpaketversion der Originalautoren für
dieses Binärpaket (seit Dpkg 1.18.16).
- Die Standard-Formatzeichenkette ist
„${binary:Package}\t${Version}\n“. Tatsächlich
können auch alle anderen Felder, die in der Statusdatei gefunden
werden können (d.h. benutzerdefinierte Felder), abgefragt werden.
Sie werden so dargestellt, wie sie gefunden werden, es erfolgt keine
Umwandlung oder Fehlerüberprüfung. Um den Namen des
dpkg-Betreuers und die installierte Version zu erhalten,
könnten Sie Folgendes ausführen:
dpkg-query -W -f='${binary:Package} ${Version}\t${Maintainer}\n' dpkg
- 0
- Die angeforderte Abfrage wurde erfolgreich ausgeführt.
- 1
- Die angeforderte Abfrage schlug entweder ganz oder teilweise fehl, da
keine Datei oder kein Paket gefunden wurde (außer für
--control-path, --control-list und --control-show,
bei denen solche Fehler fatal sind).
- 2
- Fataler oder nicht behebbarer Fehler aufgrund eines ungültigen
Befehlszeilenaufrufs oder Interaktionen mit dem System, wie Zugriffe auf
die Datenbank, Speicherzuweisungen usw.
- SHELL
- Setzt das auszuführende Programm, wenn ein Befehl über eine
Shell ausgeführt wird (seit Dpkg 1.19.2).
- Setzt den zu verwendenden Pager-Befehl (seit Dpkg 1.19.1), der mit
„$SHELL -c“ ausgeführt wird. Falls
SHELL nicht gesetzt ist, wird stattdessen „sh“
verwandt. DPKG_PAGER setzt die Umgebungsvariable PAGER
außer Kraft (seit Dpkg 1.19.2).
- DPKG_ADMINDIR
- Falls gesetzt und die Option --admindir nicht verwandt wurde, wird
dies als Datenverzeichnis von dpkg verwandt.
- DPKG_COLORS
- Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterstützten
Werte sind: auto (Vorgabe), always und never.
- LESS
- Von dpkg-query auf „-FRSXMQ“ definiert, falls
es nicht bereits gesetzt ist oder wenn ein Pager gestartet wird (seit Dpkg
1.19.2). Um das Vorgabeverhalten zu verändern, kann diese Variable
auf einen anderen Wert einschließlich der leeren Zeichenkette
voreingestellt werden oder die Variablen PAGER oder
DPKG_PAGER können gesetzt werden, um bestimmte Optionen mit
„-+“ zu deaktivieren, beispielsweise
DPKG_PAGER="less -+F".
ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2020 von Helge
Kreutzmann <debian@helgefjell.de>, 2007 von Florian Rehnisch
<eixman@gmx.de>, 2008 von Sven Joachim <svenjoac@gmx.de> und
2019,2020 von Mario Blättermann <mario.blaettermann@gmail.com>
angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General Public License Version 2 oder neuer für die
Kopierbedingungen. Es gibt KEINE HAFTUNG.