Résoudre la base de données d'état de dpkg est verrouillée par un autre processus

Resolve Dpkg Status Database Is Locked Another Process



Ce tutoriel explique comment corriger l'erreur La base de données d'état de dpkg est verrouillée par un autre processus dans les distributions Linux basées sur Debian.

Habituellement, cette erreur signifie que le gestionnaire de paquets est utilisé par un autre processus, probablement bloqué. L'erreur peut renvoyer une sortie comme







La base de données d'état de dpkg est verrouillée par un autre processus

Mais la même cause peut générer différents messages d'erreur comme celui illustré dans la capture d'écran ci-dessous.



dpkg : erreur : le verrou frontal dpkg est verrouillé par un autre processus



D'autres symptômes de la même cause peuvent inclure le message suivant.





En attente du verrouillage du cache : impossible d'obtenir le verrou /var/lib/dpkg/lock-frontend. Il est détenu par le processus 2839 (apt)... 30s

Ou l'erreur est indiquée ci-dessous.



E : Impossible d'obtenir le verrou /var/lib/dpkg/lock-frontend - open (11 : Ressource temporairement indisponible)
E : Impossible d'acquérir le verrou frontal dpkg (/var/lib/dpkg/lock-frontend), est-ce qu'un autre processus l'utilise ?

Dans la plupart des cas, les exemples précédents indiquent que vous installez, mettez à niveau ou supprimez déjà des packages. Dans certains cas, plusieurs administrateurs peuvent gérer le logiciel via le gestionnaire de packages, ou un processus peut bloquer l'application (dpkg), et la suppression de ce processus comme expliqué ci-dessous résout le problème.

Noter: N'oubliez jamais d'utiliser dpkg et apte avec sudo .

Comment réparer dpkg ou apt verrouillé ou temporairement indisponible :

Vous devez identifier le processus occupant dpkg ou apt pour le tuer. Pour identifier le processus, vous pouvez utiliser la commande ci-dessous.

sudo lsof /var/lib/dpkg/lock

Comme vous pouvez le voir, l'ID de processus (PID) est 16386 . Pour le tuer, exécutez la commande ci-dessous, en remplaçant 16386 pour le PID réel en utilisant le gestionnaire de packages.

sudo tuer -9 16386

Vous pouvez également exécuter la commande ci-dessous pour identifier le numéro PID.

sudo lsof /var/cache/apt/archives/lock

Exécutez ensuite :

sudo dpkg --configure -a

Une autre façon d'identifier le processus PID et d'imprimer des informations sur son utilisation consiste à utiliser le ps commande avec grep, comme indiqué ci-dessous.

ps aux | grep apt

Correction d'autres erreurs dpkg et apt

Dans cette section, vous pouvez trouver des combinaisons de commandes pour résoudre plusieurs problèmes d'apt et de dpkg.

La première commande que vous devez exécuter avant les problèmes est apt-mise à jour, comme indiqué ci-dessous. Cette commande met à jour les référentiels apt.

sudo apt-get mise à jour

Le précédemment utilisé dpkg -configurer -a La commande est utilisée pour résoudre les problèmes de dépendance.

sudo dpkg --configure -a

La commande ci-dessous peut également être utilisée pour résoudre les problèmes de dépendance.

sudo apt-get -f install

Pour nettoyer les dépendances inutiles, vous pouvez exécuter :

sudo apt-get clean

À propos des gestionnaires de paquets Debian

Les gestionnaires de paquets disponibles sur Debian incluent dpkg, apte , apt-get , aptitude , synaptique, et dpkg-deb .

  • dpkg : Dpkg est le principal gestionnaire de paquets pour Debian et ses distributions basées.
  • apte: est une interface pour dpkg capable de récupérer les packages et de résoudre les dépendances.
  • aptitude: Une interface interactive pour apt.
  • Synaptique : Gestionnaire de packages graphiques.
  • dpkg-deb : Une autre commande pour installer les packages .deb.

Vous pouvez trouver des informations supplémentaires sur tous les gestionnaires de paquets Debian sur https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html#pkgprogs

Conclusion

Comme vous pouvez le voir, la résolution des problèmes de dpkg ou d'apt est assez simple, et la plupart des erreurs ont des causes connues. Les commandes expliquées ci-dessus peuvent résoudre presque tous les problèmes liés aux packages cassés ou aux procédures interrompues. Comme apt et aptitude sont des interfaces dpkg, les mesures pour résoudre les problèmes sont généralement les mêmes. Si toutes les étapes décrites ne fonctionnent pas et que votre erreur se produit sur un ordinateur de bureau, le redémarrage de votre ordinateur doit libérer le gestionnaire de packages. Mais toutes les étapes ci-dessus, si elles sont appliquées correctement, doivent faire le travail.

J'espère que cet article expliquant comment résoudre le La base de données d'état de dpkg est verrouillée par un autre processus l'erreur était utile.