sammlung:dpkg
Inhaltsverzeichnis
dpkg (Debian Package Manager)
dpkg ist das Low-Level-Paketverwaltungstool für Debian-basierte Distributionen (Debian, Ubuntu, Linux Mint).
Grundlagen
- Arbeitet direkt mit .deb-Paketen
- Führt keine automatische Abhängigkeitsauflösung durch
- Paketdatenbank in `/var/lib/dpkg/`
- Wird von höheren Tools wie APT genutzt
Wichtige Befehle
# Installation und Entfernung sudo dpkg -i <paket>.deb # Paket installieren (install) sudo dpkg -r <paket> # Paket entfernen (remove) sudo dpkg -P <paket> # Paket vollständig entfernen inkl. Konfiguration (purge) # Installation reparieren (nach fehlgeschlagener Installation) sudo apt-get install -f # Abhängigkeiten nachinstallieren sudo dpkg --configure -a # Nicht konfigurierte Pakete konfigurieren # Installation ohne Abhängigkeitsprüfung (Vorsicht!) sudo dpkg -i --force-depends <paket>.deb
Paketinformationen abfragen
# Installierte Pakete dpkg -l # Alle installierten Pakete auflisten (list) dpkg -l | grep <name> # Nach installiertem Paket suchen dpkg -l <paket> # Status eines Pakets anzeigen dpkg -s <paket> # Detaillierte Paketinformationen (status) dpkg -L <paket> # Dateien eines installierten Pakets auflisten (List files) dpkg -p <paket> # Paketinformationen anzeigen (print-avail) # Paketdateien (.deb) abfragen dpkg -I <paket>.deb # Info aus DEB-Datei (Info) dpkg -c <paket>.deb # Dateien in DEB-Datei auflisten (contents) dpkg --info <paket>.deb # Ausführliche Informationen # Dateien und Pakete dpkg -S <datei> # Welches Paket enthält diese Datei (Search) dpkg -S <pfad/datei> # Mit vollständigem Pfad dpkg -S $(which <befehl>) # Paket zu einem Befehl finden
Paketstatus und -konfiguration
# Paketstatus
dpkg --get-selections # Alle Pakete mit Status auflisten
dpkg --get-selections | grep <paket>
dpkg-query -W -f='${Status}\n' <paket> # Status eines bestimmten Pakets
# Paket-Holds (vor Updates schützen)
echo "<paket> hold" | sudo dpkg --set-selections # Paket halten
echo "<paket> install" | sudo dpkg --set-selections # Hold aufheben
dpkg --get-selections | grep hold # Gehaltene Pakete anzeigen
# Konfiguration
sudo dpkg-reconfigure <paket> # Paket neu konfigurieren
Verifizierung und Prüfung
# Paket-Integrität prüfen dpkg -V <paket> # Paket verifizieren (verify) debsums <paket> # Checksummen prüfen (debsums muss installiert sein) debsums -c # Nur geänderte Dateien anzeigen # Paket-Architektur dpkg --print-architecture # System-Architektur anzeigen dpkg --print-foreign-architectures # Fremd-Architekturen (z.B. i386 auf amd64)
Erweiterte Verwaltung
# Paketinhalt extrahieren dpkg-deb -x <paket>.deb <zielverzeichnis> # Dateien extrahieren dpkg-deb -e <paket>.deb <zielverzeichnis> # Kontroll-Informationen extrahieren ar x <paket>.deb # DEB-Archiv entpacken # Paketdatenbank ls -l /var/lib/dpkg/ # Datenbank-Verzeichnis cat /var/lib/dpkg/status # Installierte Pakete (Datenbank) ls /var/lib/dpkg/info/ # Paketinformationen # Verfügbare Pakete durchsuchen dpkg-query -l '*<pattern>*' # Pakete nach Muster suchen
Paketabhängigkeiten
# Abhängigkeiten anzeigen dpkg -s <paket> | grep Depends # Abhängigkeiten eines installierten Pakets dpkg -I <paket>.deb | grep Depends # Abhängigkeiten einer DEB-Datei # Reverse Dependencies (welche Pakete brauchen dieses) apt-cache rdepends <paket> # APT verwenden für reverse dependencies
DEB-Pakete erstellen
# Paket bauen dpkg-deb --build <verzeichnis> # DEB-Paket aus Verzeichnis erstellen dpkg-deb -b <verzeichnis> <ausgabe>.deb # Paket-Informationen prüfen dpkg-deb --info <paket>.deb dpkg-deb --contents <paket>.deb lintian <paket>.deb # Paket auf Fehler prüfen (lintian muss installiert sein)
Multiarch-Unterstützung
# Fremd-Architekturen verwalten sudo dpkg --add-architecture i386 # i386-Pakete auf 64-Bit-System ermöglichen sudo dpkg --remove-architecture i386 # i386-Unterstützung entfernen dpkg --print-foreign-architectures # Konfigurierte Fremd-Architekturen
Weitere Informationen
man dpkg man dpkg-deb man dpkg-query man dpkg-reconfigure dpkg --help
Siehe auch
sammlung/dpkg.txt · Zuletzt geändert: von 127.0.0.1
