Introducción
En Ubuntu, a veces puede encontrar un error al intentar ejecutar un apt
comando:
No se pudo obtener el bloqueo /var/lib/dpkg/lock – abierto (11:Recurso temporalmente no disponible)
E:No se puede bloquear el directorio de administración (/var/lib/dpkg/), ¿lo está utilizando otro proceso?
Este mensaje le informa que dpkg, el servicio Administrador de paquetes de Debian, no está disponible.
Use las opciones de esta guía para resolver el error "No se pudo bloquear..." de Ubuntu.
Requisitos previos
- Acceso a una ventana de terminal/línea de comando
- Una cuenta de usuario con sudo o raíz privilegios
5 opciones para corregir el error de Ubuntu "No se pudo bloquear"
De forma predeterminada, el servicio de actualización se inicia cuando se inicia Ubuntu. El actualizador automático utiliza dpkg para comprobar e instalar actualizaciones.
El dpkg El servicio se bloquea para que dos procesos no actualicen el contenido simultáneamente. El servicio está bloqueado para evitar posibles corrupciones en el sistema. Sin embargo, también significa que el usuario no puede, por ejemplo, ejecutar un simple apt
comando.
1:esperar o reiniciar
Dale al sistema hasta 10 minutos después de ver el error, intente instalar el software nuevamente.
Si está seguro de que no se está instalando nada, puede reiniciar la máquina e intentarlo de nuevo.
Para ajustar la configuración de las actualizaciones automáticas:
1. Haga clic en Actividades> Buscar .
2. Escriba Actualizaciones .
3. Haga clic en el icono de Software y actualizaciones .
4. Use las casillas de verificación y los menús desplegables para seleccionar su programa de actualización preferido.
2:Examinar los procesos en ejecución
1. Si ya intentó esperar y reiniciar el sistema, y aún recibe el error, use el siguiente comando para ver qué servicios de instalación se están ejecutando:
ps aux | grep -i apt
2. Si hay alguna aplicación usando apt , aparecerán en la lista. Busque una entrada similar a:
/usr/lib/apt/apt.systemd.daily update
3. La daily update
mensaje significa que su sistema está ejecutando actualizaciones normales. Debe esperar a que finalice este proceso, pero no se requiere ninguna otra acción.
Es posible que tenga otro apto proceso que se está ejecutando:
root 2810 0.0 0.0 72948 4312 pts/0 S+ 15:03 0:00 sudo apt-get remove logstash
Las columnas más importantes son la segunda columna, que enumera el PID (ID de proceso) y la última columna que muestra el servicio que está usando apt.
4. Alternativamente, puede tener un dpkg servicio que aún se está ejecutando. Para encontrarlo, utilice el siguiente comando:
ps aux | grep -i dpkg
La salida de dpkg se verá similar a la salida de apt.
3:Abordar el servicio de apto atascado
1. Si tienes un apto misterioso o dpkg servicio en ejecución, termínelo y vea si eso resuelve su error. Utilice el siguiente comando:
sudo kill 8808
2. Reemplace 8808
con el ID de proceso real (PID) del paso 2. Debería completarse y regresar a una nueva línea de símbolo del sistema. Si no es así, fuerce la detención del proceso agregando el -9
opción:
sudo kill -9 8808
Esto debería haber resuelto el problema.
4:Eliminar archivos de bloqueo
El mensaje de error en Ubuntu puede parecer similar al siguiente:
/var/lib/dpkg/lock
/var/lib/dpkg/lock-frontend
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock
Estos son archivos de bloqueo , que se crean para evitar dos instancias de apt o dpkg de usar los mismos archivos al mismo tiempo. Esto puede suceder si una instalación se interrumpe o no se completa. Elimine los archivos de bloqueo bajo su propio riesgo.
Para eliminar los archivos de bloqueo, use el rm
comando:
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
Eliminar estos archivos debería corregir el error.
5:Reconfigurar dpkg
1. Ejecute --configure
comando si acaba de eliminar los archivos de bloqueo. Además, este comando te ayudará si recibes el siguiente error:
“dpkg se interrumpió, debe ejecutar manualmente ‘sudo dpkg –configure -a’ para corregir el problema.”
2. Ingrese el comando como se muestra arriba:
sudo dpkg --configure -a
La salida devuelve una nueva línea y el comando debería resolver el problema.
Reparar No se pudo obtener el error de bloqueo /var/lib/dpkg/lock-frontend
Los pasos para corregir este error siguen un patrón similar en los métodos que describimos anteriormente. El error completo es:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
1. No elimine los archivos de bloqueo inmediatamente . Antes de hacerlo, ubique y elimine todos los procesos que puedan estar usando los archivos.
sudo lsof /var/lib/dpkg/lock-frontend
2. La salida devuelve un resultado similar a:
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
lsof: WARNING: can't stat() fuse file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 1127 root 2oW REG 7,2 0 165231 /var/lib/dpkg/lock-frontent
3. Si ve unattended
bajo la columna de comando, su sistema está instalando una actualización de seguridad. Espere a que se complete el proceso.
4. De lo contrario, anote todos los ID de proceso y elimínelos con la opción forzar:
sudo kill -9 process_id
5. Una vez que haga eso, puede intentar eliminar el lock-frontend archivos.
sudo rm /var/lib/dpkg/lock-frontend
Esto debería corregir el error.
6. Lo último que puede intentar después de eliminar los archivos de bloqueo es reconfigurar dpkg como mostramos en la quinta sección.
sudo dpkg --configure -a
Para probar si estos pasos corrigieron el error, ejecute el comando de actualización:
sudo apt update
Cuando el proceso se completa con éxito, muestra que solucionó el error "E:no se pudo obtener el bloqueo /var/lib/dpkg/lock".