Recherche de site Web

Impossible d’obtenir lock var lib dpkg lock - Ubuntu/Debian


Ce message d’erreur est assez courant sur n’importe quel système Ubuntu ou tout autre système Linux basé sur Debian.

La signification du message Impossible d’obtenir le message de verrouillage est assez simple. Au moment où vous tentez d’installer un nouveau logiciel ou de mettre à jour votre système d’exploitation, une autre installation ou mise à niveau logicielle est en cours qui s’exécute en arrière-plan et a été lancée sur un autre terminal distant ou local par un autre utilisateur disposant de privilèges d’administration.

Exemple de E : Impossible d’obtenir le message d’erreur lock /var/lib/apt/lists/lock – open (11 : Ressource temporairement indisponible) sur Ubuntu 18.04

Une autre cause plutôt destructrice pour d’autres messages d’erreur ci-dessous :

E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/ 
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?

est que le processus d’installation ou de mise à niveau du logiciel à l’aide de la commande apt ou dpkg a été interrompu.

La façon dont fonctionne l’outil de gestion de paquets sur Ubuntu/Debian ou tout autre système d’exploitation Linux est que chaque fois que l’installation ou la mise à jour d’un paquet est lancée, l’outil de gestion de paquets, dans ce cas apt ou dpkg, crée un fichier de verrouillage /var/lib/apt/lists/lock ou var/lib/dpkg/lock pour empêcher l’exécution simultanée d’un autre processus d’installation ou de mise à jour du logiciel.

Dans ce tutoriel, vous allez apprendre :

  • Quelle est la cause la plus probable de E : Impossible d’obtenir le verrou /var/lib/apt/lists/lock sur le système Linux Ubuntu
  • Comment éviter le message d’erreur Impossible d’obtenir le verrouillage sur Ubuntu Linux
  • Comment trouver un processus détenant un verrou sur /var/lib/apt/lists/lock
  • Comment déverrouiller le verrou /var/lib/apt/lists/lock
  • Comment récupérer d’un processus d’installation apt ou dpkg prématurément terminé

Configuration logicielle requise et conventions utilisées

Impossible d’obtenir le verrou /var/lib/apt/lists/lock en raison du processus de mise à jour en arrière-plan

Sur les systèmes Linux Ubuntu, le nombre de cas où le message d’erreur E : Could not get lock /var/lib/apt/lists/lock apparaît sur les systèmes Linux Ubuntu se produit parce que la mise à jour de l’index du référentiel de paquets est exécutée automatiquement par le système Ubuntu lui-même en arrière-plan. Cela crée simplement un fichier de verrouillage et empêche l’utilisateur d’utiliser les outils apt ou dpkg en même temps.

SOLUTION
La solution la plus simple et la seule recommandée est d’attendre et de laisser la mise à jour de l’outil de gestion de paquets en arrière-plan terminer son travail et de libérer le fichier de verrouillage.

Comment éviter le message d’erreur « impossible d’obtenir le verrouillage » sur Ubuntu Linux

Le fait que le système Ubuntu déclenche la mise à jour en arrière-plan et empêche l’utilisateur d’utiliser la commande apt ou dpkg peut être une situation très frustrante.

La solution consiste à arrêter les mises à jour automatiques de la liste des paquets système en arrière-plan et à exécuter les mises à jour manuellement. Pour désactiver les mises à jour automatiques, éditez /etc/apt/apt.conf.d/20auto-upgrades à l’aide de votre éditeur de texte préféré :

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Une fois le fichier ouvert, désactivez la directive Update-Package-Lists de 1 à 0 comme indiqué ci-dessous sur Ligne 1 :

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "1";

Comment trouver le processus et l’utilisateur qui tient un cadenas

Les étapes suivantes peuvent être utilisées pour identifier l’utilisateur et le processus qui détient un verrou empêchant l’utilisateur d’exécuter correctement la commande apt ou dpkg :

  1. Prenez note du verrou de fichier en cours de verrouillage. Par exemple:

    E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
    E: Unable to lock directory /var/lib/apt/lists/ 
    
  2. Utilisez la commande fuser pour trouver un ID de processus (PID) responsable du verrou :

    sudo fuser /var/lib/apt/lists/lock
     /var/lib/apt/lists/lock: 3384
    
  3. Sur la base du PID précédemment récupéré, trouvez l’utilisateur et exécutez la commande :

    ps -p 3384 -o user,comm,args
    USER     COMMAND         COMMAND
    root     apt             apt update
    
  4. Trouver l’utilisateur et le processus responsables de la tenue d’un verrou sur le fichier /var/lib/apt/lists/lock sur le système Linux Ubuntu.

    Comment déverrouiller le verrou « /var/lib/apt/lists/lock »

    Dans le scénario où vous êtes en mesure d’identifier l’utilisateur et le processus qui détient un verrou de fichier comme indiqué dans la section précédente, examinez plus en détail et voyez si vous pouvez laisser le processus se terminer correctement.

    AVERTISSEMENT
    Ne supprimez pas de force le fichier de verrouillage s’il y a une chance de laisser le processus se terminer correctement. Cela peut nuire à votre système et dans les mêmes cas même sans l’option de récupération.

    Dans le cas où l’outil de gestion de paquets se bloque, par conséquent, incapable de terminer et de supprimer le fichier de verrouillage, vous pouvez tenter de tuer le processus. Par exemple, cela peut être accompli en :

    sudo fuser -vki /var/lib/apt/lists/lock
    [sudo] password for linuxconfig: 
                         USER        PID ACCESS COMMAND
    /var/lib/apt/lists/lock:
                         root       3384 F.... apt
    Kill process 3384 ? (y/N)
    

    ou en utilisant la commande kill et le PID précédemment récupéré, par exemple. N° 3384 :

    sudo kill -9 3384
    

    Si vous avez arrêté le processus manuellement ou si vous ne parvenez pas à trouver le processus et l’utilisateur qui maintiennent le verrou, il y a de fortes chances que l’installation ou la mise à niveau logicielle précédemment exécutée se soit terminée prématurément sans donner à l’outil de gestion de package la possibilité de supprimer le verrou.

    Dans ce scénario, supprimez le fichier de verrouillage manuellement :

    sudo rm /var/lib/apt/lists/lock
    sudo rm /var/lib/dpkg/lock
    

    Comment se remettre d’un processus d’installation APT ou DPKG interrompu prématurément

    Lorsque le processus d’installation est interrompu prématurément, votre système peut être temporairement cassé, vous empêchant d’effectuer toute installation de logiciel supplémentaire, ce qui entraîne une erreur similaire à celle ci-dessous :

    E: Sub-process /usr/bin/dpkg returned an error code (2)
    

    Essayez les commandes suivantes pour récupérer le système DPKG défectueux :

    sudo dpkg --configure -a
    sudo apt install -f
    

    En cas d’interruption de la mise à niveau du système, exécutez :

    sudo apt upgrade --fix-broken
    

Articles connexes: