Fixer « Impossible de verrouiller le répertoire d’administration (/var/lib/dpkg/) » dans Ubuntu

Lorsque vous utilisez la commande apt-get ou l’outil relativement nouveau de gestion des paquets APT dans Ubuntu Linux ou ses dérivés tels que Linux Mint (que j’utilise effectivement comme mon système d’exploitation principal pour faire le travail quotidien), vous avez peut-être rencontré l’erreur – « impossible de verrouiller le répertoire d’administration (/var/lib/dpkg/) est un autre processus qui l’utilise » sur la ligne de commande.

Cette erreur peut être si ennuyeuse surtout pour les nouveaux utilisateurs de Linux (Ubuntu) qui peuvent ne pas savoir exactement la cause de l’erreur.

Ci-après est un exemple, montrant l’erreur de fichier de verrouillage dans Ubuntu 16.10:

tecmint@TecMint:~$ sudo apt install neofetch password for tecmint: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?

La sortie ci-dessous est une autre instance possible de la même erreur:

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?

Comment pouvez-vous résoudre l’erreur ci-dessus au cas où vous vous y heurteriez à l’avenir ? Il existe plusieurs façons de traiter cette (ces) erreur(s), mais dans ce guide, nous allons passer en revue les deux façons les plus faciles et probablement les plus efficaces de la résoudre.

Trouver et tuer tous les processus apt-get ou apt

Exécuter la commande ci-dessous pour générer une liste de tous les processus dont le nom comprend le mot apt, vous obtiendrez une liste incluant tous les processus apt ou apt-get en utilisant les commandes ps et grep conjointement avec un pipeline.

$ ps -A | grep apt
Trouver les processus apt et apt-get

Pour chaque processus apt-get ou apt que vous pouvez voir dans la sortie de la commande ci-dessus, tuez chaque processus en utilisant la commande ci-dessous.

L’ID du processus (PID) se trouve dans la première colonne de la capture d’écran ci-dessus.

$ sudo kill -9 processnumberOR$ sudo kill -SIGKILL processnumber

Par exemple, dans la commande ci-dessous où 9 est le numéro du signal SIGKILL, tuera le premier processus apt:

$ sudo kill -9 13431OR$ sudo kill -SIGKILL 13431

Supprimer les fichiers de verrouillage

Un fichier de verrouillage empêche simplement l’accès à un ou plusieurs autres fichiers ou à certaines données sur votre système Linux, ce concept est également présent dans Windows et d’autres systèmes d’exploitation.

Une fois que vous exécutez une commande apt-get ou apt, un fichier de verrouillage est créé sous l’un ou l’autre de ces répertoires /var/lib/apt/lists/, /var/lib/dpkg/ et /var/cache/apt/archives/.

Cela permet d’éviter que le processus apt-get ou apt déjà en cours d’exécution ne soit interrompu soit par un utilisateur, soit par d’autres processus système qui auraient besoin de travailler avec les fichiers utilisés par apt-get ou apt. Lorsque le processus a fini de s’exécuter, le fichier de verrouillage est alors supprimé.

Important : Dans le cas où un verrou est toujours en train de s’extirper dans les deux répertoires ci-dessus sans processus apt-get ou apt notable en cours d’exécution, cela peut signifier que le processus a été retenu pour une raison ou une autre, par conséquent vous devez supprimer les fichiers de verrouillage afin d’effacer l’erreur.

En premier lieu, exécutez la commande ci-dessous pour supprimer le fichier de verrouillage dans le répertoire /var/lib/dpkg/:

$ sudo rm /var/lib/dpkg/lock

Après cela, forcez le(s) paquet(s) à se reconfigurer comme suit:

$ sudo dpkg --configure -a

Alternativement, supprimez les fichiers de verrouillage dans le répertoire /var/lib/apt/lists/ et le répertoire cache comme ci-dessous :

$ sudo rm /var/lib/apt/lists/lock$ sudo rm /var/cache/apt/archives/lock

Puis, mettez à jour la liste des sources de vos paquets comme suit :

$ sudo apt updateOR$ sudo apt-get update

En conclusion, nous avons parcouru deux méthodes importantes pour traiter un problème commun rencontré par les utilisateurs d’Ubuntu (et ses dérivés), lors de l’exécution de apt-get ou apt ainsi que des commandes d’aptitude.

Avez-vous d’autres méthodes fiables à partager destinées à traiter cette erreur courante ? Alors entrez en contact avec nous via le formulaire de commentaires ci-dessous.

En outre, vous pouvez aussi bien vouloir apprendre comment trouver et tuer les processus en cours d’exécution et lire à travers un guide simple des commandes kill, pkill et killall pour terminer un processus dans Linux.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.