Impossible d'obtenir le verrou /var/lib/dpkg/lock-frontend

Fermé
nouveau3456
Messages postés
3
Date d'inscription
samedi 20 juillet 2019
Statut
Membre
Dernière intervention
20 juillet 2019
- Modifié le 25 juil. 2019 à 15:00
 Azerty - 21 mai 2020 à 20:20
Bonjour à tous,

J'ai un petit problème a chaque fois que je veux utiliser la commande
apt-get
ce message s'affiche

E: Impossible d'obtenir le verrou /var/lib/dpkg/lock-frontend - open (11: Ressource temporairement non disponible)
E: Impossible d'obtenir le verrou de dpkg (/var/lib/dpkg/lock-frontend). Il est possible qu'un autre processus l'utilise.
root@pop-os:/home/utilisateur#
A voir également:

4 réponses

mamiemando
Messages postés
31174
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 juin 2022
7 369
Modifié le 25 juil. 2019 à 15:19
Bonjour,

Ce problème est hyper classique et une petite recherche préalable sur Internet t'aurait sans doute permis de résoudre ton problème (voir par exemple cette page).

Explication du problème

Afin d'éviter que plusieurs gestionnaires de paquets n'exécutent simultanément des mises à jour, apt crée des verrous temporaire et les supprime une fois l'opération terminée. Ce message d'erreur a deux explications possibles :
  • Explication 1 : un autre gestionnaire de paquets est déjà ouvert,
  • Explication 2 : un gestionnaire de paquets a été quitté abruptement et n'a pas pu supprimer les verrous qu'il avait installé.


Dans ton cas précis, le message semble indiquer que c'est

Diagnostic

Pour savoir dans quel cas tu te trouves, lance la commande
ps faux | egrep "(apt|synaptic|adept|muon|discover)"
depuis un terminal. Ainsi on verra si un gestionnaire de paquets est en train de tourner

Si des lignes apparaissent tu es dans le cas 2 (reporte-nous le résultat de cette commande pour confirmer). Sinon tu es dans le cas 2.

Résolution du problème : cas 1:

Il n'y a rien à résoudre, il faut juste retrouver le gestionnaire de paquets (synaptic,
aptitude
,
apt-get
...). Si tu ne parviens pas à le retrouver, tu peux tuer depuis ton gestionnaire de processus ou avec la commande pkill (e.g.
sudo pkill apt-get
). Tu provoqueras alors le cas 2.

Résolution du problème : cas 2

Avant de lancer ses commande il faut s'assurer qu'aucun gestionnaire de paquets ne tourne (voir diagnostic).

1) Supprime les verrous, jusqu'à ce qu'
apt-get
fonctionne. Voici une liste relativement exhaustive des éventuels verrous qui pourraient traîner :

sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock


(il y en aura peut-être d'autres)

2) Il faudra probablement finir l'éventuelle mise à jour avortée. Là aussi tu auras un message d'erreur qui t'indiquera qu'il faut lancer une commande du genre :

sudo dpkg --configure -a


3) Lance
apt-get
normalement. Par exemple si tu veux installer
typespeed
:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install typespeed


Bonne chance
16
Exileur
Messages postés
1468
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
26 octobre 2021
149
9 sept. 2019 à 16:25
Hello,

Je lance ça un peu comme ça.

J'ai recemment rencontré des problémes de ce genre sur mon Ubuntu, lié à un certain
python3 unattended-upgrade
planté qui lockait dpkg

A plus
0
mamiemando
Messages postés
31174
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
27 juin 2022
7 369
10 sept. 2019 à 09:18
Effectivement
unattended-upgrade
peut lancer des mises à jour automatique. C'est un paquet optionnel que tu peux donc supprimer sans risque s'il t'ennuie.

Comme je le disais plus haut, un verrou ne doit pas être supprimé si une mise à jour est en cours, sinon tu risques de faire des bêtises.

1) Tu peux contrôler assez facilement si une mise à jour est en cours en regardant les processus en cours :

ps faux | egrep "(apt|dpkg)" | grep -v grep


Si une ligne apparaît c'est qu'une mise à jour est en cours.

2) Tu peux alors décider d'avorter la mise à jour. C'est sale mais faisable. Le premier nombre qui apparaît sur cette ligne correspond au PID. Tu peux utiliser la commande
sudo kill -9 PID
en replaçant PID par la valeur appropriée pour tuer ledit processus. Reprends à partir de l'étape (1) pour vérifier qu'il n'y a plus de gestionnaire de paquets qui tourne.

3) Enfin, il faut supprimer les verrous résiduels, qui n'ont pas été supprimés puisque le gestionnaire de paquets a été tué abruptement. Cela qui inclue
/var/lib/dpkg/lock
. Pour retrouver le noms des verrous inciriminés, c'est très simple, il suffit de lancer ton gestionnaire de paquets, par exemple via la commande
sudo apt update
. S'il reste un verrou, la mise à jour ne se lancera pas et
apt
te donnera le nom d'un verrou, que tu pourras alors supprimer (
sudo rm /var/lib/dpkg/lock
). Repète l'opération jusqu'à avoir supprimé chaque verrou.

Bonne chance
0
Merci
1