Provided by: dpkg_1.22.21ubuntu3.1_amd64 

BEZEICHNUNG
dpkg - Paketverwalter für Debian
ÜBERSICHT
dpkg [Option …] Aktionen
WARNUNG
Dieses Handbuch ist für Benutzer gedacht, die die Befehlszeilenoptionen und Paketzustände von dpkg
detaillierter verstehen wollen, als durch dpkg --help beschrieben ist.
Es sollte nicht von Paketbetreuern verwendet werden, die verstehen wollen, wie dpkg ihr Paket
installieren wird. Die Beschreibung der Aktionen von dpkg beim Installieren und Entfernen von Paketen ist
besonders unzulänglich.
BESCHREIBUNG
dpkg ist ein Werkzeug mittlerer Stufe, um Debian-Pakete zu installieren, zu bauen, zu entfernen und zu
verwalten. Die primäre und benutzerfreundlichere Oberfläche für dpkg als CLI (Befehlszeilenwerkzeug) ist
apt(8) und als TUI (Terminal-Benutzeroberfläche) ist aptitude(8). dpkg selbst wird komplett über
Befehlszeilenoptionen gesteuert, die aus genau einer Aktion und Null oder mehreren Optionen bestehen. Der
Aktionsparameter teilt dpkg mit, was zu tun ist, und die Optionen steuern die Aktionen in irgendeiner
Weise.
dpkg kann auch als Oberfläche für dpkg-deb(1) und dpkg-query(1) verwendet werden. Die Liste der
unterstützten Aktionen kann im Abschnitt AKTIONEN gefunden werden. Falls so eine Aktion angetroffen wird,
führt dpkg einfach dpkg-deb oder dpkg-query mit den übergebenen Parametern aus, allerdings werden derzeit
keine spezifischen Optionen an diese übergeben. Um solche Optionen zu verwenden, müssen die Backends
direkt aufgerufen werden.
INFORMATIONEN ÜBER PAKETE
dpkg verwaltet einige nützliche Informationen über verfügbare Pakete. Die Informationen sind in drei
Klassen unterteilt: Status, Auswahlstatus und Schalter. Diese Werte sind hauptsächlich zur Änderung durch
dselect gedacht.
Paketstatus
not-installed (nicht-installiert)
Das Paket ist nicht auf Ihrem System installiert.
config-files (Config-Dateien)
Nur die Konfigurationsdateien oder das Skript postrm und die von ihm für das Entfernen des Pakets
benötigten Daten existieren auf dem System.
half-installed (halb-installiert)
Die Installation des Paketes wurde begonnen, aber aus irgendeinem Grund nicht abgeschlossen.
unpacked (entpackt)
Das Paket ist entpackt, aber nicht konfiguriert.
half-configured (halb-konfiguriert)
Das Paket ist entpackt und die Konfiguration wurde begonnen, aber aus irgendeinem Grund nicht
abgeschlossen.
triggers-awaited (Trigger-erwartend)
Das Paket erwartet Trigger-Verarbeitung durch ein anderes Paket.
triggers-pending (Trigger-anhängig)
Das Paket wurde getriggert.
installed (installiert)
Das Paket ist korrekt entpackt und konfiguriert.
Paketauswahlstatus
install (installiere)
Das Paket ist zur Installation ausgewählt.
hold (halten)
Eine mit halten markierte Version wird auf der gleichen Version gehalten, d.h. keine automatischen
Installationen, Upgrades oder Entfernungen werden mit ihnen durchgeführt, außer diese Aktionen werden
explizit angefordert oder mit der Option --force-hold automatisch durchgeführt.
deinstall (deinstalliere)
Das Paket ist zur Deinstallation ausgewählt (d.h. wir wollen alle Dateien außer den
Konfigurationsdateien entfernen).
purge (vollständig löschen)
Das Paket ist zum vollständigen Löschen („purge“) ausgewählt (d.h. wir wollen alle Dateien aus den
Systemverzeichnissen inklusive der Konfigurationsdateien entfernen).
unknown (unbekannt)
Die Paketauswahl ist unbekannt. Ein Paket, das auch im Zustand not-installed und ohne Schalter ok
ist, wird beim nächsten Abspeichern der Datenbank vergessen.
Paketschalter
ok Ein mit ok markiertes Paket ist in einem bekannten Zustand, kann aber weitere Verarbeitung benötigen.
reinstreq (Neuinstnotwendig)
Ein mit Neuinstnotwendig markiertes Paket ist defekt und muss erneut installiert werden. Diese Pakete
können nicht entfernt werden, es sei denn, Sie erzwingen dies mit der Option
--force-remove-reinstreq.
AKTIONEN
-i, --install Paketdatei …
Installiert das Paket. Falls die Option --recursive oder -R angegeben ist, muss sich Paketdatei
stattdessen auf ein Verzeichnis beziehen.
Die Installation besteht aus folgenden Schritten:
1. Die Steuerdateien aus dem neuen Paket wird entnommen.
2. Falls eine andere Version des gleichen Pakets vor der neuen Installation installiert war, dann
wird das prerm-Skript des alten Paketes ausgeführt.
3. Das preinst-Skript wird ausgeführt, falls dies vom Paket bereitgestellt wird.
4. Die neuen Dateien werden entpackt und gleichzeitig die alten Dateien gesichert, so dass diese,
falls etwas schief geht, wiederhergestellt werden können.
5. Falls eine andere Version des gleichen Pakets vor der neuen Installation installiert war, dann
wird das postrm-Skript des alten Paketes ausgeführt. Beachten Sie, dass dieses Skript nach dem
preinst-Skript des neuen Pakets ausgeführt wird, da neue Dateien zeitgleich zu der Entfernung
alter Dateien geschrieben werden.
6. Das Paket wird konfiguriert. Lesen Sie --configure für detaillierte Informationen, wie dies
geschieht.
--unpack Paketdatei …
Entpackt das Paket, konfiguriert es aber nicht. Falls die Option --recursive oder -R angegeben ist,
muss sich Paketdatei stattdessen auf ein Verzeichnis beziehen.
Verarbeitet Trigger für Pre-Depends, außer --no-triggers wurde angegeben.
--configure Paket …|-a|--pending
Konfiguriert ein entpacktes, aber noch nicht konfiguriertes Paket. Falls -a oder --pending anstelle
von Paket angegeben ist, werden alle entpackten, aber nicht konfigurierten Pakete konfiguriert.
Um ein Paket zu rekonfigurieren, das bereits konfiguriert wurde, verwenden Sie stattdessen den Befehl
dpkg-reconfigure(8). Dieser Befehl ist Teil des Projekts debconf.
Die Konfiguration besteht aus folgenden Schritten:
1. Die Conffiles werden entpackt und gleichzeitig die alten Conffiles gesichert, so dass diese,
falls etwas schief geht, wiederhergestellt werden können.
2. Das postinst-Skript wird ausgeführt, falls dies vom Paket bereitgestellt wird.
Verarbeitet Trigger, außer --no-triggers wurde angegeben.
--triggers-only Paket …|-a|--pending
Verarbeitet nur Trigger (seit Dpkg 1.14.17). Alle ausstehenden Trigger werden verarbeitet. Falls
Paketnamen übergeben werden, werden nur die Trigger dieser Pakete verarbeitet, jedes genau einmal, wo
notwendig. Die Verwendung dieser Option kann Pakete in die unzulässigen Zustände triggers-awaited und
triggers-pending bringen. Durch die Ausführung von „dpkg --configure --pending“ kann dies später
behoben werden.
-r, --remove Paket…|-a|--pending
Entfernt ein installiertes Paket. Dies entfernt alles außer Conffiles und anderen Daten, die vom
Skript postrm bereinigt werden, da damit eine erneute Konfiguration des Paketes vermieden wird, falls
es später nochmals installiert wird. Conffiles sind Konfigurationsdateien, die in der Steuerdatei
DEBIAN/conffiles aufgeführt sind. Falls es keine Steuerdatei DEBIAN/conffiles oder kein Skript
DEBIAN/postrm gibt, ist dieser Befehl äquivalent zum Aufruf von --purge. Falls statt des Paketnamens
-a oder --pending angegeben wird, werden alle Pakete, die entpackt, aber in der Datei
/var/lib/dpkg/status zur Entfernung vorgemerkt sind, entfernt.
Entfernung eines Paketes besteht aus den folgenden Schritten:
1. Das prerm-Skript wird ausgeführt.
2. Die installierten Dateien werden entfernt.
3. Das postrm-Skript wird ausgeführt.
Verarbeitet Trigger, außer --no-triggers wurde angegeben.
-P, --purge Paket…|-a|--pending
Löscht ein installiertes oder bereits entferntes Paket vollständig. Damit wird alles entfernt, auch
Conffiles und alles, was im Skript postrm bereinigt wird. Falls statt des Paketnamens -a oder
--pending angegeben wird, werden alle Pakete, die entpackt oder entfernt, aber in der Datei
/var/lib/dpkg/status zum vollständigen Löschen vorgemerkt sind, vollständig gelöscht.
Hinweis: Einige Konfigurationsdateien können dpkg nicht bekannt sein, da sie separat durch die
Konfigurationsskripte angelegt und verwaltet werden. In diesem Fall wird dpkg sie nicht selbst
entfernen, sondern das Skript postrm (das von dpkg aufgerufen wird) des Pakets muss sich während des
vollständigen Löschens um das Entfernen kümmern. Natürlich betrifft dies nur Dateien in den
Systemverzeichnissen, nicht Konfigurationsdateien, die in die Home-Verzeichnisse der individuellen
Benutzer geschrieben werden.
Endgültiges Löschen eines Paketes besteht aus den folgenden Schritten:
1. Das Paket wird entfernt, falls es noch nicht entfernt ist. Lesen Sie --remove für detaillierte
Informationen, wie dies erfolgt.
2. Das postrm-Skript wird ausgeführt.
Verarbeitet Trigger, außer --no-triggers wurde angegeben.
-V, --verify [Paketname …]
Überprüft die Integrität von Paketname oder allen Paketen, falls nicht angegeben, indem Informationen
aus den durch ein Paket installierten Dateien mit den in der dpkg-Datenbank gespeicherten
Dateimetadateninformationen verglichen werden (seit Dpkg 1.17.2). Die Quelle der
Dateimetadateninformationen in der Datenbank ist das Binärpaket selbst. Diese Metadaten werden zum
Zeitpunkt des Entpackens während des Installationsprozesses gesammelt.
Derzeit ist die einzige funktionale Prüfung eine Md5sum-Überprüfung der Dateiinhalte mit dem
gespeicherten Wert in der Datei-Datenbank. Er wird nur geprüft, falls die Datenbank die Md5sum der
Datei enthält. Um auf fehlende Metadaten in der Datenbank zu prüfen, kann der Befehl --audit verwandt
werden. Dies ist nur eine Integritätsprüfung und sollte nicht als irgend eine Art von
Sicherheitsüberprüfung angesehen werden.
Das Ausgabeformat kann mit der Option --verify-format ausgewählt werden. Standardmäßig wird das
Format rpm verwandt. Das kann sich in der Zukunft aber ändern und daher sollten Programme, die die
Ausgabe dieses Befehls auswerten, explizit das Format angeben, das sie erwarten.
-C, --audit [Paketname …]
Führt Plausibilitäts- und Konsistenzprüfungen der Datenbank für Paketname oder alle Pakete, falls das
Argument fehlt, durch (pro-Paket-Prüfungen seit Dpkg 1.17.10). Sucht beispielsweise nach Paketen, die
auf Ihrem System nur teilweise installiert wurden oder fehlende, falsche oder veraltete Steuerdaten
oder -dateien haben. dpkg wird einen Vorschlag machen, was mit ihnen zur Korrektur gemacht werden
sollte.
--update-avail [Packages-Datei]
--merge-avail [Packages-Datei]
Aktualisiert dpkgs und dselects Verständnis darüber, welche Pakete verfügbar sind. Mit der Aktion
--merge-avail wird alte Information mit der Information aus der Packages-Datei zusammengeführt. Mit
der Aktion --update-avail wird die alte Information durch die Information aus der Packages-Datei
ersetzt. Die mit Debian vertriebene Packages-Datei heißt einfach „Packages“. Falls das Argument
Packages-file fehlt oder „-“ benannt ist, wird es aus der Standardeingabe lesen (seit Dpkg 1.17.7).
dpkg hält seine Aufzeichnungen über die verfügbaren Pakete in /var/lib/dpkg/available.
Ein einfacher Befehl, um die Datei available in einem Rutsch zu holen und zu aktualisieren, ist
dselect update. Beachten Sie, dass diese Datei nahezu nutzlos ist, falls Sie nicht dselect sondern
eine APT-basierte Oberfläche verwenden: APT verfügt über sein eigenes System, die verfügbaren Pakete
zu überwachen.
-A, --record-avail Paketdatei …
Aktualisiert mit den Informationen aus dem Paket Paketdatei dpkgs und dselects Verständnis darüber,
welche Pakete verfügbar sind. Falls die Option --recursive oder -R angegeben ist, muss sich
Paketdatei stattdessen auf ein Verzeichnis beziehen.
--forget-old-unavail
Jetzt veraltet und ohne Funktion, da dpkg automatisch nicht installierte nicht verfügbare Pakete
vergisst (seit Dpkg 1.15.4). Allerdings nur solche, die keine Benutzerinformationen enthalten, wie
Paketauswahlen.
--clear-avail
Löscht die existierenden Informationen darüber, welche Pakete verfügbar sind.
--get-selections [Paket-Name-Muster …]
Holt die Liste von Paketauswahlen und schreibt sie in die Standardausgabe. Ohne Muster werden nicht-
installierte Pakete (d.h. solche, die vorher „vollständig gelöscht“ wurden) nicht angezeigt.
--set-selections
Setzt die Paketauswahl durch Einlesen einer Datei von der Standardeingabe. Diese Datei sollte im
Format „Paket Zustand“ sein, wobei Zustand einer aus install, hold, deinstall oder purge ist.
Leerzeilen und Kommentarzeilen (beginnend mit ‚#’) sind auch erlaubt.
Die Datei available muss für diesen Befehl aktuell sein, damit dies von Nutzen ist, andernfalls
werden unbekannte Pakete mit einer Warnung ignoriert. Siehe die Befehle --update-avail und
--merge-avail für weitere Informationen.
--clear-selections
Setzt den erbetenen Zustand von jedem nicht-essenziellen Paket auf „Deinstallation“ (seit Dpkg
1.13.18). Dies ist dazu gedacht, direkt vor --set-selections verwendet zu werden, um jedes Paket, das
nicht in der Liste von --set-selections vorkommt, zu deinstallieren.
--yet-to-unpack
Sucht nach Paketen, die zur Installation ausgewählt wurden, die aber aus irgendeinem Grund noch nicht
installiert wurden.
Hinweis: Dieser Befehl verwendet sowohl die Datei „available“ als auch die Paketauswahlen.
--predep-package
Gibt ein einzelnes Paket aus, das das Ziel einer oder mehrerer relevanter Vorabhängigkeiten ist und
selbst keine unerfüllten Vorabhängigkeiten hat.
Falls ein solches Paket vorhanden ist, wird es als Dateieintrag für „Packages“ ausgegeben, der
passend weiterverarbeitet werden kann.
Hinweis: Dieser Befehl verwendet sowohl die Datei „available“ als auch die Paketauswahlen.
Liefert 0 zurück, wenn ein Paket ausgegeben wird und 1, wenn kein passendes Paket verfügbar ist und 2
im Fehlerfall.
--add-architecture Architektur
Fügt Architektur zu der Liste von Architekturen hinzu, für die Pakete ohne die Verwendung von
--force-architecture installiert werden können (seit Dpkg 1.16.2). Die Architektur, für die dpkg
gebaut wurde (d.h. die Ausgabe von --print-architecture), ist immer Teil der Liste.
--remove-architecture Architektur
Entfernt Architektur von der Liste von Architekturen, für die Pakete ohne die Verwendung von
--force-architecture installiert werden können (seit Dpkg 1.16.2). Falls die Architektur derzeit in
der Datenbank benutzt wird, dann wird die Durchführung verweigert, falls nicht --force-architecture
verwandt wird. Die Architektur, für die dpkg gebaut wurde (d.h. die Ausgabe von
--print-architecture), kann niemals von der Liste entfernt werden.
--print-architecture
Gibt die Architektur der Pakete aus, die dpkg installiert (beispielsweise „i386“).
--print-foreign-architectures
Gibt eine durch Zeilenumbrüche getrennte Liste von zusätzlichen Architekturen aus, für die dpkg
konfiguriert ist, Paketinstallationen zu erlauben (seit Dpkg 1.16.2).
--assert-help
Gibt Hilfe zu den Optionen --assert-Funktionalität aus (seit Dpkg 1.21.0).
--assert-Funktionalität
Bestätigt, dass dpkg die erbetene Funktionalität unterstützt. Liefert 0, falls die Funktionalität
voll unterstützt wird, 1, falls die Funktionalität bekannt ist, aber noch keine Unterstützung dafür
geliefert werden kann und 2, falls die Funktionalität unbekannt ist. Die aktuelle Liste von
bestätigbaren Funktionalitäten ist wie folgt:
support-predepends
Unterstützt das Feld Pre-Depends (seit Dpkg 1.1.0).
working-epoch
Unterstützt Epochen in Versionszeichenketten (seit Dpkg 1.4.0.7).
long-filenames
Unterstützt in deb(5)-Archiven lange Dateinamen (seit Dpkg 1.4.1.17).
multi-conrep
Unterstützt mehrere Conflicts und Replaces (seit Dpkg 1.4.1.19).
multi-arch
Unterstützt Multi-Arch-Felder und deren Semantik (seit Dpkg 1.16.2).
versioned-provides
Unterstützt versionierte Provides (seit Dpkg 1.17.11).
protected-field
Unterstützt das Feld Protected (seit Dpkg 1.20.1).
--validate-Sache Zeichenkette
Bestätigt, dass die Sachenzeichenkette eine korrekte Syntax hat (seit Dpkg 1.18.16). Liefert 0
zurück, falls die Zeichenkette gültig ist, 1 falls die Zeichenkette ungültig ist, aber in lockeren
Umgebungen akzeptiert werden könnte und 2, falls die Zeichenkette ungültig ist. Die aktuelle Liste
der überprüfbaren Sachen ist:
pkgname
Überprüft den übergebenen Paketnamen (seit Dpkg 1.18.16).
trigname
Überprüft den übergebenen Triggernamen (seit Dpkg 1.18.16).
archname
Überprüft den übergebenen Architekturnamen (seit Dpkg 1.18.16).
version
Überprüft die übergebene Version (seit Dpkg 1.18.16).
--compare-versions Ver1 op Ver2
Vergleicht Versionsnummern, wobei Op ein binärer Operator ist. dpkg liefert wahr (0), falls die
angegebene Bedingung erfüllt ist und falsch (1) andernfalls. Es gibt zwei Gruppen von Operatoren, die
sich in der Behandlung von leeren Ver1 oder Ver2 unterscheiden. Die folgenden behandeln leere
Versionen als jünger als jede andere Version: lt le eq ne ge gt. Die folgenden behandeln eine leere
Version als älter als jede Version: lt-nl le-nl ge-nl gt-nl. Die folgenden sind nur aus
Kompatibilität zu der Steuerdateisyntax bereitgestellt: < << <= = >= >> >. Die Operatoren < und >
sind obsolet und sollten nicht verwandt werden, da ihre Semantik verwirrend ist. Beispielsweise
ergibt 0.1 < 0.1 wahr.
-?, --help
Zeigt eine kurze Hilfenachricht an.
--force-help
Gibt Hilfe zu den Optionen --force-Sache aus.
-Dh, --debug=help
Gibt Hilfe zu Fehlersuchoptionen aus.
--version
Zeigt dpkg Versionsinformationen an.
Bei der Verwendung mit --robot wird die Ausgabe der Programmversionsnummer in einem numerischen,
durch Punkte getrennten Format erfolgen, ohne Zeilenumbrüche.
dpkg-deb-Aktionen
Lesen Sie dpkg-deb(1) für weitere Informationen über die folgenden Aktionen und andere Aktionen, die
durch die Oberfläche dpkg nicht offengelegt werden.
-b, --build Verzeichnis [Archiv|Verzeichnis]
Baut ein deb-Paket.
-c, --contents Archiv
Listet den Inhalt eines deb-Pakets auf.
-e, --control Archiv [Verzeichnis]
Entpackt die Steuer-Informationen aus einem Paket.
-x, --extract Archiv Verzeichnis
Entpackt die in einem Paket enthaltenen Dateien.
-X, --vextract Archiv Verzeichnis
Entpackt die in einem Paket enthaltenen Dateinamen und zeigt sie an.
-f, --field Archiv [Steuer-Feld…]
Zeigt das oder die Steuerfeld(er) eines Pakets an.
--ctrl-tarfile Archiv
Gibt die in einem Debian-Paket enthaltene Steuer-Tar-Datei aus.
--fsys-tarfile Archiv
Gibt die in einem Debian-Paket enthaltene Dateisystem-Tar-Datei aus.
-I, --info Archiv [Steuer-Datei…]
Zeigt Informationen über ein Paket an.
dpkg-query-Aktionen
Lesen Sie dpkg-query(1) für weitere Informationen über die folgenden Aktionen und andere Aktionen,
die durch die Oberfläche dpkg nicht offengelegt werden.
-l, --list Paketname-Muster…
Listet Pakete auf, die auf ein gegebenes Muster passen.
-s, --status Paketname…
Berichtet den Status von festgelegten Paketen.
-L, --listfiles Paketname …
Listet Dateien auf, die auf Ihrem System durch Paketname installiert wurden.
-S, --search Dateiname-Suchmuster …
Sucht nach einem Dateinnamen aus installierten Paketen.
-p, --print-avail Paketname…
Zeigt Details über Paketname an, wie sie in /var/lib/dpkg/available enthalten sind. Benutzer von
APT-basierten Oberflächen sollten stattdessen apt show Paketname verwenden.
OPTIONEN
Alle Optionen können auf der Befehlszeile, in der dpkg-Konfigurationsdatei /etc/dpkg/dpkg.cfg oder
Fragmentdateien (mit Namen, die auf das Shell-Muster ‚[0-9a-zA-Z_-]*’ passen) in den Dateien im
Konfigurationsverzeichnis /etc/dpkg/dpkg.cfg.d/ angegeben werden. Jede Zeile in der Konfigurationsdatei
ist entweder eine Option (exakt die gleiche wie die Befehlszeilenoption, nur ohne führende Bindestriche)
oder ein Kommentar (falls sie mit ‚#’ beginnt).
--abort-after=Zahl
Ändert, nach wie vielen Fehlern dpkg abbrechen wird. Der Standardwert ist 50.
-B, --auto-deconfigure
Wenn ein Paket entfernt wird, besteht die Möglichkeit, dass ein anderes installiertes Paket von dem
entfernten Paket abhängt. Die Angabe dieser Option führt zur automatischen Dekonfiguration des
Paketes, das von dem entfernten Paket abhängt.
-Doctal, --debug=Oktal
Schaltet Fehlersuche ein. Oktal wird durch bitweise Oder-Verknüpfung der gewünschten Werte aus der
nachfolgenden Liste gebildet (beachten Sie, dass sich diese Werte in zukünftigen Veröffentlichungen
verändern können). -Dh oder --debug=help zeigen diese Fehlersuchwerte an.
Nummer Beschreibung
1 Allgemein hilfreiche Fortschrittsinformationen
2 Aufruf und Status der Betreuerskripte
10 Ausgabe für jede verarbeitete Datei
100 Umfangreiche Ausgabe für jede verarbeitete Datei
20 Ausgabe für jede Konfigurationsdatei
200 Umfangreiche Ausgabe für jede Konfigurationsdatei
40 Abhängigkeiten und Konflikte
400 Umfangreiche Abhängigkeiten/Konflikte-Ausgabe
10000 Trigger-Aktivierung und -Verarbeitung
20000 Umfangreiche Ausgabe bezüglich Trigger
40000 Alberne Menge an Ausgabe bezüglich Trigger
1000 Umfangreiches Gelaber beispielsweise über das dpkg/info-Verzeichnis
2000 Verrückte Mengen an Gelaber
--force-Sachen
--no-force-Sachen, --refuse-Sachen
Erzwingt oder verweigert (no-force und refuse bedeuten das gleiche) bestimmte Sachen. Sachen ist eine
Kommata-getrennte Liste von Dingen, die im Folgenden beschrieben sind. --force-help zeigt eine
Meldung an, die diese beschreibt. Mit (*) markierte Dinge werden standardmäßig erzwungen.
Warnung: Diese Optionen sind hauptsächlich für den Einsatz durch Experten gedacht. Der Einsatz ohne
komplettes Verständnis der Auswirkungen kann Ihr gesamtes System zerstören.
all:
Schaltet alle „force“-Optionen ein (oder aus).
downgrade(*):
Installiert ein Paket, selbst wenn eine neuere Version davon bereits installiert ist.
Warnung: Derzeit führt dpkg keine Abhängigkeitsüberprüfung bei der Installation älterer Versionen
(als bereits installiert) durch (sog. Downgrade) und wird Sie daher nicht warnen, falls dadurch die
Abhängigkeit eines anderen Pakets nicht mehr erfüllt ist. Dies kann ernsthafte Nebeneffekte haben,
ein Downgrade einer essenziellen Systemkomponente kann Ihr gesamtes System unbrauchbar machen.
Verwenden Sie diese Option mit Vorsicht.
configure-any:
Konfiguriert auch jedes entpackte, aber unkonfigurierte Paket, von dem das aktuelle Paket abhängt.
hold:
Erlaubt automatische Installationen, Upgrades und Entfernungen von Paketen, selbst wenn sie mit
„halten“ markiert sind. Hinweis: Wenn diese Aktionen explizit angefordert werden, wird der
Paketauswahlzustand „halten“ immer ignoriert.
remove-reinstreq:
Entfernt ein Paket, selbst falls es defekt ist und zur Neuinstallation markiert ist. Dies kann
beispielsweise dazu führen, dass Teile des Pakets auf dem System bleiben und von dpkg vergessen
werden.
remove-protected:
Entfernt, selbst falls das Paket als geschützt betrachtet wird (seit Dpkg 1.20.1). Geschützte
Pakete enthalten hauptsächlich wichtige Teile der Systemstartinfrastruktur oder werden für
angepasste systemlokale Metapakete verwandt. Diese zu entfernen kann dazu führen, dass das gesamte
System nicht mehr starten oder benötigte Funktionalität zu Betrieb verlieren kann - verwenden Sie
diese Option daher mit Vorsicht.
remove-essential:
Entfernt, selbst falls das Paket als essenziell betrachtet wird. Essenzielle Pakete enthalten
hauptsächlich sehr grundlegende Unix-Befehle. Diese werden für das Paketierungssystem, für den
Betrieb des Systems im Allgemeinen oder während des Systemstarts benötigt (allerdings sollten
Letztere stattdessen in geschützte Pakete umgewandelt werden). Diese zu entfernen kann dazu führen,
dass das gesamte System nicht mehr arbeitet - verwenden Sie diese Option daher mit Vorsicht.
depends:
Verwandelt alle Abhängigkeitsprobleme in Warnungen. Dies betrifft die Felder Pre-Depends und
Depends.
depends-version:
Ignoriert Versionen bei der Prüfung von Abhängigkeiten. Dies betrifft die Felder Pre-Depends und
Depends.
breaks:
Installiert, selbst falls dies ein anderes Paket beschädigt (seit Dpkg 1.14.6). Dies betrifft das
Feld Breaks.
conflicts:
Installiert, selbst wenn es mit einem anderen Paket in Konflikt steht. Dies ist gefährlich, da dies
gewöhnlich dazu führt, dass einige Dateien überschrieben werden. Dies betrifft das Feld Conflicts.
confmiss:
Installiert die fehlende Conffile immer ohne Rückfrage. Dies ist gefährlich, da es bedeutet, dass
eine Änderung (die Entfernung) an der Datei nicht erhalten wird.
confnew:
Falls eine Conffile modifiziert wurde und sich die Version im Paket geändert hat, wird immer die
neue Version ohne Rückfrage installiert, es sei denn, --force-confdef ist ebenfalls angegeben, in
welchem Falle die Standardaktion bevorzugt wird.
confold:
Falls eine Conffile modifiziert wurde und sich die Version im Paket geändert hat, wird immer die
alte Version ohne Rückfrage behalten, es sei denn, --force-confdef ist ebenfalls angegeben, in
welchem Falle die Standardaktion bevorzugt wird.
confdef:
Falls eine Conffile verändert wurde und sich die Version im Paket geändert hat, wird immer die
Standardaktion ohne Rückfrage gewählt. Falls es keine Standardaktion gibt, wird angehalten, um den
Benutzer zu fragen, es sei denn, --force-confnew oder --force-confold sind ebenfalls angegeben, in
welchem Falle dies verwendet wird, um die letztendliche Aktion zu bestimmen.
confask:
Falls eine Conffile verändert wurde, wird immer angeboten, sie durch die Version aus dem Paket zu
ersetzen, selbst falls sich die Version in dem Paket nicht geändert hat (seit Dpkg 1.15.8). Falls
auch einer von --force-confnew, --force-confold oder --force-confdef angegeben wird, wird sie dazu
verwandt, die letztendliche Aktion zu ermitteln.
overwrite:
Überschreibt die Datei aus einem Paket mit einer Datei aus einem anderen Paket.
overwrite-dir:
Überschreibt das Verzeichnis aus einem Paket mit einer Datei aus einem anderen Paket.
overwrite-diverted:
Überschreibt eine umgeleitete („diverted“) Datei mit einer nicht umgeleiteten.
statoverride-add:
Überschreibt eine existierende Status-Hinwegsetzung beim Hinzufügen (seit Dpkg 1.19.5).
statoverride-remove:
Ignoriert eine fehlende Status-Hinwegsetzung beim Entfernen (seit Dpkg 1.19.5).
security-mac(*):
Verwendet plattformspezifische „Mandatory Access Control (MAC)“-basierende Sicherheit bei der
Installation von Dateien in das Dateisystem (seit Dpkg 1.19.5). Auf Linux-Systemen verwendet die
Implementierung SELinux.
unsafe-io:
Führt beim Entpacken keine sicheren E/A-Aktionen durch (seit Dpkg 1.15.8.6). Derzeit impliziert
dies, dass vor Dateiumbenennungen kein Systemsync durchgeführt wird. Dieser Sync führt bei einigen
Dateisystemen zu erheblichen Leistungseinbußen, unglücklicherweise bei solchen, die überhaupt
sichere E/A aufgrund ihres unzuverlässigen Verhaltens benötigen, auf denen bei abrupten
Systemabstürzen Dateien der Länge Null entstehen können.
Hinweis: Für den Hauptmissetäter Ext4 sollten Sie stattdessen die Einhängeoption nodelalloc
verwenden, die sowohl die Leistungseinbuße verhindert als auch Datensicherheitsprobleme vermeidet.
Letzteres bedeutet, dass bei abrupten Systemabstürzen bei jeder Software, die keine Syncs vor
atomaren Umbenennungen durchführt, keine Dateien der Länge Null generiert werden.
Warnung: Die Verwendung dieser Option kann die Leistung erhöhen, allerdings können dabei Daten
verloren gehen. Verwenden Sie die Option vorsichtig.
script-chrootless:
Führt Skripte aus, ohne per chroot(2) in das instdir zu wechseln, selbst falls das Paket diese
Vorgehensweise nicht unterstützt (seit Dpkg 1.18.5).
Warnung: Dies kann Ihr Wirtsystem beschädigen, passen Sie sehr gut auf!
architecture:
Verarbeitet sogar Pakete mit der falschen oder keiner Architektur.
bad-version:
Verarbeitet sogar Pakete mit falschen Versionen (seit Dpkg 1.16.1).
bad-path:
Im PATH fehlen wichtige Programme, daher sind Probleme wahrscheinlich.
not-root:
Versucht Sachen zu (de)installieren, selbst falls nicht root.
bad-verify:
Installiert ein Paket, selbst wenn die Authentizitätsprüfung fehlschlägt.
--ignore-depends=Paket, …
Ignoriert Abhängigkeitsüberprüfungen für bestimmte Pakete (tatsächlich wird die Überprüfung
durchgeführt, aber nur Warnungen über Konflikte werden angezeigt, sonst nichts). Dies betrifft die
Felder Pre-Depends, Depends und Breaks.
--no-act, --dry-run, --simulate
Erledigt alles, was gemacht werden soll, aber schreibt keine Änderungen. Dies wird verwendet, um zu
sehen, was mit der spezifizierten Änderung passieren würde, ohne tatsächlich etwas zu modifizieren.
Stellen Sie sicher, dass --no-act vor dem Aktions-Parameter steht, andernfalls könnte dies zu
unerwünschten Ergebnissen führen (beispielsweise wird dpkg --purge foo --no-act zuerst das Paket
„foo“ endgültig löschen und dann versuchen, das Paket „--no-act“ endgültig zu löschen, obwohl Sie
wahrscheinlich davon ausgingen, dass tatsächlich gar nichts passieren sollte).
-R, --recursive
Behandelt rekursiv alle regulären Dateien, die auf das Muster *.deb passen und im angegeben
Verzeichnis sowie allen Unterverzeichnissen liegen. Dies kann mit den Aktionen -i, -A, --install,
--unpack und --record-avail verwendet werden.
-G Installiert ein Paket nicht, falls bereits eine neuere Version des gleichen Paketes installiert ist.
Dies ist ein Alias für --refuse-downgrade.
--admindir=Verz
Setzt das Standardadministrationsverzeichnis auf Verzeichnis. Dieses Verzeichnis enthält viele
Dateien, die Informationen über den Status von installierten und deinstallierten Paketen usw.
enthalten. Standardmäßig „/var/lib/dpkg“, falls DPKG_ADMINDIR nicht gesetzt wurde.
--instdir=Verz
Setzt das voreingestellte Installationsverzeichnis. Dieses Verzeichnis gibt an, wo Pakete installiert
werden. instdir ist auch das Verzeichnis, das an chroot(2) vor dem Aufruf der Installationsskripte
des Paketes übergeben wird, was bedeutet, dass die Skripte instdir als ein Wurzelverzeichnis sehen.
Standardmäßig „/“.
-root=Verz
Setzt das Wurzelverzeichnis auf Verzeichnis, wodurch das Installationsverzeichnis auf „Verz“ und das
administrative Verzeichnis auf „Verz/var/lib/dpkg“ gesetzt wird.
-O, --selected-only
Bearbeitet nur die Pakete, die zur Installation ausgewählt sind. Die eigentliche Markierung erfolgt
mit dselect oder durch dpkg, wenn es Pakete bearbeitet. Beispielsweise wird ein Paket bei der
Entfernung als „zur Deinstallation ausgewählt“ markiert.
-E, --skip-same-version
Installiert das Paket nicht, falls die gleiche Version und Architektur des Pakets bereits installiert
ist.
Seit Dpkg 1.21.10 wird auch die Architektur berücksichtigt. Dadurch ist es möglich, Pakete über cross
zu aktualisieren oder zusätzliche ko-installierbare Instanzen mit der gleichen Version aber einer
anderen Architektur zu installieren.
--pre-invoke=Befehl
--post-invoke=Befehl
Setzt einen Aufruf-Hook Befehl, der via „sh -c“ vor oder nach dem dpkg-Aufruf der dpkg-Aktionen
unpack, configure, install, triggers-only, remove und purge (seit Dpkg 1.15.4;) und Aktionen add-
architecture Und remove-architecture (seit Dpkg 1.17.19). Diese Option kann mehrfach angegeben
werden. Die Reihenfolge der Optionen bleibt erhalten, wobei Einträge aus den Konfigurationsdateien
Vorrang haben. Die Umgebungsvariable DPKG_HOOK_ACTION wird für die Hooks auf die aktuelle dpkg-Aktion
gesetzt.
Die Aufruf-Hooks werden nicht ausgeführt, wenn --no-act angegeben ist oder als Benutzer, der nicht
Root ist, ohne --force-not-root ausgeführt wird.
Hinweis: Oberflächen könnten dpkg mehrere Male pro Ausführung aufrufen, wodurch die Hooks öfter als
erwartet ausgeführt werden könnten.
--path-exclude=Glob-Muster
--path-include=Glob-Muster
Setzt Glob-Muster als Pfadfilter, entweder durch Ausschluss oder durch Wiedereinschluss vorher
ausgeschlossener Pfade, die während der Installation auf bestimmte Muster passen (seit Dpkg 1.15.8).
Warnung: Beachten Sie, dass abhängig von den ausgeschlossenen Pfaden Sie Ihr System komplett
beschädigen könnten. Verwenden Sie dies daher vorsichtig.
Das Glob-Muster kann die gleichen Platzhalter wie in der Shell verwenden, wobei ‚*’ auf eine
beliebige Folge von Zeichen, auch dem Leerzeichen und ‚/’, passt. Beispielsweise passt „/usr/*/READ*“
auf „/usr/share/doc/package/README“. Wie gewöhnlich passt ‚?’ auf ein einzelnes Zeichen (wieder auch
auf ‚/’). Und ‚[’ beginnt eine Zeichenklasse, die eine Liste von Zeichen, Bereiche und Komplemente
enthalten kann. Lesen Sie glob(7) für detaillierte Informationen über das Globben. Hinweis: Die
aktuelle Implementierung könnte mehr Verzeichnisse und symbolische Links als benötigt wieder
einschließen, insbesondere wenn es eine genauere Wiedereinschließung gibt. Um auf der sicheren Seite
zu sein und in der Zukunft mögliche Entpackfehler zu vermeiden, könnte dies durch zukünftige Arbeiten
behoben werden.
Dies kann dazu verwandt werden, alle Pfade außer bestimmten zu entfernen, ein typischer Fall lautet:
--path-exclude=/usr/share/doc/*
--path-include=/usr/share/doc/*/copyright
Hiermit werden alle Dokumentationsdateien (außer den Copyright-Dateien) entfernt.
Diese zwei Optionen können mehrfach angegeben und miteinander verschachtelt werden. Beide werden in
der angegebenen Reihenfolge ausgewertet, wobei die letzte Regel, die auf eine Datei passt, die
Entscheidung fällt.
Die Filter werden beim Entpacken des Binärpakets angewandt und haben daher nur Wissen über den Typ
des derzeit gefilterten Objekts (d.h. eine normale Datei oder ein Verzeichnis) und sehen daher nicht,
welche Objekte als nächstes kommen. Da diese Filter Nebeneffekte haben (im Gegensatz zu
find(1)-Filtern) wird das Ausschließen eines genauen Pfadnamens, der ein Verzeichnisobjekt wie
/usr/share/doc ist, nicht den gewünschten Effekt haben und nur der Pfadname wird ausgeschlossen (der
automatisch wieder eingeschlossen werden könnte, falls der Code eine Notwendigkeit hierfür sieht).
Alle folgenden Dateien innerhalb des Verzeichnisses werden beim Entpacken fehlschlagen.
Tipp: Stellen Sie sicher, dass die Metazeichen nicht durch Ihre Shell expandiert werden.
--verify-format=Formatname
Setzt das Ausgabeformat für den Befehl --verify (seit Dpkg 1.17.2).
Derzeit wird nur das Ausgabeformat rpm unterstützt. Es besteht aus einer Zeile für jeden Pfad, der
bei der Prüfung fehlschlug. Diese Zeilen haben das folgende Format:
missing [c] Pfadname [(Fehlermeldung)]
?M5?????? [c] Pfadname
Die ersten 9 Zeichen werden zum Berichten des Überprüfungsergebnisses verwandt, entweder ein
wörtliches missing, wenn die Datei nicht vorhanden ist oder seine Metadaten nicht abgerufen werden
können, oder eines der folgenden besonderen Zeichen, das das Ergebnis für jede Überprüfung berichtet:
‚?‘ Impliziert, dass die Überprüfung nicht erfolgen konnte (Unterstützung fehlt, Dateiberechtigungen
usw.)
‚.‘ Impliziert, dass die Überprüfung erfolgreich war.
‚A-Za-z0-9‘
Impliziert, dass eine bestimmte Prüfung fehlschlug. Die folgenden Positionen und alphanumerischen
Zeichen werden derzeit unterstützt:
1 ‚?‘
Diese Überprüfungen werden derzeit nicht unterstützt, sie werden immer ‚?‘ sein.
2 ‚M‘
Die Dateimodusüberprüfung schlug fehl (seit Dpkg 1.21.0). Da Pfadnamen-Metadaten derzeit
nicht nachverfolgt werden, kann diese Überprüfung nur teilweise mit einer einfachen Heuristik
für Pfadnamen emuliert werden, die über einen bekannten Hash verfügen. Dies impliziert, dass
sie reguläre Dateien sind, bei denen die Überprüfung fehlschlägt, falls der Pfadname keine
reguläre Datei im Dateisystem ist. Diese Überprüfung wird derzeit niemals erfolgreich sein,
da sie nicht über genug Informationen verfügt.
3 ‚5‘
Die Hash-Überprüfung schlug fehl. Das bedeutet, dass sich der Dateiinhalt geändert hat. Dies
ist nur eine Integritätsprüfung und sollte nicht als irgend eine Art von
Sicherheitsüberpüfung angesehen werden.
4-9 ‚?‘
Diese Überprüfungen werden derzeit nicht unterstützt, sie werden immer ‚?‘ sein.
Dieser Zeile folgt ein Leerzeichen und ein Attributszeichen. Das folgende Attributszeichen wird
unterstützt:
‚c‘ Der Pfadname ist ein Conffile.
Schließlich folgt ein weiteres Leerzeichen und der Pfadname.
Falls der Eintrag vom Typ missing und die Datei nicht wirklich auf dem Dateisystem vorhanden war,
dann folgt der Zeile ein Leerzeichen und die in Klammern eingeschlossene Fehlermeldung.
--status-fd n
Schickt maschinenlesbare Paketstatus- und Fortschrittsinformationen an den Dateideskriptor n. Diese
Option kann mehrfach angegeben werden. Die Information besteht typischerweise aus einem Datensatz pro
Zeile in folgendem Format:
status: Paket: Status
Paketstatus geändert; Status entsprechend der Statusdatei.
status: Paket : error : ausführliche-Fehlermeldung
Ein Fehler ist aufgetreten. Alle möglichen Zeilenumbrüche in ausführliche-Fehlermeldung werden
vor der Ausgabe in Leerzeichen gewandelt.
status: Datei : conffile-prompt : „echt-alt“ „echt-neu“ benutzer-edit dist-edit
Dem Benutzer wird eine Conffile-Frage gestellt.
processing: Stufe: Paket
Wird genau bevor eine Verarbeitungsstufe beginnt versandt. Stufe ist eine der folgenden: upgrade,
install (beide werden vor dem Entpacken versandt), configure, trigproc, disappear, remove, purge.
--status-logger=Befehl
Schickt maschinenlesbare Paketstatus- und Fortschrittsinformationen an die Standardeingabe des
Befehls der Shell, was dann mittels „DPKG_DEFAULT_SHELL% -c“ ausgeführt wird (seit Dpkg 1.16.0).
Diese Option kann mehrfach angegeben werden. Das verwandte Ausgabeformat ist identisch zu dem in
--status-fd.
Die Statusprotokollierer werden nicht ausgeführt, wenn --no-act angegeben ist oder als Benutzer, der
nicht Root ist, ohne --force-not-root ausgeführt wird.
--log=Dateiname
Protokolliert Statusänderungen und -aktionen in Dateiname statt in das standardmäßigen
/var/log/dpkg.log. Falls diese Option mehrfach angegeben ist, wird der letzte Dateiname verwandt.
Protokollnachrichten haben die Form:
YYYY-MM-DD HH:MM:SS startup Typ Befehl
Für jeden Dpkg-Aufruf, wobei Typ entweder archives (mit einem Befehl unpack oder install) oder
packages (mit einem Befehl configure, triggers-only, remove oder purge) ist.
YYYY-MM-DD HH:MM:SS status Zustand Pkt installierte_Version
Für Statusaktualisierungen.
YYYY-MM-DD HH:MM:SS Aktion Pkt installierte_Version verfügbar_Version
Für Aktionen, wobei Aktion eine aus install, upgrade, configure, trigproc, disappear, remove oder
purge ist.
YYYY-MM-DD HH:MM:SS conffile Dateiname Entscheidung
Für Conffile-Änderungen, wobei Entscheidung entweder install oder keep ist.
--robot
Verwendet ein maschinenlesbares Ausgabeformat. Dies stellt die Schnittstelle für Programme bereit,
die die Ausgabe einiger Befehle auswerten müssen, die keine anderweitig maschinenlesbaren
Ausgabeformate bereitstellen. Es erfolgt keine Lokalisierung und die Ausgabe wird verändert, damit
sie leichter auszuwerten ist.
Der einzige derzeit unterstützte Befehl ist --version.
--no-pager
Deaktiviert die Verwendung jeglichen Pagers bei der Anzeige von Informationen (seit Dpkg 1.19.2).
--no-debsig
Versucht nicht, Paketsignaturen zu überprüfen.
--no-triggers
Führt keine Trigger in diesem Durchlauf aus (seit Dpkg 1.14.17). Aktivierungen werden aber dennoch
aufgezeichnet. Falls dies mit --configure Paket oder --triggers-only Paket verwandt wird, wird das
Postinst des benannten Pakets dennoch ausgeführt, selbst falls nur ein Trigger-Lauf notwendig ist.
Die Verwendung dieser Option kann Pakete in die unzulässigen Zustände triggers-awaited und triggers-
pending bringen. Durch die Ausführung von „dpkg --configure --pending“ kann dies später behoben
werden.
--triggers
Annulliert ein vorheriges --no-triggers (seit Dpkg 1.14.17).
RÜCKGABEWERT
0 Die angeforderte Aktion wurde erfolgreich ausgeführt. Oder ein Prüfausdruck oder eine Zusicherung
(Assertion) lieferte Wahr zurück.
1 Ein Prüfausdruck oder eine Zusicherung lieferte Falsch zurück.
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
PATH
Es wird erwartet, dass diese Variable in der Umgebung gesetzt ist und auf die Systempfade zeigt, in
denen eine Reihe von benötigten Programmen gefunden werden können. Falls sie nicht gesetzt ist oder
die Programme nicht gefunden werden können, wird dpkg die Bearbeitung abbrechen.
HOME
Falls gesetzt, wird dpkg sie als das Verzeichnis verwenden, aus dem die benutzerspezifische
Konfigurationsdatei gelesen wird.
TMPDIR
Falls gesetzt, wird dpkg sie als das Verzeichnis verwenden, in dem temporäre Dateien und
Verzeichnisse erstellt werden.
SHELL
Das Programm, das dpkg ausführen wird, wenn es eine neue interaktive Shell startet oder einen Befehl
über eine Shell ausführt.
PAGER
DPKG_PAGER
Das Programm, das dpkg ausführen wird, wenn es einen Pager mit „$SHELL -c“ ausführt, beispielsweise
zur Anzeige von Conffile-Dateiunterschieden. 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_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).
DPKG_DEBUG
Setzt die Fehlersuchmaske (seit Dpkg 1.21.10) aus einem oktalen Wert. Die aktuell akzeptierten
Schalter werden in der Option --debug beschrieben.
DPKG_FORCE
Setzt die Erzwingungsschalter (seit Dpkg 1.19.5). Wenn diese Variable vorhanden ist, werden keine
eingebauten Vorgaben für Erzwingungen angewandt. Falls diese Variable vorhanden, aber leer ist,
werden alle Erzwingungsschalter deaktiviert.
DPKG_ADMINDIR
Falls gesetzt und die Option --admindir oder --root nicht verwandt wurde, wird dies als
administratives Verzeichnis von dpkg verwandt (seit Dpkg 1.20.0).
DPKG_FRONTEND_LOCKED
Wird von einer Paketverwalterprogrammoberfläche gesetzt, um Dpkg zu informieren, dass es nicht die
Sperre der Oberfläche erlangen soll (seit Dpkg 1.19.1).
DPKG_PATH_PASSWD
Setzt den Pfadnamen für die passwd-Datei des Systems. Dieser Pfad ist relativ zum Verzeichnis --root.
Die Vorgabe ist /etc/passwd.
Seit Dpkg 1.22.16.
DPKG_PATH_GROUP
Setzt den Pfadnamen für die group-Datei des Systems. Dieser Pfad ist relativ zum Verzeichnis --root.
Die Vorgabe ist /etc/group.
Seit Dpkg 1.22.16.
Interne Umgebung
LESS
Von dpkg 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".
DPKG_ROOT
Durch dpkg in der Betreuerskriptumgebung definiert, um anzuzeigen, auf welche Installation gehandelt
werden soll (seit Dpkg 1.18.5). Der Wert soll jedem Pfad, auf den Betreuerskripte agieren,
vorangestellt werden. Während des Normalbetriebs ist diese Variable leer. Bei der Installation von
Paketen in ein anderes instdir wird dpkg normalerweise Betreuerskripte mittels chroot(2) aufrufen und
diese Variable leer lassen. Falls aber --force-script-chrootless angegeben ist, wird dieser
chroot(2)-Aufruf übersprungen und instdir ist nicht leer.
DPKG_ADMINDIR
Wird von dpkg für die Betreuer-Skript-Umgebung gesetzt, um das zu verwendende administrative
Verzeichnis von dpkg anzuzeigen (seit Dpkg 1.16.0). Diese Variable wird immer auf den aktuellen Wert
von --admindir gesetzt.
DPKG_FORCE
Wird von dpkg für alle Unterprozessumgebungen auf alle aktuell aktivierten Erzwingungsoptionennamen
(getrennt durch Kommata) gesetzt (seit Dpkg 1.19.5).
DPKG_SHELL_REASON
Wird von dpkg auf der Shell, die von der Conffile-Eingabeaufforderung gestartet wird, um die
Situation zu analysieren, gesetzt (seit Dpkg 1.15.6). Derzeit gültiger Wert: conffile-prompt.
DPKG_CONFFILE_OLD
Wird von dpkg auf der Shell, die von der Conffile-Eingabeaufforderung gestartet wird, um die
Situation zu analysieren, gesetzt (seit Dpkg 1.15.6). Enthält den Pfad zu der alten Conffile.
DPKG_CONFFILE_NEW
Wird von dpkg auf der Shell, die von der Conffile-Eingabeaufforderung gestartet wird, um die
Situation zu analysieren, gesetzt (seit Dpkg 1.15.6). Enthält den Pfad zu der neuen Conffile.
DPKG_HOOK_ACTION
Wird von dpkg auf der Shell, die beim Ausführen von Hook-Aktionen gestartet wird, gesetzt (seit Dpkg
1.15.4). Enthält die aktuelle dpkg-Aktion.
DPKG_RUNNING_VERSION
Wird von dpkg für die Betreuer-Skript-Umgebung auf die Version der aktuell laufenden Instanz von dpkg
gesetzt (seit Dpkg 1.14.17).
DPKG_MAINTSCRIPT_PACKAGE
Wird von dpkg für die Betreuer-Skript-Umgebung auf den in Arbeit befindlichen (nicht
architekturspezifizierte) Paketnamen gesetzt (seit Dpkg 1.14.17).
DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT
Wird von dpkg für die Betreuer-Skript-Umgebung auf die Paketreferenzzahl gesetzt, d.h. die Anzahl der
Paketinstanzen mit einem Status größer als not-installed (seit Dpkg 1.17.2).
DPKG_MAINTSCRIPT_ARCH
Wird von dpkg für die Betreuer-Skript-Umgebung auf die Architektur gesetzt, für die das Paket gebaut
wurde (seit Dpkg 1.15.4).
DPKG_MAINTSCRIPT_NAME
Wird von dpkg für die Betreuer-Skript-Umgebung auf den Namen des laufenden Skripts definiert, eines
von preinst, postinst, prerm oder postrm (seit Dpkg 1.15.7).
DPKG_MAINTSCRIPT_DEBUG
Wird von dpkg für die Betreuer-Skript-Umgebung auf einen Wert (‚0’ oder ‚1’) gesetzt, der angibt, ob
die Fehlersuche (mit der Option --debug) für die Betreuerskripte angefordert wurde (seit Dpkg
1.18.4).
DATEIEN
/etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*
Konfigurationsfragmentdateien (seit Dpkg 1.15.4).
/etc/dpkg/dpkg.cfg
Konfigurationsdatei mit Standardeinstellungen der Optionen.
/var/log/dpkg.log
Standard-Protokolldatei (lesen Sie /etc/dpkg/dpkg.cfg und die Option --log).
Die anderen, nachfolgend aufgeführten Dateien sind in ihren Standardverzeichnissen, lesen Sie den Text
zur Option --admindir, um zu sehen, wie Sie den Ort dieser Dateien ändern können.
/var/lib/dpkg/available
Liste der verfügbaren Pakete.
/var/lib/dpkg/status
Status der verfügbaren Pakete. Diese Datei enthält Informationen darüber, ob ein Paket zur Entfernung
markiert ist oder nicht, ob es installiert ist oder nicht usw. Lesen Sie den Abschnitt "INFORMATIONEN
ÜBER PAKETE" für weitere Informationen.
Die Statusdatei wird täglich nach /var/backups gesichert. Dies kann hilfreich sein, falls sie
aufgrund von Problemen mit dem Dateisystem verloren gegangen oder beschädigt worden ist.
Das Format und die Inhalte eines Binärpakets sind in deb(5) beschrieben.
Dateisystem-Dateinamen
Während des Entpackens und Konfigurierens verwendet dpkg verschiedene Dateinamen zum Zwecke der Sicherung
und zum Zurücksetzen. Es folgt eine vereinfachte Erklärung wie diese Dateinamen während der
Paketinstallation verwandt werden.
*.dpkg-new
Während des Entpackens extrahiert dpkg Dateisystemobjekte in Pfadnamen.dpkg-new (außer für bestehende
Verzeichnisse oder Symlinks auf Verzeichnisse, die übersprungen werden). Sobald dies erledigt ist und
nachdem Sicherungskopien der alten Objekte erstellt wurden, werden die Objekte in Pfadnamen
umbenannt.
*.dpkg-tmp
Während des Entpackens legt dpkg Sicherungskopien alter Dateisystemobjekte in Pfadname.dpkg-tmp nach
dem Extrahieren der neuen Objekte an. Diese Sicherungskopien werden entweder durch Umbenennung für
Verzeichnisse (aber nur wenn diese den Dateityp ändern), einer neuen Symlink-Kopie für Symlinks oder
harte Links für alle anderen Dateisystemobjekte angelegt, außer für Conffiles, von denen keine
Sicherungskopie angelegt wird, da sie in einer späteren Stufe verarbeitet werden.
Falls zurückgesetzt werden muss, werden diese Sicherungskopien dazu verwandt, die vorherigen Inhalte
der Objekte wiederherzustellen. Diese werden nach Abschluss der Installation automatisch entfernt.
*.dpkg-old
Während der Konfiguration, bei der Installation einer neuen Version, kann dpkg eine Sicherungskopie
der vorherigen geänderten Conffile in Pfadname.dpkg-old anlegen.
*.dpkg-dist
Während der Konfiguration, beim Beibehalten der alten Version, kann dpkg eine Sicherungskopie der
neuen unveränderten Conffile in Pfadname.dpkg-dist anlegen.
SICHERHEIT
Alle Aktionen, die Schreibzugriff auf die Datenbank oder das Dateisystem benötigen, werden als
privilegierte Aktionen angesehen, die eine Eskalation zu Root erlauben könnten. Diese Aktionen dürfen
niemals an nicht vertrauenswürdige Benutzer delegiert oder durch nicht vertrauenswürdige Pakete
durchgeführt werden, da dies Root-Zugriff auf Ihr System ermöglichen könnte.
Einige Aktionen (wie das Überprüfen von Paketen) könnten Root-Privilegien benötigen, damit sie auf
Dateien im Dateisystem zugreifen können, die ansonsten aufgrund eingeschränkter Berechtigungen
unzugreifbar wären. Abgesehen davon sollten sie normal funktionieren und in diesen Fällen geeignete
Meldungen anzeigen.
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 den Abschnitt SICHERHEIT der Handbuchseiten dpkg-deb(1) und dpkg-split(1).
FEHLER
--no-act gibt gewöhnlich weniger Informationen, als hilfreich sein könnten.
BEISPIELE
Um die installierten Pakete mit Bezug zum Editor vi(1) aufzulisten (beachten Sie, dass dpkg-query nicht
mehr standardmäßig die Datei available lädt und stattdessen dafür die Option dpkg-query --load-avail
verwandt werden sollte):
dpkg -l '*vi*'
Um die Einträge von zwei Paketen in /var/lib/dpkg/available zu sehen:
dpkg --print-avail vim neovim | less
Wenn Sie die Liste der Pakete selbst durchsuchen wollen:
dpkg --print-avail | less
Um ein installiertes Neovim-Paket zu entfernen:
dpkg -r neovim
Um ein Paket zu installieren, müssen Sie es erst in einem Archiv oder auf einem physischen Medium finden.
Wenn Sie ein auf einer Pool-Struktur basierendes Archiv verwenden, reicht es, den Archivbereich und den
Paketnamen zu kennen, um den Pfadnamen abzuleiten:
dpkg -i /media/bdrom/pool/main/v/vim/vim_9.0.2018-1_amd64.deb
Um eine lokale Kopie der Paketauswahl-Zustände zu erstellen:
dpkg --get-selections >meine_auswahl
Sie könnten diese Datei auf einen anderen Rechner übertragen und dann die Datei available dort mit dem
Paketverwalter Ihrer Wahl (siehe <https://wiki.debian.org/Teams/Dpkg/FAQ#set-selections> für weitere
Details) aktualisieren, zum Beispiel:
apt-cache dumpavail | dpkg --merge-avail
Sie können sie dann wie folgt installieren:
dpkg --clear-selections
dpkg --set-selections <meine_auswahl
Beachten Sie, dass dies nichts wirklich installiert oder entfernt, sondern lediglich den Auswahlzustand
der angeforderten Pakete setzt. Sie werden eine andere Anwendung benötigen, um die angeforderten Pakete
tatsächlich herunterzuladen und zu installieren. Führen Sie beispielsweise apt-get dselect-upgrade aus.
Gewöhnlich werden Sie feststellen, dass dselect(1) eine bequemere Art ist, den Paketauswahlzustand zu
ändern.
ZUSÄTZLICHE FUNKTIONALITÄT
Zusätzliche Funktionalität kann durch die Installation jedes der folgenden Pakete erhalten werden: apt,
aptitude und debsig-verify.
SIEHE AUCH
aptitude(8), apt(8), dselect(1), dpkg-deb(1), dpkg-query(1), deb(5), deb-control(5), dpkg.cfg(5) und
dpkg-reconfigure(8).
AUTOREN
Lesen Sie /usr/share/doc/dpkg/THANKS für die Liste der Leute, die zu dpkg beigetragen haben.
Ü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.
1.22.21 2025-10-16 dpkg(1)