Publicado en Linux

No se pudo bloquear – open (11: Recurso no disponible temporalmente)

te lanza una Actualización de software pero en mitad del proceso se queda colgado (sí, Linux también se cuelga), la única manera de terminar es cerrando la ventana y forzando el cierre. No hay mensaje de error ni pistas para solucionarlo. Sin embargo, los más intrépidos habréis intentado ejecutar la actualización por consola, y ahí sí, recibimos algo parecido a esto:

E: No se pudo bloquear /var/lib/apt/lists/lock - open (11: Recurso no disponible temporalmente)
E: No se pudo bloquear el directorio /var/lib/apt/lists/

La ruta concreta es lo de menos porque puede pasar con varias diferentes, por suerte el problema es siempre el mismo: algún proceso se ha quedado enganchado al fichero y no deja que nadie más lo utilice. La solución también es única:

sudo fuser -vki /var/lib/apt/lists/lock

Donde la ruta es la que nos dio el primer error, fuser es un comando que nos lista los ficheros abiertos y las opciones del mismo son:

  • v: verbose, es decir, ver de forma más extensa lo que se va a ejecutar
  • k: kill, mata los procesos que tengan el fichero ocupado
  • i: interactive, pide confirmación para matar cada proceso

Y nada más, una vez muertos los procesos que tenían ocupado el fichero podemos actualizar sin problemas. En cualquier caso, siempre es positivo reparar paquetes rotos y eliminar los que ya no sirvan, por si acaso alguno ha producido este inconveniente:

sudo dpkg --configure -a

sudo apt-get autoremove

Si además queremos aprovechar que tenemos la consola abierta para hacer la actualización ejecutamos:

sudo apt-get update && sudo apt-get upgrade

Que es exactamente lo que hace visualmente Actualización de software.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *