Si vous êtes un utilisateur régulier d'Ubuntu/Debian, vous avez peut-être, à un moment donné, rencontré l'erreur :"Impossible d'obtenir le verrou /var/lib/dpkg/lock '. Cela est lié à l'erreur "Impossible d'obtenir le verrou /var/lib/apt/lists/lock" . Vous trouverez ci-dessous une capture d'écran affichant une telle erreur.
Il s'agit d'une erreur non fatale et n'est généralement pas une cause majeure de préoccupation. Il peut facilement être résolu comme nous le démontrerons plus tard. Mais qu'est-ce qui le cause en premier lieu? Découvrons.
Causes de l'erreur
La cause courante de cette erreur est lorsqu'un processus utilise le gestionnaire de packages APT pour mettre à jour/mettre à niveau/installer un logiciel ou effectuer une gestion de packages sur le système. Lorsque cela se produit, le processus verrouille le fichier dpkg à l'aide d'un fichier de verrouillage de sorte qu'un autre processus ne modifie pas les données, ce qui est susceptible d'entraîner des erreurs et une éventuelle corruption de fichiers cruciaux dans le système.
Chaque fois que vous rencontrez cette erreur, il y a de fortes chances qu'un autre processus simultané exécute APT. Il peut s'agir d'un processus exécuté simultanément sur un autre terminal. L'erreur peut également se produire en raison d'un processus de mise à jour ou de mise à niveau interrompu qui s'est terminé prématurément en appuyant sur CTRL + C sur le terminal ou à la fermeture accidentelle de la fenêtre du terminal.
Comment résoudre l'erreur Impossible d'obtenir le verrou /var/lib/dpkg/lock
Voici quelques conseils qui peuvent vous aider à corriger l'erreur et vous aider à reprendre l'utilisation du gestionnaire de packages APT.
Attendez la fin du processus
Si vous avez une autre session de terminal où le gestionnaire de packages APT est utilisé par une commande telle que la mise à jour ou la mise à niveau du système ou l'installation d'une application, laissez simplement l'opération se terminer avec succès. Une fois terminé, vous pouvez exécuter la commande souhaitée et effectuer toute autre opération à l'aide d'APT.
Terminer les processus à l'aide du gestionnaire de packages APT
Si vous avez interrompu un processus à l'aide d'APT, comme l'annulation d'une mise à niveau ou d'une mise à jour de l'index des packages, identifiez d'abord les processus à l'aide d'APT à l'aide de la commande ps indiquée :
$ ps aux | grep -i apt
À partir de la sortie, nous pouvons voir qu'APT est utilisé par deux processus démarrés par root. Les processus portent les PID 3994 et 3999 . Une fois que vous avez identifié les processus à l'aide d'APT, la prochaine action consiste à tuer ou à terminer les processus.
Pour ce faire, utilisez la commande kill comme suit.
$ kill -9 PID
A partir de la sortie, nous allons tuer les processus portant les PID de 3994 et 3999 comme suit :
$ kill -9 3994
$ kill -9 3999
Le -9 flag déclenche un signal SIGKILL qui termine un processus immédiatement sans lui permettre de se terminer normalement.
Un moyen beaucoup plus simple consiste à utiliser le killall commande comme indiqué.
$ killall apt apt-get
Une fois que vous avez tué les processus problématiques, vous pouvez maintenant utiliser le gestionnaire de packages APT dans votre commande.
Supprimer les fichiers de verrouillage
L'autre solution que vous pouvez appliquer consiste à supprimer les fichiers de verrouillage. Comme indiqué précédemment, les fichiers de verrouillage empêchent l'accès aux données par deux processus différents. Pour vous débarrasser des fichiers de verrouillage, exécutez les commandes suivantes.
$ sudo rm /var/lib/dpkg/lock
$ sudo rm /var/lib/dpkg/lock-frontend
Et enfin, reconfigurez les packages.
$ sudo dpkg --configure -a
Conclusion
Chacune de ces solutions vous aidera à contourner cette erreur et vous permettra d'utiliser le gestionnaire de packages APT pour d'autres opérations. Faites-nous savoir ce qui a fonctionné pour vous.