Les distributions Linux à base de Debian comme Ubuntu, Mint utilisent le système de paquets dpkg.
Lorsque vous tentez d’installer, mettre à jour un paquet, vous pouvez rencontrer l’erreur :
E: Could not get lock /var/lib/dpkg/lock – open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?
Une autre variante est dpkg: error: dpkg frontend lock.
Cette erreur se produit lorsque le fichier lock est présent, généralement, car le processus dpkg est en cours de fonctionnement ou s’est mal fermé.
Dans ce tutoriel, je fournis toutes les solutions pour résoudre ce problème d’utilisation de dpkg.
Table des matières
Could not get lock /var/lib/dpkg/lock ou dpkg: error: dpkg frontend lock : les solutions
Lorsque la commande dpkg est appelée, celui-ci créé un fichier de verrouillage /var/lib/dpkg/lock.
Cela évite d’avoir plusieurs instances de dpkg qui fonctionnent en même temps.
Si le fichier existe déjà et que le système ne parvient pas à la supprimer, vous obtenez l’erreur suivante :
E: Impossible de verrouiller /var/lib/dpkg/lock - open (11 Ressource temporairement non disponible)
E: Impossible de verrouiller le répertoire d'administration (/var/lib/dpkg/), un autre processus l'utilise-t-il?
Méthode 1 – Tuer les processus dpkg
Cela peut se produire :
- Si une instance de dpkg est déjà en cours de fonctionnement
- dpkg a planté durant son utilisation (par exemple avec un segfault)
Essayez de résoudre cette erreur en utilisant la commande kill pour tuer toutes occurrences de dpkg et d’APT :
sudo killall -9 dpkg
sudo killall -9 apt-get
sudo rm -f /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
Vous pouvez aussi tuer les processus qui ouvrent les fichiers de lock, combiner la commande kill avec lsof -t :
kill -9 `lsof -t /var/lib/dpkg/lock`
kill -9 `lsof -t /var/lib/apt/lists/lock`
kill -9 `lsof/var/lib/dpkg/lock-frontend`
Méthode 2 – Trouver ce qui verrouille dpkg
La solution précédente ne fonctionnera pas, si dpkg est lancé par un autre processus.
Par exemple, une mise à niveau du système est en cours par APT.
Sinon, vous pouvez le faire manuellement.
Commencez par lister les PID des processus qui ouvre les fichiers de lock APT manuellement :
sudo lsof /var/lib/dpkg/lock
sudo lsof /var/lib/apt/lists/lock
sudo lsof /var/cache/apt/archives/lock
A nouveau, on utilise la commande kill pour arrêter le processus et déverrouiller le fichier lock de dpkg.
sudo kill -9 <PID>
Cas du “dpkg: error: dpkg frontend is locked by another process”
Dans cet exemple, dpkg indique qu’un autre processus a ouvert le fichier lock-frontend.
Il indique le PID du processus, soit 4545.
dpkg: error: dpkg frontend lock was locked by another process with pid 4545
Il suffit d’utiliser la commande kill pour tuer le processus à partir de son PID :
sudo kill -9 4545
Si le PID n’est pas indiqué, utilisez la commande lsof pour trouver ce qui ouvre le fichier lock-frontend :
sudo lsof /var/lib/dpkg/lock-frontend
Par exemple ci-dessous, il s’agit du processus apt-get avec le PID 4793 :
sudo lsof /var/lib/dpkg/lock-frontend
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apt-get 4793 root 4uW REG 8,1 0 112197840 /var/lib/dpkg/lock-frontend
Puis utilisez le processus avec la commande kill en indiquant le PID :
sudo kill -9 <PID>
Enfin supprimer le fichier lock-frontend et reconfigurez les paquets :
sudo rm /var/lib/dpkg/lock-frontend
sudo dpkg --configure -a
Liens
- dpkg : gestionnaire de paquets pour Debian, Ubuntu ou Mint
- 13 exemples d’utilisation de la commande dpkg pour les distributions Linux basées sur Debian
- dpkg-reconfigure : reconfigurer un paquet installé dans Ubuntu, Debian ou Linux Mint
- Résoudre les problèmes ou erreurs d’installation de paquet dpkg
- Erreur 1068 : le service ou le groupe de dépendance n’a pas pu démarrer
- Comment installer Linux Mint en Dual-boot avec Windows
- Erreur et Impossible d’activer le pare-feu de Windows