apt installmeldet „Abhängigkeit nicht erfüllt“dpkgist unterbrochen und kann die Installation nicht fortsetzen- Die Meldung „gebrochene Pakete zurückgehalten“ wird angezeigt
- Paketstatus ist „halbinstalliert“ oder „halbkonfiguriert“
Note
Die meisten Paketprobleme können mit den ersten drei Schritten (dpkg --configure -a, apt --fix-broken install, apt update && apt upgrade) gelöst werden. Bitte probieren Sie sie der Reihe nach aus und nutzen Sie nicht überstürzt fortgeschrittene Reparaturmethoden.
Standard-Reparaturverfahren
Führen Sie die folgenden Schritte der Reihe nach aus. Die ersten Schritte lösen das Problem normalerweise.
Schritt 1: Unterbrochenes Dpkg beheben
sudo dpkg --configure -aSchritt 2: Abhängigkeiten beheben
sudo apt --fix-broken installSchritt 3: Aktualisieren und bereinigen
sudo apt update
sudo apt upgrade
sudo apt autoremove
sudo apt autoclean# View problematic packages
dpkg -l | grep -E "^..[^i ]"
# Force reinstall a package
sudo apt install --reinstall PACKAGE_NAME
# Force remove a broken package
sudo dpkg --remove --force-remove-reinstreq PACKAGE_NAME# Delete all downloaded package cache
sudo apt clean
# Delete only outdated packages
sudo apt autoclean
# Manual cleanup
sudo rm /var/cache/apt/archives/*.deb
sudo rm /var/cache/apt/archives/partial/*.debWenn Sie die Meldung erhalten, dass das Administrationsverzeichnis nicht gesperrt werden kann:
# Check if other apt/dpkg processes are running
ps aux | grep -E "apt|dpkg"
# If you confirm no other processes are running, delete the lock files
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
sudo dpkg --configure -aErstellen Sie die dpkg-Datenbank neu
In extremen Fällen, in denen die dpkg-Datenbank beschädigt ist:
# Back up existing database
sudo cp -r /var/lib/dpkg /var/lib/dpkg.backup
# Restore the status file from the system's daily backup (status is dpkg's core database)
ls -t /var/backups/dpkg.status.* # List available backup snapshots
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status # .0 is newest; use an older snapshot if needed
sudo dpkg --clear-avail
sudo apt updateFehlerbehebung bei Abhängigkeitskonflikten
Paketabhängigkeiten anzeigen
# View dependencies of a package
apt depends PACKAGE_NAME
# View which packages depend on a package
apt rdepends PACKAGE_NAME
# Simulate installation to see conflicts
apt install -s PACKAGE_NAMEKonflikte durch PPAs
PPAs von Drittanbietern sind eine häufige Ursache für Abhängigkeitskonflikte:
# List added PPAs
grep -rh "^deb " /etc/apt/sources.list.d/ | sort
# Disable a problematic PPA
sudo add-apt-repository --remove ppa:xxx/yyy
# Downgrade PPA-installed packages to official versions
sudo apt install ppa-purge
sudo ppa-purge ppa:xxx/yyyVersionskonflikte
# View held packages
apt-mark showhold
# Unhold a package
sudo apt-mark unhold PACKAGE_NAMESnap Paketprobleme
# View snap status
snap list
# Fix snap
sudo snap refresh
# Reinstall a problematic snap
sudo snap remove PACKAGE_NAME
sudo snap install PACKAGE_NAMELetzter Ausweg
Wenn keine der oben genannten Methoden funktioniert, versuchen Sie Folgendes:
# Completely reinstall the package management system (use with caution)
sudo apt install --reinstall dpkg apt
# Or use aptitude for interactive conflict resolution
sudo apt install aptitude
sudo aptitude install PACKAGE_NAME
# aptitude will offer multiple solutions to choose fromPräventionstipps
- Vermeiden Sie das Hinzufügen nicht vertrauenswürdiger PPAs von Drittanbietern
- Mischen Sie keine Softwarequellen aus verschiedenen Ubuntu-Versionen
- Führen Sie
sudo apt update && sudo apt upgraderegelmäßig aus - Verwenden Sie
apt install -s, um die Installation zu simulieren und auf Konflikte zu prüfen - Halten Sie die Systempaketversionen konsistent; Vermeiden Sie die manuelle Installation von
.deb-Dateien, die Systempakete überschreiben