Benutzer-Werkzeuge

Webseiten-Werkzeuge


sammlung:dpkg

Dies ist eine alte Version des Dokuments!


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.1767695749.txt.gz · Zuletzt geändert: von Branislav Zeljak