dpkg - Ein Paket-Manager auf mittlerer Ebene für Debian |
dpkg [Optionen] Aktion |
Dieses Handbuch ist für Benutzer gedacht, die dpkgs Kommandozeilenoptionen und Paketzustände detailierter als in dpkg --help gegeben verstehen möchten. Es sollte nicht von Paketbetreuern benutzt werden, die verstehen möchten wie dpkg ihre Pakete installiert. Die Beschreibungen dessen, was dpkg beim Installieren und Entfernen von Paketen tut, sind teilweise unzureichend. |
dpkg ist ein Werkzeug mittlerer Ebene, um Debian Pakete zu installieren, zu bauen, zu entfernen und zu verwalten. Die primäre und benutzerfreundlichere Oberfläche für dpkg ist dselect(8). dpkg selbst wird vollständig über Kommandozeilenparameter gesteuert, die aus genau einer Aktion und keiner oder mehreren Optionen bestehen. Der Aktion-Parameter sagt dpkg, was zu tun ist, und Optionen steuern das Verhalten der Aktion auf bestimmte Weise. dpkg kann auch als Front-End für dpkg-deb benutzt werden. Die folgenden sind dpkg-deb Aktionen, und wenn sie vorkommen, startet dpkg einfach dpkg-deb und übergibt ihm die Parameter: -b, --build, -c, --contents, -I, --info, -f, --field, -e, --control, -x, --extract, -X, --vextract, und --fsys-tarfile. Siehe bitte dpkg-deb(1) für Informationen über diese Aktionen. |
dpkg verwaltet einige nützliche Informationen über verfügbare Pakete. Die Information ist in drei Klassen unterteilt: Zustände (states), Selektions-Zustände (selection states) und Markierungen (flags). Diese Werte sind gedacht, um hauptsächlich von dselect geändert zu werden. |
PAKET-ZUSTÄNDE |
installiert (installed) |
Das Paket ist entpackt und sauber konfiguriert. |
halb-installiert (half-installed) |
Die Installation des Paketes wurde begonnen, aber aus gewissen Gründen nicht beendet. |
nicht installiert (not-installed) |
Das Paket ist auf dem System nicht installiert. |
entpackt (unpacked) |
Das Paket ist entpackt, aber nicht konfiguriert. |
halb konfiguriert (half-configured) |
Das Paket ist entpackt und die Konfiguration wurde begonnen, aber aus gewissen Gründen noch nicht beendet. |
Konfigurationsdateien (config-files) |
Nur die Konfigurationsdateien des Pakets liegen auf dem System. |
PAKET-SELEKTIONS-ZUSTÄNDE |
installieren (install) |
Das Paket ist zur Installation ausgewählt. |
entfernen (deinstall) |
Das Paket ist zum Entfernen ausgewählt (d.h. wir wollen alle Dateien außer Konfigurationsdateien entfernen). |
vollständig entfernen (purge) |
Das Paket wurde zum vollständigen Entfernen ausgewählt (d.h. wir wollen alles entfernen, einschließlich der Konfigurationsdateien). |
PAKET-MARKIERUNGEN |
halten (hold) |
Ein Paket, das auf »halten« gesetzt wurde, wird nicht von dpkg bearbeitet, solange dies nicht mit der Option --force-hold erzwungen wird. |
Neuinstallation erforderlich (reinst-required) |
Ein Paket, das so markiert ist, ist beschädigt und benötigt eine Neuinstallation. Solch ein Paket kann nicht entfernt werden, solange dies nicht mit der Option --force-remove-reinstreq erzwungen wird. |
dpkg -i | --install Paket-Datei ... |
Installiere das Paket. Wenn die Option --recursive oder -R angegeben ist, muss Paket-Datei stattdessen auf ein Verzeichnis verweisen. Die Installation besteht aus den folgenden
Schritten: |
dpkg --unpack Paket-Datei ... |
Das Paket entpacken, aber nicht konfigurieren. Wenn die Option --recursive oder -R angegeben ist, muss Paket-Datei stattdessen auf ein Verzeichnis verweisen. |
dpkg --configure Paket ... | -a | --pending |
Ein entpacktes Paket (neu) konfigurieren. Wenn statt eines Paketes -a oder --pending angegeben werden, werden alle entpackten Pakete konfiguriert, die noch nicht konfiguriert sind. Konfigurieren besteht aus den folgenden Schritten: |
dpkg -r | --remove | -P | --purge Paket ... | -a | --pending |
Ein installiertes Paket entfernen. -r oder --remove entfernt alles außer Konfigurationsdateien. Dies kann verhindern, dass man das Paket neu konfigurieren muss, wenn man es später erneut installiert. (Konfigurationsdateien sind die Dateien, die in der Kontrolldatei debian/conffiles gelistet sind.) -P oder --purge entfernt alles, einschließlich Konfigurationsdateien. Wenn -a oder --pending statt eines Paketnamens angegeben wird, werden alle entpackten Pakete, die in der Datei /var/lib/dpkg/status zum Entfernen oder vollständigen Entfernen markiert sind, entfernt beziehungsweise vollständig entfernt. Entfernen eines Pakets besteht aus den folgenden
Schritten: |
dpkg --update-avail | --merge-avail Packages-Datei |
dpkgs und dselects Vorstellung aktualisieren, welche Pakete verfügbar sind. Mit der Aktion --merge-avail wird die alte Information mit der Information aus der Packages-Datei kombiniert. Mit der Aktion --update-avail wird die alte Information durch die Information aus der Packages-Datei ersetzt. Die mit Debian verteilte Packages-Datei heißt einfach Packages. dpkg hält seine Aufzeichnung verfügbarer Pakete in der Datei /var/lib/dpkg/available. Ein einfacheres Ein-Schuss-Kommando, um die Datei available zu holen und zu aktualisieren ist dselect update. |
dpkg -A | --record-avail Paket_Datei ... |
dpkgs und dselects Vorstellung, welche Pakete verfügbar sind, mit Information aus dem Paket Paket_Datei aktualisieren. Wenn die Option --recursive oder -R angegeben ist, muss Paket_Datei statt dessen auf ein Verzeichnis verweisen. |
dpkg --forget-old-unavail |
Nicht installierte und nicht verfügbare Pakete vergessen. |
dpkg --clear-avail |
Die bestehende Information über verfügbare Pakete löschen. |
dpkg -C | --audit |
Sucht auf dem System nach Paketen, die nur teilweise installiert wurden. dpkg wird vorschlagen, was es mit ihnen machen wird, um sie zum laufen zu bringen. |
dpkg --get-selections [Muster...] |
Hole eine Liste der Paket-Auswahl, und schreibe sie auf die Standardausgabe. |
dpkg --set-selections |
Setze Paket-Auswahl wie in der von der Standardeingabe eingelesenen Datei. |
dpkg --yet-to-unpack |
Sucht nach Paketen, die zur Installation ausgewählt wurden, die aber aus gewissen Gründen noch nicht installiert wurden. |
dpkg --print-architecture |
Gibt die Ziel-Architektur aus (z.B. »i386«). Diese Option benutzt ggc. |
dpkg --print-gnu-build-architecture |
Gibt GNU Version der Ziel-Architektur aus (z.B. »i486«). |
dpkg --print-installation-architecture |
Gibt Host-Architektur für Installation aus. |
dpkg --compare-versions Ver1 Op Ver2 |
Vergleiche Versionsnummern. Dabei ist Op ein binärer Operator. dpkg gibt Erfolg zurück (Ergebnis gleich null), wenn die angebene Bedingung erfüllt ist, und ansonsten Misserfolg (Ergebnis ungleich null). Es gibt zwei Gruppen von Operatoren, die sich unterscheiden wie sie ein leeres Ver1 oder Ver2 behandeln. Diese behandeln eine leere Version als früher als irgendeine Version: lt le eq ne ge gt. Diese behandeln eine leere Version als später als irgendeine Version: lt-nl le-nl ge-nl gt-nl. Diese wurden nur aus Kompatibilität mit der Kontrol-Datei-Syntax bereitgestellt: < << <= = >= >> >. |
dpkg --command-fd n |
Nimmt eine Reihe von Kommandos auf dem Eingabe-Datei-Deskriptor an. Man beachte: zusätzliche Optionen, die auf der Kommandozeile oder über diesen Datei-Deskriptor gesetzt wurden, werden für nachfolgende Kommandos, die während dieses Durchgangs ausgeführt werden, nicht zurückgesetzt. |
dpkg --help |
Zeigt eine kurze Hilfe an. |
dpkg --force-help |
Gibt Hilfe zu den --force-ding Optionen aus. |
dpkg -Dh | --debug=help |
Gibt Hilfe zu Debug-Optionen aus. |
dpkg --licence | dpkg --license |
Zeigt die dpkg-Lizenz an. |
dpkg --version |
Zeigt dpkgs Versionsinformation an. |
dpkg-deb-Aktionen |
Siehe dpkg-deb(1) für mehr Informationen über die folgenden Aktionen. dpkg -b | --build Verzeichnis [Dateiname] Baue ein .deb-Paket. dpkg -c | --contents Dateiname Liste Inhalt eines .deb-Paketes auf. dpkg -e | --control Dateiname [Verzeichnis] Extrahiere Kontroll-Information aus einem Paket. dpkg -x | --extract Dateiname Verzeichnis Extrahiere die Dateien, die das Paket enthält. dpkg -f | --field Dateiname [Kontroll-Feld] ... Zeige Kontroll-Feld(er) des Pakets an. dpkg --fsys-tarfile Dateiname Zeige die Dateisystem tar-Datei, die in einem Debian Paket enthalten ist, an. dpkg -I | --info Dateiname [Kontroll-Datei] Zeige Informationen über ein Paket. dpkg -X | --vextract Dateiname Verzeichnis Extrahiere ein Paket und zeige die enthaltenen Dateinamen an. |
dpkg-query-Aktionen |
Siehe dpkg-query(1) für mehr Informationen über die folgenden Aktionen. dpkg -l | --list Paket-Namen-Muster ... Liste Pakete auf, die auf das gegebene Muster passen. dpkg -s | --status Paket-Name ... Berichte Status des bezeichneten Paketes. dpkg -L | --listfiles Paket ... Liste aus Paket auf das System installierte Dateien auf. dpkg -S | --search Dateinamen-Suchmuster ... Suche unter den installierten Paketen nach einem Dateinamen. dpkg -p | --print-avail Paket Zeige Details über Paket an, wie in /var/lib/dpkg/available zu finden. |
Alle Optionen können sowohl auf der Kommandozeile wie auch in der dpkg Konfigurationsdatei /etc/dpkg/dpkg.cfg angegeben werden. Jede Zeile in der Konfigurationsdatei ist entweder eine Option (genau diesselbe wie die Kommandozeilenoption, aber ohne führende Bindestriche) oder ein Kommentar (wenn sie mit dem #-Zeichen beginnt). |
--abort-after=Nummer |
Ändere nach wievielen Fehlern dpkg abbricht. Die Voreinstellung ist 50. |
-B|--auto-deconfigure |
Wenn ein Paket entfernt wird besteht die Möglichkeit, dass ein anderes installiertes Paket von dem entfernten abhängig ist. Das Angeben dieser Option verursacht eine automatische Dekonfiguration des Paketes, welches von dem entfernten abhängt. |
-Doktal | --debug=oktal |
Aktiviere Debuggen. Oktal wird durch bitweise Veroderung gewünschter Werte aus der nachfolgenden Liste gebildet. Man beachte, dass sich diese Werte in zukünftigen Versionen ändern können. -Dh oder --debug=help zeigt diese Werte an. Nummer Beschreibung 1 Allgemein hilfreiche Fortschrittsinformationen 2 Aufruf und Status von Betreuer-Skripten 10 Ausgabe zu jeder verarbeiteten Datei 100 Viel Ausgabe zu jeder verarbeiteten Datei 20 Ausgabe zu jeder Konfigurationsdatei 200 Viel Ausgabe zu jeder Konfigurationsdatei 40 Abhängigkeiten und Kollisionen 400 Viel Ausgabe zu Abhängigkeiten und Kollisionen 1000 Viel Gefasel z.B. zum dpkg/info-Verzeichnis 2000 Irrsinnige Mengen von Gefasel |
--force-Dinge | --no-force-Dinge | --refuse-Dinge |
Erzwinge oder verweigere (no-force und refuse bedeuten dasselbe) einige Dinge. Dinge ist eine durch Kommata getrennte Liste der nachfolgend angegeben Dinge. --force-help zeigt eine diese Dinge beschreibende Nachricht an. Mit (*) markierte Dinge werden per Voreinstellung erzwungen. Warnung: Diese Optionen sind hauptsächlich gedacht, um nur von Experten benutzt zu werden. Sie anzuwenden, ohne vollständig ihre Wirkung zu verstehen, kann das ganze System verletzen. all: Schaltet alle Zwangsoptionen ein (oder aus). auto-select(*): Selektiere Pakete, um sie zu installieren, und deselektiere Pakete, um sie zu Entfernen. downgrade(*): Ein Paket installieren, selbst wenn bereits eine neuere Version installiert ist. Warnung: Zur Zeit prüft dpkg beim Downgrade keine Abhängigkeiten und wird deshalb nicht warnen, wenn beim Downgrade Abhängigkeiten eines anderen Paketes verletzt werden. Dies kann ernsthafte Seiteneffekte haben, das Downgrade essentieller Systemkomponenten kann sogar das ganze System unbenutzbar machen. Man benutze es mit Vorsicht. configure-any: Konfiguriere auch alle entpackten aber nicht-konfigurierten Pakete, von denen das aktuelle Paket abhängt. hold: Bearbeite Pakete, sogar wenn sie als "halten" markiert sind. remove-reinstreq: Entferne ein Paket, sogar wenn es kaputt und mit "Reinstallation erforderlich" markiert ist. Auf diese Weise können z.B. Teile des Paketes auf dem System zurückbleiben, die dann von dpkg vergessen werden. remove-essential: Entfernen, sogar wenn das Paket als essentiell betrachtet wird. Essentielle Pakete enthalten hauptsächlich die grundlegendsten Unix Kommandos. Sie zu entfernen könnte verursachen, dass das ganze System aufhört zu arbeiten. Man benutze es daher mit Vorsicht. depends: Mache alle Abhängigkeitsprobleme zu Warnungen. depends-version: Beachte keine Versionen beim Prüfen von Abhängigkeiten. conflicts: Installiere, sogar wenn es mit einem anderen Paket einen Konflikt hat. Dies ist gefährlich, weil es üblicherweise das Überschreiben einiger Dateien verursacht. confmiss: Installiere immer eine fehlende Konfigurationsdatei. Dies ist gefährlich, weil es bedeutet, eine Veränderung (das Entfernen) der Datei nicht beizubehalten. confnew: Wenn eine Konfigurationsdatei verändert wurde, installiere immer die neue Version ohne nachzufragen, solange nicht auch --force-confdef angegeben ist, in welchem Falle die voreingestellte Aktion bevorzugt wird. confold: Wenn eine Konfigurationsdatei verändert wurde, behalte immer die alte Version bei ohne nachzufragen, solange nicht auch --force-confdef angegeben ist, in welchem Falle die voreingestellte Aktion bevorzugt wird. confdef: Wenn eine Konfigurationsdatei verändert wurde, wähle immer die voreingestellte Aktion. Wenn es keine voreingestellte Aktion gibt, wird es anhalten um den Benutzer zu fragen, solange nicht auch --force-confnew oder --force-confold gegeben wurden, in welchem Falle es dies benutzt, um die entgültige Aktion zu entscheiden. overwrite: Überschreibe Datei eines Paketes mit Datei eines anderen. overwrite-dir: Überschreibe Verzeichnis eines Paketes mit Datei eines anderen. overwrite-diverted: Überschreibe eine umgelenkte Datei mit einer nicht umgelenkten Version. architecture: Bearbeite sogar Pakete mit der falschen Architektur. bad-path: In PATH fehlen wichtige Programme, so dass Probleme wahrscheinlich sind. not-root: Versuche sogar als nicht-root Sachen zu (de)installieren. bad-verify: Installiere ein Paket sogar, wenn es bei der Authentizitätsprüfung scheitert. |
--ignore-depends=Paket,... |
Ignoriere Abhängigkeitsprüfung für angegebene Pakete (tatsächlich wird die Prüfung durchgeführt, aber es werden nur Warnungen über Konflikte ausgegeben, nichts anderes). |
--new | --old |
Wähle neues oder altes Binärpaketformat. Dies ist eine dpkg-deb(1) Option. |
--nocheck |
Lese oder prüfe nicht den Inhalt der Kontrolldatei beim Bauen eines Paketes. Dies ist eine dpkg-deb(1) Option. |
--no-act | --dry-run | --simulate |
Mache alles wie vorgesehen, aber schreibe keine Veränderungen. Dies wird benutzt, um zu sehen, was bei der angebenen Aktion passieren würde, ohne tatsächlich irgendetwas zu verändern. Man versichere sich, dass man --no-act vor dem Aktionsparameter angibt, oder man könnte unerwünschte Ergebnisse erhalten (z.B. wird dpkg --purge foo --no-act zuerst das Paket foo vollständig entfernen und dann versuchen, das Paket --no-act vollständig zu entfernen, obwohl man möglicherweise erwartet, dass es tatsächlich gar nichts tut). |
-R | --recursive |
Rekursiv alle regulären Dateien behandeln, die auf .deb enden, und sich im angegebenen Verzeichnis und allen seinen Unterverzeichnissen befinden. Kann mit den Aktionen -i, -A, --install, --unpack und --avail benutzt werden. |
-G |
Installiere ein Paket nicht, wenn bereits eine neuere Version des Paketes installiert ist. Dies ist ein Alias für --refuse-downgrade. |
--root=Verzeichnis | --admindir=Verzeichnis | --instdir=Verzeichnis |
Ändere voreinstellte Verzeichnisse. admindir zeigt voreingestellt auf /var/lib/dpkg/ und enthält viele Dateien die Informationen geben über den Zustand installierter und nicht installierter Pakete usw. instdir zeigt voreingestellt auf / und verweist auf das Verzeichnis wohin Pakete installiert werden sollen. instdir ist auch das Verzeichnis, das an chroot(2) übergeben wird, bevor die Installationsskripte eines Pakets ausgeführt werden, das heißt dass die Skripte instdir als Wurzelverzeichnis sehen. root ändern ändert instdir in Verzeichnis und admindir in Verzeichnis/var/lib/dpkg/. |
-O | --selected-only |
Bearbeite nur die Pakete, die zur Installation selektiert sind. Das eigentliche Markieren wird mit dselect oder von dpkg getan, wenn es Pakete behandelt. Wenn zum Beispiel ein Paket entfernt wird, wird es als selektiert zur Deinstallation markiert. |
-E | --skip-same-version |
Installiere das Paket nicht, wenn dieselbe Version des Paketes bereits installiert ist. |
--status-fd n |
Schreibe Info über Paket Zustand auf Dateideskriptor n. Dies kann mehrfach angegeben werden. Zustandsupdates sind von der Form status: pkg: pkg qstate. |
/etc/dpkg/dpkg.cfg |
Konfigurationsdatei mit voreingestellten Optionen. |
Die anderen nachfolgend aufgelisteten Dateien sind in ihren voreingestellten Verzeichnissen, siehe Option --admindir um zu sehen, wie man die Orte dieser Dateien verändert. |
/var/lib/dpkg/available |
Liste verfügbarer Pakete. |
/var/lib/dpkg/status |
Zustände verfügbarer Pakete. Diese Datei enthält Informationen darüber ob ein Paket zum Entfernen markiert ist oder nicht, ob es installiert ist oder nicht, usw. Siehe Abschnitt INFORMATIONEN ÜBER PAKETE für mehr Informationen. |
Die nachfolgenden Dateien sind Komponenten eines Binärpaketes. Siehe deb(5) für mehr Informationen über sie: |
control |
conffiles |
preinst |
postinst |
prerm |
||
postrm |
DPKG_NO_TSTP |
Man setze dies, wenn man bevorzugt, dass dpkg eine neue Shell startet statt sich selbst zu suspendieren, während es ein Shell-Escape ausführt. |
SHELL |
Das Programm, das dpkg ausführt, wenn es eine neue Shell startet. |
COLUMNS |
Setzt die Anzahl Spalten, die dpkg verwenden soll, wenn es formatierten Text anzeigt. Zur Zeit nur von -l benutzt. |
DPKG_OLD_CONFFILE |
Wird von dpkg auf den Dateinamen der alten Konfigurationsdatei gesetzt, wenn man eine Shell startet, um eine geänderte Konfigurationsdatei zu untersuchen. |
DPKG_NEW_CONFFILE |
Wird von dpkg auf den Dateinamen der neuen Version einer Konfigurationsdatei gesetzt, wenn man eine Shell startet, um eine geänderte Konfigurationsdatei zu untersuchen. |
Pakete auflisten, die mit dem Editor vi
zusammenhängen: Die Einträge zu zwei Paketen in
/var/lib/dpkg/available sehen: Die Auflistung der Pakete selbst durchsuchen: Ein installiertes Paket elvis entfernen: Um ein Paket zu installieren, muss man es erst in einem
Archiv oder auf einer CDROM finden. Die Datei
available Datei zeigt, dass sich das Paket vim in der
Sektion »editors« befindet: Eine lokale Kopie der Paket-Selektions-Zustände
machen: Man könnte diese Datei auf einen anderen Computer
bringen und dort so installieren: Für gewöhnlich wird man finden, dass dselect(8) eine bequemere Art bietet, die Paket-Selektionszustände zu verändern. |
Zusätzliche Funktionalität kann durch Installieren der folgenden Pakete gewonnen werden: apt, aptitude und debsums. |
dselect(8), dpkg-deb(1), deb(5), deb-control(5) und dpkg-reconfigure(8) |
--no-act gibt für gewöhnlich weniger Informationen als hilfreich wäre. |
Siehe /usr/share/doc/dpkg/THANKS.gz für die Liste der Leute, die zu dpkg beigetragen haben. Übersetzung dieser Manpage von Florian »eix« Rehnisch, 23. Sep. 2006. |