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

Résolu
nouveau3456 Messages postés 4 Statut Membre -  
 guigui -
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#

4 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
    23
    1. Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   150
       
      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
      1
      1. guigui > Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention  
         

        Merci pareil pour moi ! 

        0
    2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
       
      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
    3. Azerty
       
      Merci
      1