Recibo este error cuando intento usar apt-get:
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 puedo arreglar esto?
apt
package-management
dpkg
La Ode Adam Saputra
fuente
fuente

sudo lsof /var/lib/dpkg/lockpara encontrar el proceso que posee el archivo de bloqueo (si está vacío, suponga que el bloqueo se ha dejado de un arranque anterior y puede sersudo rmd), luego considere hacer unsudo kill -9 <PID>(obtener <PID> de lalsofsalida.root <pid> <ppid> 0 15:58 ? 00:00:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install, que parece ejecutar una actualización adecuada cada vez que enciendo la máquina. Dependiendo del tamaño de la actualización (que a menudo corresponde al tiempo transcurrido desde que usé esa máquina la última vez), esto puede tardar entre 1 y 10 minutos en completarse. Después de eso, el bloqueo se libera para las instalaciones y actualizaciones manuales. Pruebe:sudo ps aux|grep apto `sudo ps aux | grep desatendido.Respuestas:
Esto debería usarse como último recurso. Si usa esto descuidadamente, puede terminar con un sistema roto. Pruebe las otras respuestas primero antes de hacer esto.
Puede eliminar el archivo de bloqueo con el siguiente comando:
También es posible que deba eliminar el archivo de bloqueo en el directorio de caché
Después de eso, intente abrir Synaptic nuevamente.
fuente
Veo que casi todas las respuestas recomiendan eliminar el bloqueo. No recomiendo hacerlo como primera medida; quizás si no hay alternativa. El bloqueo se coloca cuando se está ejecutando un proceso apto y se elimina cuando se completa el proceso. Si hay un bloqueo sin un proceso aparente en ejecución, esto puede significar que el proceso se atascó por alguna razón.
Si intentas
o
eso capturará procesos que contengan la palabra
apt, al menos. Si ve unapt-getproceso o unaptitudeproceso que parece atascado, puede intentary si eso no funciona prueba
Esto debería matar el proceso y puede eliminar el bloqueo. Matar un proceso
aptoaptitudees inofensivo a menos que esté realmente en medio de la instalación del paquete. En cualquier caso, si el proceso se atascó, probablemente no tenga más remedio que matarlo.Matar un
dpkgproceso directamente, si está presente, no es una buena idea, porque sidpkgestá activo, probablemente esté manipulando la base de datos del paquete, y matarlo puede dejar la base de datos del paquete en un estado inconsistente; es decir, corrompido.En general, matar
apt-getoaptitudeprocesar es mucho más seguro.fuente
dpkgsea una buena idea, porque generalmentedpkgestá manipulando la base de datos del paquete directamente, y esto podría causar corrupción.dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.al ejecutar desudo apt-get dist-upgradenuevo. Ejecutar el comando resolvió el problema. ¡Amo a Nix!killall apt-gethace lo mismo que sups/killcombo.sudo dkpg --configure -adespués de matar el proceso de pícaro apto para que las cosas volvieran a la normalidad.Elimine su
/var/lib/dpkg/lockarchivo y fuerce la reconfiguración del paquete.Debería funcionar después de esto.
fuente
sudo- ejecutar el comando como root,rm- eliminar el archivo. Tal vez intentesudo rm /var/cache/apt/archives/lockRecibirá este mensaje si olvida usarlo
sudoal ejecutar un comando apt.De lo contrario, esto es una señal de que algo más está instalando o eliminando software y ha bloqueado la base de datos de apt mientras realiza las acciones. Los programas que pueden hacer esto son:
IMPORTANTE: solo intente lo siguiente como último recurso, ya que puede bloquear su sistema. Primero intente matar cualquier instancia en ejecución de
aptoaptitudecomo se describe en la respuesta de Faheem .Puede forzar el bloqueo quitando el archivo, pero no se recomienda sin cerrar primero el programa que mantiene el bloqueo de forma segura , ya que podría causar daños o interrumpir una instalación (incorrecta). El comando proporcionado por João debería cerrar el programa que contiene el bloqueo y luego eliminar el bloqueo, pero no lo protegerá de la interrupción de la instalación:
Y se puede usar el mismo comando para el bloqueo de caché de apt:
fuente
sudo fuser -cuk /var/cache/apt/archives/lockdirectamente reinició mi computadora.apt-getahora está desbloqueadoLa forma más probable de lograr esto es:
sudo apt-get install whatevery la línea de comandos se
aptsuperpone conupdate-managersondeo automático.Entonces, si intentas nuevamente en unos minutos, eso debería solucionarlo.
fuente
sudo apt-get installpudiera funcionar.Solo un programa puede mantener el bloqueo. Asegúrese de que no está ejecutando aptitude, synaptic o adept. Cierre el programa y ejecútelo de nuevo, debería funcionar. Puede tener Synaptic Open, o tener otra ventana de terminal abierta ejecutando apt-get, o tener el administrador de actualizaciones ejecutándose. Verifíquelo y vea si alguno de ellos se está ejecutando, si alguno ellos se están ejecutando, ciérrelo e intente nuevamente.
Pruebe este comando en la terminal para encontrar lo que se está ejecutando
Nota:
Si eso no imprime nada, escriba lo siguiente en la terminal para eliminar el bloqueo
Ahora puede instalar cualquier paquete.
fuente
pgrep -f 'apt|adept|dpkg'Es mucho más corto.pgrep -a 'apt|adept|dpkg'es un mejor equivalente más corto.Hasta ahora, la mejor manera de hacerlo funcionar sin romper una posible instalación en segundo plano (como podría suceder al eliminar el archivo de bloqueo), es detener el servicio usando apt:
Error:
Solución:
Después de actualizar el sistema, sugiero volver a habilitarlo, ya que el bloqueo de error podría solucionarse con la actualización.
sudo systemctl start apt-daily.timerNo he verificado que este error se solucione después de la actualización. Agregaré un nuevo comentario una vez que haya verificado
fuente
En primer lugar, debemos verificar qué proceso creó el archivo de bloqueo usando
lsof:o en otra situación donde
/var/lib/apt/lists/lockes problemático:La salida estará cerca de algo como:
Luego deberíamos verificar qué está haciendo el comando, podemos averiguarlo usando
ps,pgrepetc; el comando esapt-getasí que ejecuto:El
-ainterruptor enumera el comando completo para mí, en mi caso es:podemos ver que está ejecutando un
updatesubcomando, yo también podría ejecutar algo como esto:que produce:
En este caso, esperaría un minuto para que se liberen los recursos y si después de 2 o 3 minutos el problema persiste o si el comando era algo que no me importaba o que no era perjudicial para el sistema (como este
apt-get update), envío un mensajeSIGTERMa el proceso:Debería hacer el trabajo. Si no fuera así, lo enviaré
SIGINTesta vez (es como presionar CTRL+ C):Si no funcionó también, deberíamos enviar un
SIGHUP(kill -1), y finalmente si nada funciona, simplemente elimino el proceso:o
Luego elimino los recursos ocupados:
fuente
/var/lib/dpkg/locklugar/var/lib/apt/lists/lockdel archivo en la pregunta.pgrepypkill.dpkg --configure -apodría ser necesarioEste error puede deberse a que Update Manager intenta actualizar automáticamente la lista de paquetes en segundo plano, generalmente justo después de iniciar sesión, bloqueando así el directorio.
En este caso, solo espere unos segundos (o más, si su última actualización fue hace mucho tiempo) para que se complete o inicie Update Manager para verificar el estado.
fuente
psvarias veces pude ver quedpkgestaba actualizando un montón de cosas y esperé pacientemente a que todo terminara . Luego ejecuté Software Updater hasta que todo estuvo actualizado antes de intentar instalar algo nuevo.Esto sucederá si tiene 'Update Manager' ejecutándose en paralelo para cualquier verificación de actualización o instalación a medida que el proceso de instalación coloca el bloqueo. Si enfrenta el mismo error sin ejecutar 'Update Manager', debe eliminarlo
/var/lib/dgkg/lock, lo que definitivamente no puede hacer manualmentefunciona bien. Tomado de: https://askubuntu.com/a/15469/68707
fuente
No sea tan rápido para eliminar algo, puede dañar totalmente su sistema; más bien espere hasta que el programa de instalación o desinstalación finalice su tarea y después de eso obtendrá acceso. Si cree que actualmente no hay nada instalando o desinstalando, simplemente reinicie su sistema con el comando
sudo reboot.fuente
Si tiene actualizaciones de seguridad configuradas para la instalación automática, esto sucederá con frecuencia. Literalmente espero 30 segundos y soluciona el problema. Simplemente arrojando esto por si alguien más se encuentra con este problema.
fuente
En mi caso, tuve que esperar varios minutos para que se desbloqueara (parece que se
aptusó para sostenerlo). Todo esto sucedió justo después del arranque del sistema.fuente
Solo
sudo rm -f /var/lib/apt/lists/locke inténtalo de nuevo.apt-fast PUEDE ser responsable de no desbloquear adecuadamente; Esto sucede a veces cuando abortas
apt-getodpkgtambién.fuente
He tenido este problema en numerosas ocasiones. Para mí, casi siempre fue causado por apt-get o alguna GUI que lo llamó colgado por alguna razón. Tuve que matarlo, lo que dejó varias cerraduras en su lugar.
Las otras respuestas traen muy buenos puntos sobre asegurarse de que no se estén ejecutando actualizaciones antes de hacer algo drástico como eliminar archivos de bloqueo. Sin embargo, una vez que esté seguro de que ese no es el caso, lo siguiente generalmente funciona para mí. Lo entendí leyendo muchas respuestas a preguntas como esta.
Si bien la mayoría o todo esto se presenta en las otras respuestas, esto destila la solución a unos pocos comandos.
Úselo para desbloquear el sistema de paquetes después de que una actualización de algún tipo se bloquee o finalice sin finalizar de alguna otra manera. Estos comandos deben ejecutarse en el orden presentado.
fuente
No veo esta respuesta en ninguna parte anterior, pero en Ubuntu 16.04, también encontré este problema. La causa fue que el tiempo en mi computadora se estableció en el futuro . (Esto se debe a que estoy en un sistema de arranque dual Windows + Ubuntu y supongo que he estropeado la hora local frente a la hora UTC).
Una cosa extraña fue que la fecha y hora del archivo bloqueado era la fecha y hora exactas en que ejecuté el programa.
Luego usé "fusor" como se describe en publicaciones anteriores y apt funcionó, pero recibí quejas sobre la necesidad de ejecutar
dpkg -a -reconfigure. Cuando hice eso, obtuve errores como:en archivos como '/ var / lib / dpkg / updates / 0003'.
Todo esto fue muy extraño ya que nunca lo había visto antes. Entonces, pensé que estos eran síntomas y cambié mis datos y mi tiempo manualmente. Sabía que había un problema con la fecha / hora cuando inicié sesión, pero lo estaba ignorando. (Anteriormente, lo configuraba automáticamente a través de Internet y NTP).
Entonces, todos los problemas anteriores se solucionaron ... ¡Esperemos que esto ayude a alguien más! El síntoma más notable es quizás la fecha / hora del archivo de bloqueo que es la fecha / hora exacta en la que está intentando ejecutar el comando.
fuente
En mi caso, X se estrelló mientras
apt-gettodavía estaba eliminando granos viejos. Utilicé el Monitor del sistema para confirmar que todavía se estaba ejecutando y no estaba atascado. Todo estuvo bien una vez que el proceso terminó.fuente
Verifique el Iniciador para ver si se
Software Updaterestá ejecutando. Si es así, maximícelo y eche un vistazo a lo que está haciendo. Si todavía está comprobando, espere a que se complete. Cuando se complete, podría decirle que el software está actualizado, así que cierre la aplicación. Si dice que hay actualizaciones disponibles, realice la actualización o haga clic en "recordar más tarde". Después de que esta aplicación se cierre, puede volver a usarapt-getoapt.Si
Software Updaterno se está ejecutando, simplemente use el Tablero para invocarlo y espere a que se complete y luego decida si desea actualizar o haga clic en "recordar más tarde". Después de que esta aplicación se cierre, puede volver a usarapt-getoapt.fuente
En mi caso, recibí el mismo mensaje al no darme cuenta de que había cambiado a usuario root e intentaba sudo apt-get. Una vez que me di cuenta de esto, simplemente ejecuté apt-get, y funcionó. Tonto, pero aún podría explicar el error para algunos.
fuente
sudocomo root (e incluso si no pudiera, no produciría este mensaje de error). Lo más probable es que lo que sucedió fue que el otro proceso terminó mientras escribía el siguiente comando.Úselo bajo su propio riesgo
fuente
en mi caso, después de:
escribí
entonces tengo esos problemas Lo arreglé, ejecutando el comando que me mostraron después de ejecutarsudo apt updateEste comando le mostrará una lista de programas en mi caso solo Firefox, cerré Firefox, luego pude ejecutar el comando nuevamente sin problemas.
fuente
Para las personas que están interesadas en prevenir de manera proactiva este error en sus scripts, descubrí que el indicador -q activado me
apt upgrade -yqestaba causando este problema. Durante el proceso de actualización, supongo que ocasionalmente me daría advertencias (algo parecido a la actualización del escritorio, me gustaría continuar), y si estas advertencias se suprimieran, entonces supongo que eso hace que no se desbloqueen los archivos que estaba protegiendo. y se atascóEs cierto que tuve problemas para reproducir este error el 100% del tiempo, pero eliminar esa opción -q solucionó por completo el problema .
fuente
Como la mayoría de los demás, esperé a que se quitara la cerradura. Después de 30 minutos, me di por vencido y arranqué con una distribución diferente. A partir de ahí, utilicé Internet para algunas investigaciones que me llevaron aquí.
Resulta que se
unattended-upgrades.serviceestá ejecutando. Descubrí que se reinicia en el sistema roto y se ejecuta:me permitió hacer que el sistema roto funcionara nuevamente para:
Sin embargo, no solucionó los paquetes retenidos y la situación imposible reportada
apten primer lugar. Parece que esto estaba causandoaptque se bloqueara en el arranque en primer lugar.fuente