Imposible obtener el bloqueo /var/lib/dpkg/lock-frontend

Resuelto
nouveau3456 Mensajes publicados 4 Estado Membre -  
 guigui -
Hola a todos,

Tengo un pequeño problema, cada vez que quiero usar el comando
apt-get
aparece este mensaje

E: No se pudo obtener el bloqueo /var/lib/dpkg/lock-frontend - open (11: Recurso temporalmente no disponible)
E: No se pudo obtener el bloqueo de dpkg (/var/lib/dpkg/lock-frontend). Es posible que otro proceso lo esté utilizando.
root@pop-os:/home/usuario#

4 réponses

mamiemando Mensajes publicados 33537 Fecha de registro   Estado Modérateur Última intervención   7 927
 
Hola,

Este problema es muy clásico y una pequeña búsqueda previa en Internet probablemente te habría permitido resolver tu problema (mira, por ejemplo, esta página).

Explicación del problema

Para evitar que varios gestores de paquetes realicen actualizaciones simultáneamente, apt crea bloqueos temporales y los elimina una vez que la operación ha terminado. Este mensaje de error tiene dos explicaciones posibles:
  • Explicación 1: otro gestor de paquetes ya está abierto,
  • Explicación 2: un gestor de paquetes se ha cerrado abruptamente y no ha podido eliminar los bloqueos que había instalado.


En tu caso específico, el mensaje parece indicar que es

Diagnóstico

Para saber en qué caso te encuentras, ejecuta el comando
ps faux | egrep "(apt|synaptic|adept|muon|discover)"
desde un terminal. Así veremos si un gestor de paquetes está funcionando

Si aparecen líneas, estás en el caso 2 (informa el resultado de este comando para confirmar). Si no, estás en el caso 1.

Resolución del problema: caso 1:

No hay nada que resolver, solo hay que encontrar el gestor de paquetes (synaptic,
aptitude
,
apt-get
...). Si no logras encontrarlo, puedes terminarlo desde tu gestor de procesos o con el comando pkill (ej.
sudo pkill apt-get
). Entonces provocarás el caso 2.

Resolución del problema: caso 2

Antes de ejecutar estos comandos, hay que asegurarse de que ningún gestor de paquetes esté funcionando (ver diagnóstico).

1) Elimina los bloqueos, hasta que
apt-get
funcione. Aquí hay una lista relativamente exhaustiva de los posibles bloqueos que podrían quedar:

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


(quizás haya otros)

2) Probablemente tendrás que finalizar la posible actualización abortada. También aquí tendrás un mensaje de error que te indicará que es necesario ejecutar un comando del tipo:

sudo dpkg --configure -a


3) Ejecuta
apt-get
normalmente. Por ejemplo, si quieres instalar
typespeed
:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install typespeed


Buena suerte
23
Exileur Mensajes publicados 1621 Fecha de registro   Estado Membre Última intervención   150
 
Hola,

Lanzo esto un poco así.

Recientemente he tenido problemas de este tipo en mi Ubuntu, relacionados con un cierto
python3 unattended-upgrade
bloqueado que bloqueaba dpkg

Hasta luego
1
guigui > Exileur Mensajes publicados 1621 Fecha de registro   Estado Membre Última intervención  
 

¡Gracias igual para mí!

0
mamiemando Mensajes publicados 33537 Fecha de registro   Estado Modérateur Última intervención   7 927
 
Efectivamente,
unattended-upgrade
puede lanzar actualizaciones automáticas. Es un paquete opcional que puedes eliminar sin riesgo si te molesta.

Como decía antes, un bloqueo no debe ser eliminado si una actualización está en curso, de lo contrario, podrías hacer tonterías.

1) Puedes controlar bastante fácilmente si una actualización está en curso mirando los procesos activos:

ps faux | egrep "(apt|dpkg)" | grep -v grep


Si aparece una línea, significa que hay una actualización en curso.

2) Puedes entonces decidir abortar la actualización. Es sucio, pero es posible. El primer número que aparece en esta línea corresponde al PID. Puedes usar el comando
sudo kill -9 PID
reemplazando PID por el valor apropiado para matar dicho proceso. Vuelve a empezar desde el paso (1) para verificar que ya no hay ningún gestor de paquetes en funcionamiento.

3) Por último, hay que eliminar los bloqueos residuales, que no fueron eliminados ya que el gestor de paquetes fue terminado de manera abrupta. Esto incluye
/var/lib/dpkg/lock
. Para localizar los nombres de los bloqueos involucrados, es muy simple, solo tienes que lanzar tu gestor de paquetes, por ejemplo, a través del comando
sudo apt update
. Si queda un bloqueo, la actualización no se lanzará y
apt
te dará el nombre de un bloqueo, que podrás eliminar entonces (
sudo rm /var/lib/dpkg/lock
). Repite la operación hasta haber eliminado cada bloqueo.

Buena suerte.
0
Azerty
 
Gracias
1