Solución al error: dpkg frontend está bloqueada por otro proceso

Hoy vamos a ver la solución al error que se recibe cuando dpkg frontend está bloqueada.

 

dpkg frontend esta bloqueada por otro proceso

 

 

¿Qué es dpkg?

 

dpkg es el gestor de paquetes de Debian, y lo podemos encontrar también en Ubuntu, ya que está basado en Debian.



 

 

¿qué significa el error “dpkg: error: dpkg frontend está bloqueada por otro proceso” ?

 

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.

 


 

¿Qué procesos o aplicaciones pueden influir y provocar este error?

 
Los programas, aplicaciones o procesos que suelen bloquear dpkg, son:



  • El gestor de actualizaciones en segundo plano
  • apt-get ya está en ejecución, quizás en otra ventana de terminal.
  • Gestor de paquetes Synaptic

 

Por ejemplo, aquí vemos el gestor de actualizaciones en ejecución:

 

hay actualizaciones de software disponibles linux

 

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:

 
dpkg frontend esta bloqueada por otro proceso
 

 
 

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.

actualizacion de software bloqueado por dpkg en terminal

 

Solución al error dpkg frontend está bloqueada por otro proceso

 

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.

 

¿Cómo matar el proceso que bloquea dpkg?

 

  • Matamos el/los proceso(s) apt

 

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

 

 

  • También podemos eliminar el fichero de bloqueo que se genera cuando dpkg frontend está en ejecución:

 

–> 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.