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

Este error ocurre con relativa frecuencia en distribuciones que utilizan el gestor de paquetes Dpkg para instalar o desinstalar software: Debian, Ubuntu y derivadas. En este artículo veremos como solucionarlo.

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

El error es muy similar a este otro «E: No se pudo bloquear /var/lib/apt/lists/lock – open (11 Recurso no disponible temporalmente)«, y es fácil confundirlos si no prestamos la atención suficiente. Ambos ocurren cuando realizamos tareas de instalación o des-instalación de software, la diferencia radica en que mientras uno está relacionado con Apt, el otro está relacionado con Dpkg.

El error

El error se produce al intentar instalar o des-instalar alguna aplicación. Cuando el sistema hace uso del gestor de paquetes Dpkg, y éste intenta bloquear los recursos necesarios para realizar sus tareas, se encuentra que estos ya están bloqueados y lanza el siguiente error:

E: No se pudo bloquear /var/lib/dpkg/lock - open (11 Recurso no disponible temporalmente)
E: Unable to acquire the dpkg No se pudo bloquear el directorio (/var/lib/dpkg/), ¿quizás haya algún otro proceso utilizándolo?

Es bastante habitual que ese bloqueo esté producido por algún problema en operaciones anteriores, y que en el momento de encontrarnos con el error no exista ningún proceso activo utilizando esos recursos. No obstante debemos asegurarnos de ello.

La solución

La solución es rápida y sencilla. Como hemos dicho, comenzamos comprobando si existe algún proceso activo utilizando el archivo que genera el bloqueo:

sudo fuser -v /var/lib/dpkg/lock

En caso de que haya algún proceso activo provocando el bloqueo deberemos decidir si lo dejamos terminar o si por el contrario lo matamos, mi recomendación es ser razonablemente pacientes. Si optamos por matarlo, volveremos a hacer uso del comando fuser, añadiendo dos modificadores más:

sudo fuser -vki /var/lib/dpkg/lock 

Si era un proceso el causante del y este ha concluido su tarea, lo más probable es que el error ya no persista.

Si por el contrario no había proceso activo, o lo había pero decidimos matarlo, deberemos eliminar el archivo que sigue generando el bloqueo:

sudo rm /var/lib/dpkg/lock

Y con esto ya habremos terminado y podremos realizar la tarea que no pudimos inicialmente.

Deja un comentario

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