dpkg-query(1) ein Werkzeug, um die dpkg-Datenbank abzufragen

Ü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 …]
Liste Pakete auf, deren Namen auf ein bestimmtes Muster passt. Falls kein Paketname-Muster angegeben ist, liste alle Pakete in /var/lib/dpkg/status auf. 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 --list-Option wird dies alle Pakete, die auf das angegebene Muster passen, aufführen. Allerdings kann die Ausgabe mit der --showformat-Option angepasst werden. Im Standardausgabeformat wird eine Zeile pro passendem Paket ausgegeben, wobei in jeder Zeile Name (erweitert mit der Architektur-Spezifizierung für Multi-Arch-same-Pakete) und installierte Version des Pakets getrennt durch einen Tabulator enthalten sind.
-s, --status Paketname
Berichte Zustand des angegebenen Paketes. Dies zeigt nur den Eintrag in der Datenbank der Zustände der installierten Pakete. Wenn mehrere Paketname aufgeführt sind, werden die angeforderten Statuseinträge durch Leerzeilen getrennt, wobei die Reihenfolge identisch zu der in der Argumentenliste ist.
-L, --listfiles Paketname
Aufführen von Dateien, die durch Paketname installiert wurden. Wenn mehrere Paketname 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
Aufführen von Steuerdateien, 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
Die Steuerdatei, die auf Ihrem System von Paketname installiert wurde, auf der Standardausgabe ausgeben (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, liste nur den Pfad für diese Steuerdatei auf, 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 geben. 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
Suche nach Paketen, denen Paketen, 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 inverse Schrägstrich (\) als Maskierzeichen verwandt wird.

Falls das erste Zeichen im Dateiname-Suchmuster keines aus '*[?/' ist, dann wird es als Teilzeichenkette-Suche betrachtet und implizit durch '*' eingeschlossen (wie in *filename-search-pattern*). 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
Zeige Details über Paketname an, wie diese in /var/lib/dpkg/available vorliegen. Wenn mehrere Paketname 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
Zeige den Bedienungshinweis und beende.
--version
Gebe die Version aus und beende sich.

OPTIONEN

--admindir=Verz
Ändert den Ablageort der dpkg-Datenbank. Der Standardort ist /var/lib/dpkg.
--load-avail
Auch die »available«-Datei laden, wenn die Befehle --show und --list verwandt werden, die jetzt standardmnäßig nur die Statusdatei laden (seit Dpkg 1.16.2).
-f, --showformat=Format
Diese Option wird dazu verwendet, das Format der Ausgabe anzugeben, das --show verwenden wird. 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 Architektur-Spezifizierung wie "libc6:amd64" (seit Dpkg 1.16.2). Eine Architektur-Spezifizierung 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:Summary
Es enthält die Kurzbeschreibung des Pakets (seit Dpkg 1.16.2).
db:Status-Abbrev
It contains the abbreviated package status (as three characters), such as "ii " or "iHR" (since dpkg 1.16.2). See the --list command description for more 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).
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).
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

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 ungültiger Befehlszeilenverwendung oder Interaktionen mit dem System, wie Zugriffe auf die Datenbank, Speicherzuweisungen usw.

UMGEBUNG

DPKG_ADMINDIR
Falls gesetzt und die Option --admindir nicht verwandt wurde, wird dies als Datenverzeichnis von dpkg verwandt.
COLUMNS
Diese Einstellung beeinflusst die Ausgabe der --list-Option durch Verändern der Breite ihrer Ausgabe.

ÜBERSETZUNG

Die deutsche Übersetzung wurde 2004, 2006-2016 von Helge Kreutzmann <[email protected]>, 2007 von Florian Rehnisch <[email protected]> und 2008 von Sven Joachim <[email protected]> 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.