Arreglar & quot; No se puede bloquear el directorio de administración (/ var / lib / dpkg /) & quot; en Ubuntu


rojo

Este error puede ser muy molesto, especialmente para los nuevos usuarios de Linux (Ubuntu) que pueden no saber exactamente la causa del error.

A continuación se muestra un ejemplo, que muestra el error del archivo de bloqueo en Ubuntu 16.10 :

[email protected]:~$ sudo apt install neofetch
[sudo] password for tecmint:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg), is another process using it?

La siguiente salida es otra posible instancia del mismo error:

E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/ 
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) 
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

¿Cómo puede resolver el error anterior en caso de que se tope con él en el futuro? Hay varias formas de lidiar con este (s) error (es), pero en esta guía, veremos las dos formas más fáciles y probablemente las más efectivas de resolverlo.

1. Encuentra y mata todos los procesos apt-get o apt.

Ejecute el siguiente comando para generar una lista de todos los procesos cuyo nombre se compone de la palabra apt , obtendrá una lista que incluye todos los apt o apt-get procesa utilizando los comandos ps y grep junto con una canalización.

$ ps -A | grep apt

Para cada proceso apt-get o apt que puede ver en la salida del comando anterior, elimine cada proceso con el comando siguiente.

El proceso ID ( PI D) se encuentra en la primera columna de la captura de pantalla anterior.

$ sudo kill -9 processnumber
OR
$ sudo kill -SIGKILL processnumber

Por ejemplo, en el comando a continuación donde 9 es el número de señal para la señal SIGKILL , se eliminará el primer proceso apt :

$ sudo kill -9 13431
OR
$ sudo kill -SIGKILL 13431

2. Eliminar los archivos de bloqueo

Un archivo de bloqueo simplemente impide el acceso a otro (s) archivo (s) o algunos datos en su sistema Linux, este concepto está presente en Windows y en otros sistemas operativos también.

Una vez que ejecute el comando apt-get o apt , se creará un archivo de bloqueo en cualquiera de estos directorios /var/lib/apt/lists/, /var/lib/dpkg/ y /var/cache/apt/archives/.

Esto ayuda a evitar que el proceso apt-get o apt que ya se está ejecutando se vea interrumpido por un usuario u otros procesos del sistema que necesitarían trabajar con los archivos utilizados por apt-get o apt. Cuando el proceso ha terminado de ejecutarse, el archivo de bloqueo se elimina.

rojo

Primero ejecute el comando a continuación para eliminar el archivo de bloqueo en el directorio /var/lib/dpkg/:

$ sudo rm /var/lib/dpkg/lock

Luego obligue a los paquetes a reconfigurarse de esta manera:

$ sudo dpkg --configure -a

Alternativamente, elimine los archivos de bloqueo en /var/lib/apt/lists/ y el directorio de caché como se muestra a continuación:

$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/cache/apt/archives/lock

A continuación, actualice su lista de fuentes de paquetes de la siguiente manera:

$ sudo apt update
OR
$ sudo apt-get update

En conclusión, hemos recorrido dos métodos importantes para enfrentar un problema común que enfrentan los usuarios de Ubuntu (y sus derivados), mientras ejecutamos apt-get o apt , así como comandos de aptitud.

¿Tiene algún otro método confiable para compartir destinado a lidiar con este error común? A continuación, póngase en contacto con nosotros a través del formulario de comentarios a continuación.

Además, es posible que también desee aprender cómo encontrar y eliminar procesos en ejecución y leer una guía sencilla para eliminar los comandos pkill y killall para terminar un proceso en Linux.