99 votes

dpkg : error : la base de données dpkg status est verrouillée par un autre processus

Je me demandais juste si quelqu'un pouvait me dire ce que cela signifie :

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
reidsr@ubuntu:~$ sudo dpkg --configure -a
dpkg: error: dpkg status database is locked by another process
reidsr@ubuntu:~$ 

Comment puis-je exécuter sudo dpkg --configure -a manuellement ?

131voto

helper Points 1319

Premier passage :

lsof /var/lib/dpkg/lock

Ensuite, assurez-vous que ce processus n'est pas en cours d'exécution :

ps cax | grep PID

S'il est en marche :

kill PID
#wait
kill -9 PID

Assurez-vous que le processus est terminé :

ps cax | grep PID

Ensuite, retirez le fichier de verrouillage :

sudo rm /var/lib/dpkg/lock

Laissez dpkg se réparer lui-même :

sudo dpkg --configure -a

Vous devriez être bien après :)

20voto

Jesse Nickles Points 342

Dans notre cas, il n'y avait pas de processus en cours d'exécution (PID), j'ai donc stoppé net et redémarré le VPS.

Ensuite, il y a plusieurs fichiers de verrouillage qui pourraient avoir besoin d'être supprimés :

sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/cache/apt/archives/lock

Alors vous pouvez réparer dpkg comme suggéré :

sudo apt update
sudo dpkg --configure -a

10voto

blade19899 Points 25776

On peut aussi essayer :

sudo apt-get install -f

Pour réparer tout paquet cassé :

Correction ; tentative de corriger un système dont les dépendances sont brisées. Cette option, lorsqu'elle est utilisée avec install/remove, permet d'omettre tout paquets pour permettre à APT de déduire une solution probable. Si des paquets sont spécifiés, ils doivent corriger complètement le problème. L'adresse est parfois nécessaire lors de la première exécution d'APT ; APT lui-même n'autorise pas les dépendances de paquets cassés à exister sur un système. Il est possible que la structure de dépendance d'un système soit si corrompue qu'elle nécessite une intervention manuelle (qui signifie généralement l'utilisation de dselect(1) o dpkg --remove pour éliminer certains des paquets incriminés). L'utilisation de cette option avec avec -m peut produire une erreur dans certaines situations. Élément de configuration : APT::Get::Fix-Broken.

9voto

aron Points 90

Vous ne pouvez pas exécuter plusieurs applications/commandes/outils de paquets en même temps. Parfois, cela signifie que synaptic, apt-get ou l'outil de mise à jour des paquets sont en cours d'exécution dans le backgroung. Fermez simplement les autres outils de paquets, ou attendez qu'ils soient terminés. Et dpkg s'exécutera.

4voto

Taylor Points 1

Une première approche consiste à redémarrer le PC. Cela a fonctionné pour moi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X