Symptômes courants
apt installsignale « dépendance non satisfaite »dpkgest interrompu et ne peut pas continuer l’installation- Le message “colis cassés retenus” apparaît
- L’état du package est “à moitié installé” ou “à moitié configuré”.
Note
La plupart des problèmes de package peuvent être résolus avec les trois premières étapes (dpkg --configure -a, apt --fix-broken install, apt update && apt upgrade). Veuillez les essayer dans l’ordre et ne vous précipitez pas pour utiliser des méthodes de réparation avancées.
Procédure de réparation standard
Essayez les étapes suivantes dans l’ordre. Les premières étapes résolvent généralement le problème.
Étape 1 : Réparer le dpkg interrompu
sudo dpkg --configure -aÉtape 2 : Corriger les dépendances
sudo apt --fix-broken installÉtape 3 : Mettre à jour et nettoyer
sudo apt update
sudo apt upgrade
sudo apt autoremove
sudo apt autocleanRéparation avancée
Forcer les packages de correctifs
# 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_NAMEVider le cache des paquets
# 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/*.debCorrection du verrouillage dpkg
Si vous obtenez « Impossible de verrouiller le répertoire d’administration » :
# 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 -aReconstruire la base de données dpkg
Dans les cas extrêmes où la base de données dpkg est corrompue :
# 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 updateDépannage des conflits de dépendances
Afficher les dépendances des packages
# 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_NAMEConflits provoqués par les PPA
Les PPA tiers sont une source courante de conflits de dépendance :
# 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/yyyConflits de conservation de version
# View held packages
apt-mark showhold
# Unhold a package
sudo apt-mark unhold PACKAGE_NAMEProblèmes de package Snap
# View snap status
snap list
# Fix snap
sudo snap refresh
# Reinstall a problematic snap
sudo snap remove PACKAGE_NAME
sudo snap install PACKAGE_NAMEDernier recours
Si aucune des méthodes ci-dessus ne fonctionne, essayez :
# 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 fromConseils de prévention
- Évitez d’ajouter des PPA tiers non fiables
- Ne mélangez pas les sources logicielles de différentes versions d’Ubuntu
- Exécutez régulièrement
sudo apt update && sudo apt upgrade - Utilisez
apt install -spour simuler l’installation et vérifier les conflits - Maintenir la cohérence des versions des packages système ; évitez d’installer manuellement les fichiers
.debqui remplacent les packages système