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


47 respuestas a “No se pudo bloquear /var/lib/dpkg/lock – open (11: Recurso no disponible temporalmente)”

  1. 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.

  2. 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

      • Me encanta ver que a todos les ha servido… menos a mi.. Por todo lo que has dicho, he pasado ya pero no me funciona…. ¡Ya no se que hacer!

        • Para completar la llamada anterior, te expongo:
          E: se encontró una imagen linux: /boot/vmlinz-3.13.0-29-generic
          E. Se encontro una imagen linux: /boot/vmlinuz-3.10.0-24-generic
          E. Se encontrouna imagen initrid /boot/initrid.img-3.13.0-24-gemeric
          error:no se puede leer «/deb/sdb»: error de entrada/salida
          ———————————————–
          Jolin, a ver si puedes ayudarme… no estoy muy ducho en esta materia…please

          • Hola Emilio,
            Veamos que se puede hacer, parece que no esté montado el dispositivo /dev/sdb, comprueba eso, pero si es el disco del sistema puede ser que tengas algún problema. ¿En que punto te aparecen el error?

  3. 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

    • 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.

  4. 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!

    • 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.

  5. hago todo lo que decis aqui paso a paso el problema es que estaba actalizando adobe flash player ….
    el tema es que usando el comando sudo dpkg — configure -a vuelve a quedar como si descargara o actualizara el programa volviendo todo a bloquearse…
    podrias ayudarme? es la unica pagina que tiene una ayuda que me saco parte del problema

  6. Muchas gracias!! me ayudó a avanzar algo pero creo que me ocurre algo parecido a lo que describe más arriba Carlos. Cuando me toca reparar y pongo sudo dpkg –configure -a, se pone a descargar el dropbox de nuevo y se bloquea quedandose asi:
    COnfigurando nautilus-dropbox
    Downloading dropbox… 100% o share and store your files online. want to learn more? head to http: //www.dropbox.com/
    ¿alguna idea de como solucionarlo?¿me puedes echar una mano? Muchisimas gracias

    • Me pasa exactamente lo mismo que a Lucía y además el procesador se queda funcionando al 100 %.
      Si no conseguimos solucionar esto habrá que volver a instalar Ubuntu ya que no se puede instalar nada ni actualizar el sistema.

  7. Eh, la última vez que me salio algo así, tuve que restaurar el sisema. pero, esto sale normalmente?

    root@Exomate-X355:/usr/bin# sudo apt-get autoremove
    Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias
    Leyendo la información de estado… Hecho
    Los siguientes paquetes se ELIMINARÁN:
    apache2.2-bin aptdaemon baobab brasero-common cdrdao cheese cheese-common
    dvd+rw-tools ekiga empathy-common epiphany-extensions evolution-exchange
    gcalctool gconf-defaults-service gconf-editor gdebi gdebi-core gedit-plugins
    genisoimage geoclue geoclue-hostip geoclue-localnet geoclue-manual
    geoclue-yahoo gnome-backgrounds gnome-bluetooth gnome-cards-data
    gnome-codec-install gnome-games gnome-games-data gnome-games-extra-data
    gnome-nettool gnome-office gnome-screenshot gnome-search-tool
    gnome-system-log gnome-system-tools gnome-themes-extras gnome-themes-more
    gnome-user-share gnuchess gnuchess-book gstreamer0.10-nice
    gtk2-engines-smooth gucharmap guile-1.8-libs gvfs-bin hamster-applet
    libao-common libao4 libapache2-mod-dnssd libapr1 libaprutil1
    libaprutil1-dbd-sqlite3 libaprutil1-ldap libass4 libboost-date-time1.42.0
    libbrasero-media0 libburn4 libcdaudio1 libcelt0-0 libchamplain-0.4-0
    libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0 libcryptui0
    libdc1394-22 libdca0 libdirac-encoder0 libdiscid0 libdvdnav4 libdvdread4
    libenca0 libfaac0 libfaad2 libfftw3-3 libflite1 libfreerdp-plugins-standard
    libfreerdp0 libgee2 libgeoclue0 libgexiv2-0 libgme0 libgmime2.4-cil
    libgnome-bluetooth7 libgnomepanel2.24-cil libgpod-common libgpod4
    libgtkglext1 libiptcdata0 libisofs6 libkate1 libmeanwhile1 libmimic0 libmms0
    libmodplug1 libmpcdec6 libmpeg2-4 libmtp8 libmusicbrainz3-6
    libmusicbrainz4c2a libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libnet1
    libofa0 liboil0.3 libopal3.6.8 libopenobex1 libopenspc0 libpostproc51
    libpt2.6.7 librtmp0 libschroedinger-1.0-0 libsidplay1 libsilc-1.1-2
    libsilcclient-1.1-3 libslv2-9 libsrtp0 libssh-4 libva-x11-1 libva1
    libwildmidi1 libx264-112 libxvidcore4 libzbar0 libzephyr4 liferea
    liferea-data media-player-info mesa-utils mobile-broadband-provider-info
    nautilus-sendto network-manager-gnome obex-data-server obexd-client
    pidgin-data python-aptdaemon python-aptdaemon-gtk python-bugbuddy
    python-evolution python-gtkglext1 python-mako python-markupsafe
    python-opengl python-vte remmina remmina-plugin-data remmina-plugin-rdp
    remmina-plugin-vnc rhythmbox rhythmbox-plugin-cdrecorder rhythmbox-plugins
    seahorse seahorse-plugins shotwell simple-scan software-center sound-juicer
    tcptraceroute telepathy-mission-control-5 tomboy totem-mozilla
    transmission-common transmission-gtk update-manager-core
    update-manager-gnome update-notifier update-notifier-common vino
    xdg-user-dirs xdg-user-dirs-gtk
    0 actualizados, 0 se instalarán, 171 para eliminar y 393 no actualizados.
    Se liberarán 408 MB después de esta operación.

  8. Buenas Javier en primer lugar agradecerte tus apuntes.
    Y en segundo, comentarte:
    Una vez termina de ejecutar el comando
    sudo dpkg –configure -a
    empieza a descargar el paquete completo de drodbox y al llegar al 100% se que aqui y me deja el terminar bloqueado.
    Reinicio y me deja sin poder actualizar nada, con el mismo error …11:recurso no disponible temporalmente)
    Espero que puedas ayudarme..gracias de antemano

  9. Buenas comunidad, a mi directamente al aplicar el primer comando ya me dice
    «permiso denegado», alguien sabe que puedo hacer al respecto?, agradecería muchísimo una respuesta

Deja una respuesta

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