dpkg es el gestor de paquetes de Debian, y lo podemos encontrar también en Ubuntu, ya que está basado en Debian.
Significa que una aplicación que utiliza dpkg o apt (la interfaz de línea de comandos), claramente ya está en ejecución, y por tanto entra en conflicto con dpkg corriendo desde la terminal.
Los programas, aplicaciones o procesos que suelen bloquear dpkg, son:
Por ejemplo, aquí vemos el gestor de actualizaciones en ejecución:
Y a continuación vemos el error que obtenemos en la terminal al intentar instalar un paquete con dpkg desde la terminal, es porque dpkg ya está en ejecución, bloqueado por la aplicación gráfica “gestor de actualizaciones” en este caso:
Podemos comprobar que a la inversa también ocurre ese bloqueo:
Nos ponemos a instalar algo desde la terminal, y entonces lanzamos el actualizador de software. Entonces vemos que es el “gestor de actualizaciones” el que no puede continuar, ya que el proceso se encuentra bloqueado desde nuestra instalación en la terminal.
Si estás intentando instalar paquetes desde la terminal y aparece este mensaje, lo que puedes hacer es comprobar que el gestor de paquetes y actualizaciones se encuentra ahí, avisándote de que tiene actualizaciones pendientes.
O las instalas y sigues con el proceso de instalar lo que querías desde la terminal, o directamente matas el proceso que te bloquea y sigues instalando desde la terminal.
Primero encontramos el/los proceso(s):
ps -ef | grep apt
veremos el PID del proceso, en este caso son dos PID: 5276 y 5280
Matamos esos procesos:
kill 5276 5280
–> Eliminando el archivo de bloqueo “/var/lib/dpkg/lock-frontend”
Primero intentamos averiguar qué proceso está usando el fichero, con el comando lsof :
root@Ubuntu:~# lsof /var/lib/dpkg/lock-frontend
Nos aseguramos de que el fichero existe:
root@Ubuntu:~# ls -la /var/lib/dpkg/lock
-rw-r----- 1 root root 0 ago 14 12:25 /var/lib/dpkg/lock
Borramos el fichero:
root@Ubuntu:~# rm /var/lib/dpkg/lock-frontend
y comprobamos de nuevo que el fichero ya no existe:
root@Ubuntu:~# ls -la /var/lib/dpkg/lock-frontend
ls: no se puede acceder a '/var/lib/dpkg/lock-frontend': No existe el archivo o el directorio
Ahora ya hemos eliminado el bloqueo de dpkg y solucionado el error, y podemos ejecutar dpkg de nuevo para actualizar e instalar paquetes.