table of contents
dpkg-query(1) | dpkg suite | dpkg-query(1) |
BEZEICHNUNG¶
dpkg-query - ein Werkzeug zur Abfrage der Dpkg-Datenbank
ÜBERSICHT¶
dpkg-query [Option …] Befehl
BESCHREIBUNG¶
dpkg-query ist ein Werkzeug, um Informationen über Pakete zu zeigen, die in der dpkg-Datenbank aufgeführt sind.
BEFEHLE¶
- -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-Platzhalter 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:
Paketstatus:
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 …]
- Wie die Option --list wird dies alle Pakete auflisten, die auf das
angegebene Muster passen. Allerdings kann die Ausgabe mit der Option
--showformat angepasst werden.
Das Vorgabeausgabeformat führt zu einer Zeile pro passendem Paket. Jede Zeile besteht aus dem Paketnamen und seiner installierten Version, getrennt durch einen Tabulator. Der Paketname wird durch den Architekturnamen qualifiziert, wenn das Feld Multi-Arch mit dem Wert same oder einer fremden Architektur, was eine Architektur ist, die weder die native noch all ist, belegt ist.
- -s, --status [Paketname …]
- Meldet den Zustand der angegebenen Pakete. 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.
Jede Dateiumleitung wird auf seiner eigenen Zeile nach der umgeleiteten Datei ausgegeben, wobei eine der folgenden lokalisierten Zeichenketten vorangestellt wird:
lokal umgeleitet zu: umgeleitet-zu
Paket leitet andere um zu: umgeleitet-zu
umgeleitet durch Paket zu: umgeleitet-zuTipp: Wenn Maschinen die Ausgabe auswerten, ist es üblich, die Locale auf C.UTF-8 zu setzen, um reproduzierbare Ausgaben zu erhalten. Auf einigen Systemen könnte es auch notwendig sein, die Umgebungsvariable LANGUAGE geeignet anzupassen, falls sie bereits gesetzt ist (siehe locale(7)).
Dieser Befehl wird weder die zusätzlichen Dateien, die durch Betreuer-Skripte angelegt wurden, noch Alternativen aufführen.
- --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 die bestimmten Muster passen,
gehören. Die normalen Platzhalter („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.
Das Ausgabeformat besteht aus einer Zeile pro passendem Muster, mit einer Liste von Paketen, die den Pfadnamen besitzen, getrennt durch Kommata (U+002C „,“) und einem Leerzeichen (U+0020 „ “), gefolgt von einem Doppelpunkt (U+003A „:“) und einem Leerzeichen, gefolgt durch den Pfadnamen. Wie in:
Paketename1, Paketename2: Pfadname1 Paketename3: Pfadname2
Dateiumleitungen werden mit den folgenden lokalisierten Zeichenketten ausgegeben:
Umleitung durch Paketname von: umgeleitet-von
Umleitung durch Paketname zu: umgeleitet-zuoder für lokale Umleitungen:
lokale Umleitung von: umgeleitet-von
lokale Umleitung zu: umgeleitet-zuTipp: Wenn Maschinen die Ausgabe auswerten, ist es üblich, die Locale auf C.UTF-8 zu setzen, um reproduzierbare Ausgaben zu erhalten.
- -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 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.
OPTIONEN¶
- --admindir=Verz
- Ändert den Ablageort der dpkg-Datenbank. Der Standardort ist /var/lib/dpkg.
- --root=Verzeichnis
- Setzt das Wurzelverzeichnis auf Verzeichnis, wodurch das Administrationsverzeichnis auf „Verzeichnis/var/lib/dpkg“ gesetzt wird (seit Dpkg 1.21.0).
- --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 „\“ Maskiersequenzen ein:
„\“ 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
- Description-md5 (intern, Oberflächen-bezogen)
- Enhances
- Protected
- Essential
- Filename (intern, Oberflächen-bezogen)
- Homepage
- Installed-Size
- MD5sum (intern, Oberflächen-bezogen)
- MSDOS-Filename (inter, Oberflächen-bezogen)
- Maintainer
- Origin
- Package
- Pre-Depends
- Priority
- Provides
- Recommends
- Replaces
- Revision (veraltet)
- Section
- SHA1 (intern, Oberflächen-bezogen)
- SHA256 (intern, Oberflächen-bezogen)
- SHA512 (intern, Oberflächen-bezogen)
- Size (intern, Oberflächen-bezogen)
- Source
- Status (intern)
- Suggests
- Tag (normalerweise nicht im .deb, sondern in Depot-Packages-Dateien)
- Triggers-Awaited (intern)
- Triggers-Pending (intern)
- Version
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, für Pakete mit einem Feld Multi-Arch mit dem Wert same oder mit einer fremden Architektur, die eine Architektur ist, die weder nativ noch all 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 -f='${binary:Package} ${Version}\t${Maintainer}\n' \ -W dpkg
RÜCKGABEWERT¶
- 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.
UMGEBUNG¶
Externe Umgebung¶
- SHELL
- Setzt das auszuführende Programm, wenn ein Befehl über eine Shell ausgeführt wird (seit Dpkg 1.19.2).
- PAGER
- DPKG_PAGER
- 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_ROOT
- Falls gesetzt und die Option --root nicht angegeben wurde, wird dies als Dateisystemwurzelverzeichnis verwandt (seit Dpkg 1.21.0).
- DPKG_ADMINDIR
- Falls gesetzt und die Option --admindir nicht verwandt wurde, wird dies als Datenverzeichnis von dpkg verwandt.
- DPKG_DEBUG
- Setzt die Fehlersuchmaske (seit Dpkg 1.21.10) aus einem oktalen Wert. Die derzeit akzeptierten Schalter werden in der Option dpkg --debug beschrieben, aber nicht alle dieser Schalter könnten Auswirkungen auf dieses Programm haben.
- DPKG_COLORS
- Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterstützten Werte sind: auto (Vorgabe), always und never.
- DPKG_NLS
- Falls dies gesetzt ist, wird es zur Entscheidung, ob Native Language Support, auch als Unterstützung für Internationalisierung (oder i18n) bekannt, aktiviert wird (seit Dpkg 1.22.7). Die akzeptierten Werte sind: 0 und 1 (Vorgabe).
Interne Umgebung¶
- 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".
SICHERHEIT¶
Abfrageaktionen sollten niemals Root benötigen und die Übertragung ihrer Ausführung auf nichtprivilegierte Benutzer mittels eines Werde-Root-Befehls kann Sicherheitsauswirkungen haben (wie eine Privilegieneskalation), beispielsweise wenn ein Seitenanzeigeprogramm von einem Werkzeug automatisch aufgerufen wird.
SIEHE AUCH¶
ÜBERSETZUNG¶
Die deutsche Übersetzung wurde 2004, 2006-2024 von Helge Kreutzmann <debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de> und 2008 von Sven Joachim <svenjoac@gmx.de> 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.
2024-08-01 | 1.22.11 |