dpkg - Paketverwalter für Debian
ÜBERSICHT
dpkg [Option …] Aktionen
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.
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.
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.
- 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.
- 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.
- -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.
- 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.
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.
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)]
??5?????? [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-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.
- --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).
- 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.
- 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.
- 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).
- DPKG_COLORS
- Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterstützten
Werte sind: auto (Vorgabe), always und never.
- 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).
- 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).
- /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.
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.
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).
--no-act gibt gewöhnlich weniger Informationen, als
hilfreich sein könnten.
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 kann durch die
Installation jedes der folgenden Pakete erhalten werden: apt,
aptitude und debsig-verify.
aptitude(8), apt(8), dselect(1),
dpkg-deb(1), dpkg-query(1), deb(5),
deb-control(5), dpkg.cfg(5) und
dpkg-reconfigure(8).
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-2023 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.