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.deb

dpkg -r <package> — Entfernt ein Paket (Konfigurationsdateien bleiben erhalten).

sudo dpkg -r nginx

dpkg -P <package> — Entfernt ein Paket vollständig (inklusive Konfigurationsdateien).

sudo dpkg -P nginx

dpkg --configure -a — Konfiguriert alle entpackten, aber noch nicht konfigurierten Pakete.

sudo dpkg --configure -a

dpkg --force-depends -i <file>.deb — Erzwingt die Installation und ignoriert Abhängigkeitsfehler.

sudo dpkg --force-depends -i package.deb

Installierte Pakete abfragen

dpkg -l — Listet alle installierten Pakete auf.

dpkg -l

dpkg -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 nginx

dpkg -L <package> — Listet alle von einem Paket installierten Dateien auf.

dpkg -L nginx

dpkg -S <file> — Findet heraus, welches Paket eine Datei enthält.

dpkg -S /usr/sbin/nginx

dpkg -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.deb

dpkg -c <file>.deb — Listet die Dateien innerhalb einer .deb-Datei auf.

dpkg -c package.deb

dpkg -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 tzdata

dpkg-reconfigure -plow <package> — Konfiguriert neu und zeigt alle Fragen (auch mit niedriger Priorität).

sudo dpkg-reconfigure -plow locales

dpkg --configure -a — Repariert teilweise installierte Pakete.

sudo dpkg --configure -a

apt-get install -f — Behebt defekte Abhängigkeiten nach einer dpkg-Installation.

sudo apt-get install -f

Hä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 -P

dpkg --get-selections — Exportiert den Paket-Auswahlstatus (zum Klonen).

dpkg --get-selections > packages.txt

dpkg --set-selections < packages.txt — Importiert Paket-Auswahlen (danach apt-get dselect-upgrade ausführen).

sudo dpkg --set-selections < packages.txt && sudo apt-get dselect-upgrade

dpkg --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.

Verwandte Kommandos

  • apk – Paketmanager von Alpine Linux
  • apt – komfortables High-Level-Frontend der Debian-Paketverwaltung
  • apt-get – klassisches, skriptfreundliches APT-Werkzeug