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

Si eres usuario de alguna distribución de Linux que utiliza Apt como gestor de paquetes, es muy probable que en alguna ocasión hayas recibido este error al intentar actualizar los repositorios. Veamos como solucionarlo.

No se pudo obtener el bloqueo /var/lib/dpkg/lock – open (recurso temporalmente no disponible)

El caso es que en los últimos meses me he encontrado en varias ocasiones con el error del título, y con este otro «No se pudo obtener el bloqueo /var/lib/dpkg/lock – open (recurso temporalmente no disponible)«, que es tan parecido que si no leemos atentamente puede llevarnos a errar en el diagnóstico del problema. Y si bien las soluciones son prácticamente iguales, los detalles distan mucho, y podríamos estar intentando curar un catarro con las medicinas para curar una gastroenteritis. Pero no me enrollo mas y vayamos al lío.

El error

El error se produce al intentar actualizar los repositorios o realizar otras tareas relacionadas con el gestor de paquetes Apt, y la salida en pantalla completa es la siguiente:

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/)

El origen del problema radica en que intentamos acceder a un recurso que está bloqueado por otro proceso. Lo más habitual es que ese otro proceso ya no exista, y que el recurso que necesitamos haya quedado bloqueado por algún problema en una operación anterior. No obstante, es mejor ser cautos y verificar si ese bloqueo esté motivado por una algún proceso activo.

La Solución

La solución al problema es rápida y sencilla. En primer lugar comprobamos si existe algún proceso utilizando el archivo que genera el bloqueo:

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

En caso de que haya algún proceso, deberemos decidir si lo dejamos terminar o si lo matamos. Si optamos por matarlo, podemos hacerlo con el mismo comando fuser, tan solo añadiendo algunos modificadores más:

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

Y acto seguido, e independientemente de si había o no un proceso activo, eliminamos el archivo que provoca el bloqueo:

sudo rm /var/lib/apt/lists/lock

Y con esto ya podríamos volver a actualizar nuestros repositorios o realizar la tarea que no pudimos completar al encontrarnos con este inconveniente.

Deja un comentario

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