===== 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 .deb # Paket installieren (install) sudo dpkg -r # Paket entfernen (remove) sudo dpkg -P # 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 .deb ==== Paketinformationen abfragen ==== # Installierte Pakete dpkg -l # Alle installierten Pakete auflisten (list) dpkg -l | grep # Nach installiertem Paket suchen dpkg -l # Status eines Pakets anzeigen dpkg -s # Detaillierte Paketinformationen (status) dpkg -L # Dateien eines installierten Pakets auflisten (List files) dpkg -p # Paketinformationen anzeigen (print-avail) # Paketdateien (.deb) abfragen dpkg -I .deb # Info aus DEB-Datei (Info) dpkg -c .deb # Dateien in DEB-Datei auflisten (contents) dpkg --info .deb # Ausführliche Informationen # Dateien und Pakete dpkg -S # Welches Paket enthält diese Datei (Search) dpkg -S # Mit vollständigem Pfad dpkg -S $(which ) # Paket zu einem Befehl finden ==== Paketstatus und -konfiguration ==== # Paketstatus dpkg --get-selections # Alle Pakete mit Status auflisten dpkg --get-selections | grep dpkg-query -W -f='${Status}\n' # Status eines bestimmten Pakets # Paket-Holds (vor Updates schützen) echo " hold" | sudo dpkg --set-selections # Paket halten echo " install" | sudo dpkg --set-selections # Hold aufheben dpkg --get-selections | grep hold # Gehaltene Pakete anzeigen # Konfiguration sudo dpkg-reconfigure # Paket neu konfigurieren ==== Verifizierung und Prüfung ==== # Paket-Integrität prüfen dpkg -V # Paket verifizieren (verify) debsums # 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 .deb # Dateien extrahieren dpkg-deb -e .deb # Kontroll-Informationen extrahieren ar x .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 '**' # Pakete nach Muster suchen ==== Paketabhängigkeiten ==== # Abhängigkeiten anzeigen dpkg -s | grep Depends # Abhängigkeiten eines installierten Pakets dpkg -I .deb | grep Depends # Abhängigkeiten einer DEB-Datei # Reverse Dependencies (welche Pakete brauchen dieses) apt-cache rdepends # APT verwenden für reverse dependencies ==== DEB-Pakete erstellen ==== # Paket bauen dpkg-deb --build # DEB-Paket aus Verzeichnis erstellen dpkg-deb -b .deb # Paket-Informationen prüfen dpkg-deb --info .deb dpkg-deb --contents .deb lintian .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:apt|APT]] (High-Level Paketmanager für Debian/Ubuntu) * [[sammlung:rpm|RPM]] (Red Hat-Äquivalent) * [[sammlung:paketverwaltung|Paketverwaltung Übersicht]] ---- {{tag>cli package management deb basics, advanced}} ----