No se pudo bloquear /var/lib/dpkg/lock – open (11: Recurso no disponible temporalmente)

Recientemente, durante una instalación se “colgó” el proceso, el caso es que tuve que abortar a lo bestia, así que volví a lanzar la instalación y me lanzó el siguiente mensaje.

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

Devolviéndome al prompt y no pudiendo continuar. Este problema puede ocasionar que se nos queden paquetes corruptos en el sistema y no podamos hacer actualizaciones o instalaciones nuevas. Tras “googlear” una rato y revisar el man de Ubuntu 12.04, encontré el comando fuser, que nos permite ver los llamados archivos abiertos y matar el proceso que los mantiene ocupados.

Desde un terminar ejecutamos el siguiente comando para desbloquear /var/lib/dpkg/lock.

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

Las opciones utilizadas en el comando sirven para:

  • -v activa el modo verbose, para los que nos gusta ver en todo momento lo que está haciendo.
  • -k mata el proceso que mantiene el fichero ocupado.
  • -i pide confirmación para matar al proceso.

También recomiendan eliminar el fichero en cuestión.

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

Una vez terminado con el bloqueo, ejecutamos el siguiente comando para reparar los posibles paquetes rotos.

$ sudo dpkg --configure -a

Terminado este último paso, ya podemos volver a instalar. Acaba la instalación ejecutamos el siguiente comando para eliminar paquetes que ya no sirvan o se hayan quedado “colgando” y listo.

$ sudo apt-get autoremove

Ya podemos reiniciar después de la instalación y continuar sin problemas. Deciros también que ésta misma solución se puede utilizar cuando nos encontramos con el mismo problema en la apt cache lock.

Espero que os sirva de ayuda, au!!

Fuente: askubuntu.com

Share

23 pensamientos en “No se pudo bloquear /var/lib/dpkg/lock – open (11: Recurso no disponible temporalmente)

  1. Marcos

    Excelente, nunca había escuchado o visto ese comando, súper útil! Lo voy a investigar. Gracias! Nunca experimenté el problema en Ubuntu, sí en Lubuntu.

    Responder
  2. Graciela

    Gracias!!!!!
    No me funcionaba porque copiaba el comando con este símbolo: $, al no ponerlo me funciono bien. Soy nueva usando ubuntu, espero aprender mas.
    Gracias nuevamente

    Responder
  3. SAmuel

    no me funciona ningun comando de esos, ejecuto los comando y no pasa nada y aun no puedo instalar ningún programa o actualizar, el error q me aparece es este installArchives() failed: dpkg: error: parsing file ‘/var/lib/dpkg/available’ near line 0:
    field name `../../../../../share/pyshared/xdiagnose/utils/option_handler.py’ must be followed by colon

    Responder
    1. Javier CarrascoJavier Carrasco Autor

      Hola Samuel,
      El error que muestras es diferente al del post, por lo visto tienes el archivo /var/lib/dpkg/available dañado.
      Prueba lo siguiente:
      Mueve el archivo dañado

      sudo mv /var/lib/dpkg/available /var/lib/dpkg/available.bak

      A continuación utiliza uno antiguo que encontrarás en la misma ubicación,

      sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available

      .
      Si esto no te funciona, deberás volver a crear el archivo.

      sudo rm /var/lib/dpkg/available 
      sudo sudo touch /var/lib/dpkg/available  
      sudo sh -c 'for i in /var/lib/apt/lists/*_Packages; do dpkg --merge-avail "$i"; done'

      Ya me dices.

      Responder
  4. eduardo

    Hola buenas

    Muchas gracias por el aporte. Me solucionó el problema, pero solo temporalmente. Ejecuto los comandos que indicas cuando surge el error y se resuelve. Instalo correctamente los paquetes que tenga entre manos y todo bien. Pero luego intento instalar otros paquetes o programas y me pasa lo mismo. Hago otra vez la operación y luego otra vez, y otra vez, y otra vez… ¿Sabes cómo puedo solucionarlo?

    ¡Gracias de antemano!

    Responder
    1. Javier CarrascoJavier Carrasco Autor

      Hola Eduardo,
      Veamos, debería funcionar con las instrucciones del post, pero por si acaso, prueba a eliminar el siguiente archivo: sudo rm /var/lib/apt/lists/lock y vuelve a ejecutar el dpkg, ya nos cuentas.

      Un saludo.

      Responder

Deja un comentario

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

* Copy This Password *

* Type Or Paste Password Here *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>