web-dev-qa-db-fra.com

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

Je me demandais simplement 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 exécuter Sudo dpkg --configure -a manuellement?

63
reidar

Première exécution:

lsof /var/lib/dpkg/lock

Ensuite, assurez-vous que ce processus ne fonctionne pas:

ps cax | grep PID

Si cela fonctionne:

kill PID
#wait
kill -9 PID

Assurez-vous que le processus est terminé:

ps cax | grep PID

Ensuite, supprimez le fichier de verrouillage:

Sudo rm /var/lib/dpkg/lock

Laisser dpkg se réparer:

Sudo dpkg --configure -a

Vous devriez aller bien après :)

85
helper

Vous ne pouvez pas exécuter plusieurs packages applications/commandes/outils en même temps. Parfois, cela signifie que synaptic, apt-get ou l’outil de mise à jour du paquet s’exécute en arrière-plan. Fermez simplement les autres outils de package ou attendez qu'ils soient terminés. Et dpkg s'exécutera.

9
ttoine

On pourrait aussi essayer:

Sudo apt-get install -f

Pour réparer les paquets cassés:

Réparer; tenter de corriger un système avec des dépendances brisées en place. Lorsqu'elle est utilisée avec install/remove, cette option peut omettre à tout package d'autoriser APT à déduire une solution probable. Si des packages sont spécifiés, ceux-ci doivent résoudre complètement le problème. Cette option est parfois nécessaire lors de la première utilisation de APT; APT lui-même n'autorise pas les dépendances de paquetage cassées à 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 (ce qui signifie généralement que vous utilisez dselect(1) ou dpkg --remove pour éliminer certains des packages en cause). L'utilisation de cette option avec -m peut générer une erreur dans certaines situations. Élément de configuration: APT :: Get :: Fix-Broken.

8
blade19899

Suivre devrait aider:

Sudo rm /var/lib/dpkg/lock

Sudo dpkg --configure -a
3
Deepak Singhvi

Cela peut arriver si le processus de mise à niveau a été interrompu (comme si votre connexion avait été perdue). Vous pouvez essayer d'utiliser screen en tant que root (Sudo su) pour revenir à la session.

screen -r
0
Xeoncross