Mientras se utiliza el comando apt-get o la relativamente nueva herramienta de gestión de paquetes APT en Ubuntu Linux o sus derivados como Linux Mint (que en realidad uso como mi sistema operativo principal para hacer el trabajo diario), es posible que haya encontrado el error – «no se puede bloquear el directorio de administración (/var/lib/dpkg/) es otro proceso que lo utiliza» en la línea de comandos.
Este error puede ser tan 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, mostrando el error de archivo de bloqueo en Ubuntu 16.10:
tecmint@TecMint:~$ sudo apt install neofetch 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 salida de abajo 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 se puede resolver el error anterior en caso de toparse con él en el futuro? Hay varias maneras de tratar con este error(s), pero en esta guía, vamos a ir a través de los dos más fácil y probablemente las formas más eficaces de resolverlo.
Encontrar y matar a todos los apt-get o apt Processes
Ejecutar el comando de abajo 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 procesos mediante el uso de ps
y grep comandos junto con una tubería.
$ ps -A | grep apt
Por cada proceso apt-get o apt que puedas ver en la salida del comando de arriba, mata cada proceso usando el comando de abajo.
El ID del proceso (PID) se encuentra en la primera columna de la captura de pantalla de arriba.
$ sudo kill -9 processnumberOR$ sudo kill -SIGKILL processnumber
Por ejemplo, en el comando de abajo donde 9
es el número de señal para la señal SIGKILL, matará el primer proceso apt:
$ sudo kill -9 13431OR$ sudo kill -SIGKILL 13431
Borra 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 otros sistemas operativos también.
Una vez que se ejecuta un comando apt-get o apt, se crea un archivo de bloqueo bajo 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 sea interrumpido por un usuario o por otros procesos del sistema que necesitarían trabajar con los archivos que están siendo utilizados por apt-get o apt. Cuando el proceso ha terminado de ejecutarse, el archivo de bloqueo se elimina.
Importante: En caso de que un bloqueo siga saliendo en los dos directorios anteriores sin que se ejecute un proceso apt-get o apt notable, esto puede significar que el proceso fue retenido por una u otra razón, por lo que necesita eliminar los archivos de bloqueo para borrar el error.
Primero ejecute el comando de abajo para eliminar el archivo de bloqueo en el directorio /var/lib/dpkg/
:
$ sudo rm /var/lib/dpkg/lock
Después fuerce la reconfiguración de los paquetes así:
$ sudo dpkg --configure -a
Alternativamente, elimine los archivos de bloqueo en el directorio /var/lib/apt/lists/
y en el directorio cache como se indica 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 updateOR$ sudo apt-get update
En conclusión, hemos caminado a través de dos métodos importantes para hacer frente a un problema común que enfrentan los usuarios de Ubuntu (y sus derivados), mientras se ejecuta apt-get o apt, así como los comandos de aptitud.
¿Tienes algún otro método fiable para compartir destinado a lidiar con este error común? Entonces 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 matar los procesos en ejecución y leer a través de una guía sencilla para matar, pkill y killall comandos para terminar un proceso en Linux.