Manpages

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:
u= unbekannt
i = Installieren
h = halten
r = entfernen
p = endgültig löschen

Paketstatus:
n = nicht-installiert
c = Config-Dateien
H = halb-installiert
U = entpackt
F = halb-konfiguriert
W = Trigger-erwartend
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 …]

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-zu

Tipp: 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-zu

oder für lokale Umleitungen:

lokale Umleitung von: umgeleitet-von
lokale Umleitung zu: umgeleitet-zu

Tipp: 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:
\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
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

dpkg(1).

ÜBERSETZUNG

Die deutsche Übersetzung wurde 2004, 2006-2024 von Helge Kreutzmann <debian [AT] helgefjell.de>, 2007 von Florian Rehnisch <eixman [AT] gmx.de> und 2008 von Sven Joachim <svenjoac [AT] 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.