ÜBERSICHT
dpkg [Option …] AktionenWARNUNG
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 von den Tätigkeiten von dpkg beim Installieren und Entfernen von Paketen ist besonders unzulänglich.
BESCHREIBUNG
dpkg ist ein Werkzeug, um Debian-Pakete zu installieren, zu bauen und zu verwalten. Die primäre und benutzerfreundlichere Oberfläche für dpkg ist aptitude(1). 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ützen 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 des Pakets 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 (triggers-awaited)
- Das Paket erwartet Trigger-Verarbeitung durch ein anderes Paket.
- triggers-pending (triggers-pending)
- Das Paket wurde getriggert.
- installed (installiert)
- Das Paket ist korrekt entpackt und konfiguriert.
Paketauswahlstatus
- installiere
- Das Paket ist zur Installation ausgewählt.
- halten
- Ein Paket, das mit halten markiert ist, wird von dpkg nicht behandelt, es sei denn Sie erzwingen dies mit der Option --force-hold.
- deinstalliere
- Das Paket ist zur Deinstallation ausgewählt (d.h. wir wollen alle Dateien außer den Konfigurationsdateien entfernen).
- 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).
Paketschalter
- ok
- Ein mit ok markiertes Paket ist in einem bekannten Zustand, kann aber weitere Verarbeitung benötigen.
- Neuinst.
- Ein mit Neuinst. 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 …
-
Installiere das Paket. Falls die --recursive oder -R-Option angegeben
ist, muss sich Paketdatei stattdessen auf ein Verzeichnis beziehen.
Die Installation besteht aus folgenden Schritten:
1. Extrahiere die control-Dateien aus dem neuen Paket.
2. Falls eine andere Version des gleichen Pakets vor der der neuen Installation installiert war, dann führe das prerm-Skript des alten Paketes aus.
3. Führe das preinst-Skript aus, falls dies vom Paket bereitgestellt wird.
4. Entpacke die neuen Dateien und sichere gleichzeitig die alten Dateien, so dass diese, falls etwas schief geht, wiederhergestellt werden können.
5. Falls eine andere Version des gleichen Pakets vor der der neuen Installation installiert war, dann führe das postrm-Skript des alten Paketes aus. 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. Konfiguriere das Paket. Lesen Sie --configure für detaillierte Informationen wie dies geschieht.
- --unpack Paketdatei …
- Entpacke das Paket, aber konfiguriere es nicht. Falls die --recursive oder -R-Option angegeben ist, muss sich Paketdatei stattdessen auf ein Verzeichnis beziehen.
- --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, dass bereits konfiguriert wurde, verwenden Sie stattdessen den Befehl dpkg-reconfigure(8).
Die Konfiguration besteht aus folgenden Schritten:
1. Entpacke die Conffiles und sichere gleichzeitig die alten Conffiles, so dass diese, falls etwas schief geht, wiederhergestellt werden können.
2. Führe das postinst-Skript aus, falls dies vom Paket bereitgestellt wird.
- --triggers-only Paket …|-a|--pending
- Verarbeite 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 Stati 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, 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 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. Führe das prerm-Skript aus
2. Entferne die installierten Dateien
3. Führe das postrm-Skript aus
- -P, --purge Paket…|-a|--pending
-
Löscht ein installiertes oder bereits entferntes Paket vollständig. Damit
wird alles entfernt, auch Conffiles. 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.
Entgültiges Löschen eines Paketes besteht aus den folgenden Schritten:
1. Entfernen des Pakets, falls es noch nicht entfernt ist. Lesen Sie --remove für detaillierte Informationen, wie dies erfolgt.
2. Führe das postrm-Skript aus
- -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 den 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.
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, falsch 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]
Aktualisiere 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 …
- Aktualisiere mit den Informationen aus dem Paket Paketdatei dpkgs und dselects Verständnis darüber, welche Pakete verfügbar sind. Falls die --recursive oder -R-Option 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ösche die existierenden Informationen darüber, welche Pakete verfügbar sind.
- --get-selections [Paket-Name-Muster …]
- Hole Liste von Paketauswahlen und schreibe sie auf die Standardausgabe. Ohne Muster werden nicht-installierte Pakete (d.h. solche, die vorher »vollständig gelöscht« wurden) nicht angezeigt.
- --set-selections
-
Setze 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 Nutzen hat, andernfalls werden unbekannte Pakete mit einer Warnung ignoriert. Siehe die Befehle --update-avail und --merge-avail für weitere Informationen.
- --clear-selections
- Setze 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.
- --predep-package
- Gibt ein einzelnes Paket aus, das das Ziel einer oder mehrere 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.
- 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. der 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. der Ausgabe von --print-architecture), kann niemals von der Liste entfernt werden.
- --print-architecture
- Gebe 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 für zu erlauben (seit Dpkg 1.16.2).
- --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).
-
- --compare-versions Ver1 Op Ver2
- Vergleiche 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 mit 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
- Zeige eine kurze Hilfenachricht an.
- --force-help
- Gebe Hilfe über die --force-Sache-Optionen aus.
- -Dh, --debug=help
- Gibt Hilfe über Fehlersuchoptionen aus.
- --version
- Zeige dpkg Versionsinformationen an.
- dpkg-deb-Aktionen
-
Lesen Sie dpkg-deb(1) für weitere Informationen über die folgenden
Aktionen.
-b, --build Verzeichnis [Archiv|Verzeichnis] Baue ein deb-Paket. -c, --contents Archiv Liste den Inhalt eines deb-Paketes auf. -e, --control Archiv [Verzeichnis] Extrahiere Steuerinformationen von einem Paket. -x, --extract Archiv Verzeichnis Extrahiere die vom Paket enthaltenen Dateien. -f, --field Archiv [Steuerfeld] … Zeige das/die Steuerfeld(er) eines Paketes an. --ctrl-tarfile Archive Gebe die von einem Debian-Paket enthaltene Steuer-Tar-Datei aus. --fsys-tarfile Archiv Gebe die von einem Debian-Paket enthaltene Dateisystem-Tar-Datei aus. -I, --info Archiv [Steuerdatei …] Zeige Informationen über ein Paket.
- dpkg-query-Aktionen
-
Lesen Sie dpkg-query(1) für weitere Informationen über die folgenden
Aktionen.
-l, --list Paketnamen-Muster … Liste auf das übergebene Suchmuster passende Pakete auf. -s, --status Paketname … Berichte den Status des spezifizierten Pakets. -L, --listfiles Paketname … Liste die aus Paketname auf Ihrem System installierten Dateien auf. -S, --search Dateinamen-Suchmuster … Suche nach einem Dateinamen in installierten Paketen. -p, --print-avail Paketname Zeige Details über Paketname, wie in /var/lib/dpkg/available gefunden. Benutzer von APT-basierten Oberflächen sollten stattdessen apt-cache show Paketname verwenden.
OPTIONEN
Alle Optionen können auf der Befehlszeile, in der dpkg-Konfigurationsdatei /etc/dpkg/dpkg.cfg oder Fragementdateien (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
- Ändere 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.
- -DOktal, --debug=Oktal
-
Schalte Fehlersuche ein. Oktal wird durch bitweise Oder-Verknüpfung der
gewünschten Werte von 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
Erzwinge oder verweigere (no-force und refuse bedeuten das gleiche)
bestimmte Sachen. Sachen ist eine Komma-separierte Liste von Dingen, die
im folgenden beschrieben sind. --force-help zeigt eine Nachricht 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 Effekte kann Ihr gesamtes System zerstören.
all: Schaltet alle »force«-Optionen ein (oder aus).
downgrade(*): Installiere 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 Seiteneffekte haben, ein Downgrade einer essenziellen Systemkomponente kann Ihr gesamtes System unbrauchbar machen. Verwenden Sie diese Option mit Vorsicht.
configure-any: Konfiguriere auch jedes entpackte, aber unkonfigurierte Paket von dem das aktuelle Paket abhängt.
hold: Verarbeite auch Pakete, die mit "halten" markiert sind.
remove-reinstreq: Entferne 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-essential: Entferne, selbst falls das Paket als essenziell betrachtet wird. Essenzielle Pakete enthalten hauptsächlich sehr grundlegende Unix-Befehle. Diese zu entfernen kann dazu führen, dass das gesamte System nicht mehr arbeitet - verwenden Sie diese Option daher mit Vorsicht.
depends: Verwandle alle Abhängigkeitsprobleme in Warnungen.
depends-version: Ignoriere Versionen bei der Prüfung von Abhängigkeiten.
breaks: Installiere, selbst falls dies ein anderes Paket beschädigt (seit Dpkg 1.14.6).
conflicts: Installiere, 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.
confmiss: Falls ein Conffile fehlt und sich die Version im Paket geändert hat, installiere das fehlende Conffile 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, installiere immer die neue Version ohne Rückfrage, 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, behalte immer die alte Version ohne Rückfrage, 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, wähle immer die Standardaktion ohne Rückfrage. Falls es keine Standardaktion gibt, halte an, 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, biete immer an, 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-confmiss, --force-confnew, --force-confold oder --force-confdef angegeben wird, wird sie dazu verwandt, die letztendliche Aktion zu ermitteln.
overwrite: Überschreibe die Datei aus einem Paket mit einer Datei aus einem anderen Paket.
overwrite-dir: Überschreibe das Verzeichnis aus einem Paket mit einer Datei aus einem anderen Paket.
overwrite-diverted: Überschreibe eine umgeleitete (»diverted«) Datei mit einer nicht umgeleiteten.
unsafe-io: Beim Entpacken keine sicheren E/A-Operationen durchführen (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 Hauptmisstä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: Skripte ausführen, 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: Verarbeite sogar Pakete mit der falschen oder keiner Architektur.
bad-version: Verarbeite sogar Pakete mit falschen Versionen (seit Dpkg 1.16.1).
bad-path: Im PATH fehlen wichtige Programme, daher sind Probleme wahrscheinlich.
not-root: Versuche Sachen zu (de)installieren, selbst falls nicht root.
bad-verify: Installiere ein Paket selbst wenn die Authentizitätsprüfung fehlschlägt.
- --ignore-depends=Paket, …
- Ignoriere 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).
- --no-act, --dry-run, --simulate
-
Erledige alles, was gemacht werden soll, aber schreibe 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, oder Sie könnten mit unerwünschten Ergebnissen enden. (Beispielsweise wird dpkg --purge foo --no-act zuerst das Paket foo bereinigen und dann versuchen, das Paket --no-act zu bereinigen, obwohl Sie wahrscheinlich davon ausgingen, dass tatsächlich gar nichts passieren sollte)
- -R, --recursive
- Behandle rekursiv alle regulären Dateien, die auf das Muster *.deb passen und im angegeben Verzeichnis sowie allen Unterverzeichnis liegen. Dies kann mit den Aktionen -i, -A, --install, --unpack und --record-avail verwendet werden.
- -G
- Installiere ein Paket nicht, falls bereits eine neuere Version des gleichen Paketes installiert ist. Dies ist ein Alias für --refuse-downgrade.
- --admindir=Verz
- Ändere das voreingestellte administrative Verzeichnis (standardmäßig «/var/lib/dpkg»), in dem viele Dateien liegen, die Informationen über den Status von installierten und deinstallierten Pakete usw. liegen.
- --instdir=Verz
- Ändere das voreingestellte Installationsverzeichnis. Dieses Verzeichnis gibt an, wo Pakete installiert werden. instdir (standardmäßig «/») 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.
- -root=Verz
- Durch Ändern von root wird instdir auf «VerzFc und admindir auf «Verz/var/lib/dpkg» geändert.
- -O, --selected-only
- Bearbeite 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
- Installiere das Paket nicht, falls die gleiche Version des Pakets bereits installiert ist.
- --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, purge, add-architecture und remove-architecture ausgeführt wird (seit Dpkg 1.15.4; Aktionen add-architecture und remove-architecture seit Dpkg 1.17.19). Diese Option kann mehrfach angegeben werden. Die Reihenfolge der Optionen wird erhalten, wobei Einträge aus den Konfigurationsdateien Vorrang einnehmen. 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: Aktuelle Implementierungen könnten mehr Verzeichnisse und symbolische Links als benötigt wieder einschließen. 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 entferen, 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 Seiteneffekte 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. Die Zeilen starten mit 9 Zeichen, um die Ergebnisse jeder angegebenen Prüfung zu berichten. Ein '?' impliziert, dass die Prüfung nicht durchgeführt werden konnte (keine Unterstützung dafür, Dateirechte usw.). '.' impliziert, dass die Prüfung erfolgreich durchgeführt wurde und ein alphanumerisches Zeichen impliziert, dass eine angegebene Prüfung fehlschlug. Der Md5sum-Überprüfungsfehlschlag (die Dateiinhalte haben sich geändert) wird durch ein '5' als drittes Zeichen angezeigt. Der Zeile folgt ein Leerzeichen und ein Attributszeichen (derzeit 'c' für Conffiles), ein weiteres Leerzeichen und der Pfadnmae.
- --status-fd n
-
Schicke 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
- Versandt genau bevor eine Verarbeitungsstufe beginnt. Stufe ist eine der folgenden: upgrade, install (beide werden vor dem Entpacken versandt), configure, trigproc, disappear, remove, purge.
-
- --status-logger=Befehl
- Schicke maschinenlesbare Paketstatus- und Fortschrittsinformationen an die Standardeingabe des Befehls der Shell, was dann mittels »sh -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
- Protokolliere Statusänderungsaktualisierungen und -Aktionen in Dateiname anstatt in die Standard-Datei /var/log/dpkg.log. Falls diese Option mehrfach übergeben wird, wird der letzte Dateiname verwendet. Protokollnachrichten sind von der Form 'JJJJ-MM-TT HH:MM:SS startup Typ Befehl' für jeden Dpkg-Aufruf, wobei Typ entweder archives lautet (mit einem Befehl unpack oder install) oder packages (mit einem Befehl configure, triggers-only, remove oder purge); 'JJJJ-MM-TT HH:MM:SS status Zustand Pkt installierte-Version' für Statusänderungsaktualisierungen; 'JJJJ-MM-TT HH:MM:SS Aktion Pkt installierte-Version verfügbare-Version' für Aktionen, wobei Aktion entweder install, upgrade, configure, trigproc, disappear, remove oder purge ist; und 'YYYY-MM-DD HH:MM:SS conffile Dateiname Entscheidung' für Conffile-Änderungen ist, wobei Entscheidung entweder install oder keep ist.
- --no-debsig
- Versuche nicht, Paketsignaturen zu überprüfen.
- --no-triggers
- Führe 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 Stati 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 ungültiger Befehlszeilenverwendung 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 es als das Verzeichnis verwenden, aus dem die benutzerspezifische Konfigurationsdatei gelesen wird.
- TMPDIR
- Falls gesetzt wird dpkg es als das Verzeichnis verwenden, in dem temporäre Dateien und Verzeichnisse erstellt werden.
- PAGER
- Das Programm, das dpkg ausführen wird, wenn es die Conffiles anzeigt.
- SHELL
- Das Programm, das dpkg ausführen wird, wenn es eine neue interaktive Shell startet.
- COLUMNS
- Setzt die Anzahl von Spalten die dpkg verwenden soll, wenn es formatierten Text anzeigt. Derzeit nur von --list verwendet.
- DPKG_COLORS
- Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterstützten Werte sind: auto, always und never (Vorgabe).
Interne Umgebung
- 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 handeln, 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_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, 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(5) und die Option --log).
Die anderen unten aufgeführten Dateien sind in ihrem Standardverzeichnis, 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
-
Statusse 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.
Die folgenden Dateien sind Komponenten von Binärpaketen. Lesen Sie deb(5) für weitere Informationen über sie:
-
control conffiles preinst postinst prerm postrm triggers
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 elvis vim | less
Wenn Sie die Liste der Pakete selbst durchsuchen wollen:
less /var/lib/dpkg/available
Um ein installiertes Elvis-Paket zu entfernen:
dpkg -r elvis
Um ein Paket zu installieren, müssen Sie es erst in einem Archiv oder auf
einer CD-ROM finden. Die Datei available zeigt, dass das vim-Paket in der
Sektion editors ist:
cd /media/cdrom/pool/main/v/vim
dpkg -i vim_4.5-3.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 für weitere Details) aktualisieren,
zum Beispiel:
apt-cache dumpavail | dpkg --merge-avail
Oder mit Dpkg 1.17.6 oder älter:
avail=`mktemp`
apt-cache dumpavail >"$avail"
dpkg --merge-avail "$avail"
rm "$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 debsums.ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2016 von Helge Kreutzmann <[email protected]>, 2007 von Florian Rehnisch <[email protected]> und 2008 von Sven Joachim <[email protected]> angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE HAFTUNG.AUTOREN
Lesen Sie /usr/share/doc/dpkg/THANKS für die Liste der Leute, die zu dpkg beigetragen haben.