miércoles, 14 de marzo de 2018

Solución al fallo "E: No se pudo bloquear el directorio de administración (/var/lib/dpkg/), ¿quizás haya algún otro proceso utilizándolo?"



Hola buenas.
En algún momento en alguno de vuestros ordenadores donde tengáis instalada la distribución Ubuntu 16.04 os puede aparecer este error: "E: No se pudo bloquear el directorio de administración (/var/lib/dpkg/), ¿quizás haya algún otro proceso utilizándolo?"


Este error aparece una vez estéis intentando actualizar vuestro sistema operativo desde los repositorios utilizando el programa "APT".
Este error ocurre cuando algún proceso está utilizando el programa gestor de paquetes "APT". Este programa no puede ejecutarse mas de una vez al mismo tiempo. Se supone que algún proceso lo está ejecutando y cuando lo queréis ejecutar vosotros no os deja, se queda bloqueado, ya que como os comento no puede ejecutarse mas de una vez al mismo tiempo, valga la redundancia.
A mi me ha aparecido varias veces en distintos ordenadores este fallo y os voy a relatar que pasos he seguido para solventarlo.

Al encender el ordenador, abrir el terminal de comandos con "Ctrl"+"Alt"+"T" y escribir en él:

$ sudo apt-get update

Se descarga el listado de paquetes desde los repositorios. Y luego vamos a actualizar los paquetes con la instrucción:

$ sudo apt-get upgrade

Y es cuando nos aparece el error mencionado que os muestro en la siguiente imagen:


Como veis en la última línea os hace la pregunta: "¿quizás haya algún otro proceso utilizándolo?", cercioraros de que no estéis actualizando el sistema o instalando paquetes con el programa "apt-get" en otra terminal de comandos y no os habéis dado cuenta. En ese caso simplemente deberéis esperar a que termine su proceso para poder ejecutar "apt-get" en vuestra otra terminal de comandos, porque os recuerdo que ejecutar 2 o mas veces el programa "apt" al mismo tiempo no es posible.
Otra causa es que tengáis en ejecución el programa gráfico de gestor de paquetes "synaptic", que usa el programa apt y por tanto no podréis usarlo en vuestra terminal de comandos hasta que no cerréis el programa "synaptic".

Ahora bien, si ninguna de estas dos posibilidades os está ocurriendo entonces es que algún proceso en segundo plano está usando el programa "apt" o que al ejecutar la opción "update" se haya quedado bloqueado al terminar de descargar la lista de paquetes de los repositorios.
Y para solucionarlo deberéis ejecutar esta serie de instrucciones que os diré a continuación, para poder liberarlo.

1.- Primeramente escribiremos el siguiente comando en el terminal, para desbloquear el archivo "lock":

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

El comando "fuser" identifica procesos utilizando archivos. Por tanto vamos a identificar y matar el proceso que bloquea el archivo "lock". Las opciones de este comando os las detallo a continuación:

-v: modo verbose, se utiliza para que nos vaya listando y veamos lo que va haciendo el comando por pantalla.

-k: kill, mata el proceso que usa el archivo "lock".

-i: interactivo, nos pregunta si confirmamos el matar el proceso antes de hacerlo.


2.- A continuación eliminaremos el archivo lock:

$ sudo rm -f /var/lib/dpkg/lock


3.- Seguidamente ejecutaremos el programa "dpkg", que es un gestor de paquetes de la distribución "Debian" (de donde deriva Ubuntu). Con la opción --configure y la subopción -a se configuran todos los paquetes desempaquetados pero no configurados:

$ sudo dpkg --configure -a


4.- Y para finalizar eliminaremos cualquier paquete no dependiente:

$ sudo apt-get autoremove

Una imagen de la ejecución de cada uno de los comandos anteriores:


Una vez realizado estos pasos ya podréis volver a utilizar el programa "apt".

Espero os sirva de ayuda y ya no tengáis nunca mas pánico a este error si os vuelve a suceder.

Saludos y hasta la próxima.

3 comentarios:

Gracias por participar en este blog.