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:

    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). Falls keines der Programme, auf die DPKG_PAGER oder PAGER zeigen, vorhanden ist, werden die folgenden Programme in dieser Reihenfolge ausprobiert (seit Dpkg 1.22.12): das Standardseitenanzeigeprogramm pager, dann less(1), more(1) und schließlich cat(1).

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-2025 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.