dpkg — Das Debian-Paketwerkzeug auf unterster Ebene
Praxis-Guide zu dpkg: lokale .deb-Pakete installieren, Paketstatus und Inhalt abfragen und Installationen reparieren — die Basis unter apt.
dpkg ist das Low-Level-Paketwerkzeug von Debian und damit die Basis, auf der apt und apt-get aufsetzen. Du installierst damit lokale .deb-Dateien direkt, fragst den Status installierter Pakete ab, listest deren Inhalt auf oder findest heraus, welches Paket zu einer bestimmten Datei gehört. Anders als apt löst dpkg jedoch keine Abhängigkeiten auf – es verarbeitet genau die Pakete, die du ihm übergibst. Dieser Guide zeigt dir die wichtigsten dpkg-Befehle für Installation, Abfrage und Reparatur.
Installieren & Entfernen
dpkg -i <file>.deb — Installiert ein .deb-Paket.
sudo dpkg -i package.debdpkg -r <package> — Entfernt ein Paket (Konfigurationsdateien bleiben erhalten).
sudo dpkg -r nginxdpkg -P <package> — Entfernt ein Paket vollständig (inklusive Konfigurationsdateien).
sudo dpkg -P nginxdpkg --configure -a — Konfiguriert alle entpackten, aber noch nicht konfigurierten Pakete.
sudo dpkg --configure -adpkg --force-depends -i <file>.deb — Erzwingt die Installation und ignoriert Abhängigkeitsfehler.
sudo dpkg --force-depends -i package.debInstallierte Pakete abfragen
dpkg -l — Listet alle installierten Pakete auf.
dpkg -ldpkg -l '<pattern>' — Listet Pakete auf, die einem Muster entsprechen.
dpkg -l 'php*'dpkg -s <package> — Zeigt detaillierten Status und Infos zu einem Paket.
dpkg -s nginxdpkg -L <package> — Listet alle von einem Paket installierten Dateien auf.
dpkg -L nginxdpkg -S <file> — Findet heraus, welches Paket eine Datei enthält.
dpkg -S /usr/sbin/nginxdpkg -S '<pattern>' — Sucht Pakete anhand eines Dateipfad-Musters.
dpkg -S '*/bin/python*'.deb-Dateien abfragen
dpkg -I <file>.deb — Zeigt Infos zu einer .deb-Datei (vor der Installation).
dpkg -I package.debdpkg -c <file>.deb — Listet die Dateien innerhalb einer .deb-Datei auf.
dpkg -c package.debdpkg -x <file>.deb <dir> — Entpackt die Dateien einer .deb-Datei in ein Verzeichnis.
dpkg -x package.deb /tmp/extract/dpkg -e <file>.deb <dir> — Extrahiert die Steuerinformationen (control) aus einer .deb-Datei.
dpkg -e package.deb /tmp/control/Neu konfigurieren & Reparieren
dpkg-reconfigure <package> — Konfiguriert ein installiertes Paket neu (Setup erneut ausführen).
sudo dpkg-reconfigure tzdatadpkg-reconfigure -plow <package> — Konfiguriert neu und zeigt alle Fragen (auch mit niedriger Priorität).
sudo dpkg-reconfigure -plow localesdpkg --configure -a — Repariert teilweise installierte Pakete.
sudo dpkg --configure -aapt-get install -f — Behebt defekte Abhängigkeiten nach einer dpkg-Installation.
sudo apt-get install -fHäufige Muster
dpkg -l | grep '^ii' — Listet nur korrekt installierte Pakete auf.
dpkg -l | grep '^ii'dpkg -l | grep '^rc' — Listet entfernte Pakete mit übrig gebliebenen Konfigurationsdateien auf.
dpkg -l | grep '^rc' | awk '{print $2}' | xargs sudo dpkg -Pdpkg --get-selections — Exportiert den Paket-Auswahlstatus (zum Klonen).
dpkg --get-selections > packages.txtdpkg --set-selections < packages.txt — Importiert Paket-Auswahlen (danach apt-get dselect-upgrade ausführen).
sudo dpkg --set-selections < packages.txt && sudo apt-get dselect-upgradedpkg --compare-versions <v1> <op> <v2> — Vergleicht Paket-Versionsnummern.
dpkg --compare-versions 2.0 gt 1.5 && echo 'newer' Fazit
dpkg ist das Fundament der Debian-Paketverwaltung: präzise, schnell und unverzichtbar, wenn du eine einzelne .deb-Datei installieren oder genau wissen willst, welches Paket eine bestimmte Datei mitbringt. Der entscheidende Haken: dpkg löst keine Abhängigkeiten auf – ein dpkg -i kann dein System in einen inkonsistenten Zustand bringen, den du anschließend mit sudo apt-get -f install reparierst. Die Optionen -r, -P und --purge entfernen Pakete (bei -P/--purge samt Konfiguration) ohne Rückfrage, prüfe also den Paketnamen genau. Für den Alltag – Pakete aus Repositories installieren und aktualisieren – greifst du besser zu apt; dpkg ist das Werkzeug für lokale Dateien, Abfragen und Notfall-Reparaturen.
Weiterführende Links
- dpkg(1) – Debian-Manpage – offizielle Referenz aller Optionen und Aktionen (englisch)
- dpkg – Debian-Wiki – Hintergrund zu dpkg im Debian-Paketsystem (englisch)