Me preguntaba si alguien podría decirme qué significa esto:
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:~$
¿Cómo ejecuto sudo dpkg --configure -a
manualmente?
Respuestas:
Primer intento:
Luego, asegúrese de que el proceso no se esté ejecutando:
Si se está ejecutando:
Asegúrese de que el proceso esté hecho:
Luego, elimine el archivo de bloqueo:
Deje que dpkg se arregle solo:
Deberías estar bien después :)
fuente
lsof /var/lib/dpkg/lock
.No puede ejecutar varios paquetes de aplicaciones / comandos / herramientas al mismo tiempo. A veces, significa que Synaptic, apt-get o la herramienta de actualización de paquetes se están ejecutando en segundo plano. Simplemente cierre otras herramientas de paquete o espere a que finalicen. Y dpkg se ejecutará.
fuente
También se podría intentar:
Para arreglar cualquier paquete roto:
fuente
Lo siguiente debería ayudar:
fuente
Un enfoque es simplemente reiniciar la PC. Esto funcionó para mí.
fuente
Esto puede suceder si se interrumpió el proceso de actualización (como si se perdiera la conexión). Puede intentar usar la pantalla como root (
sudo su
) para volver a la sesión.fuente
Aquí hay algunas buenas respuestas, pero solo quería agregar un método que no sea lsof para encontrar al usuario de bloqueo dpkg
Paso 1: descubre quién está bloqueando dpkg:
Opción # 1: Uso de lsof (no siempre instalado en la máquina)
lsof /var/lib/dpkg/lock
Opción # 2: usar bash
for pid in $(ls /proc | egrep [0-9]+); do sudo ls -l /proc/$pid/fd 2>/dev/null | grep /var/lib/dpkg/lock && echo $pid; done
Paso 2: Decide qué quieres hacer con el usuario actual de dpkg
Si no existe tal proceso, no hay nada que decidir, simplemente salte al siguiente paso.
De lo contrario, debe decidir si desea eliminar el proceso o dejar que finalice con gracia. Si decides matarlo, solo úsalo
kill <pid>
. Si el proceso aún no muere, puede considerar matarlo usandokill -9 <pid>
, pero podría crear ciertas inconsistencias y le aconsejo que no lo haga, a menos que sepa lo que está haciendo.Paso 3: elimine el archivo de bloqueo
sudo rm /var/lib/dpkg/lock
Paso 4: arreglar el estado interno de dpkg
sudo dpkg --configure -a
fuente
En nuestro caso no había ningún proceso en ejecución (PID), así que paré por completo y reinicié el VPS.
A continuación, hay varios archivos de bloqueo que deben eliminarse:
Entonces puedes arreglarlo
dpkg
como se sugiere:fuente