¿Cómo se recupera de una actualización fallida ('apt-get -f install' y 'dpkg --configure -a' fail)?

14

Durante una actualización de lúcido (10.04) a preciso (12.04), la sesión X se congeló, y he estado tratando de recuperar la actualización para obtener un sistema estable. He realizado los siguientes pasos:

  1. Usó ssh para iniciar sesión en el sistema estancado a través de la red.
  2. Comprobado el contenido del /var/log/dist-upgradedirectorio. No hubo actividad en main.log, apt.logo term.log.
  3. top demostró que el proceso 'preciso' estaba usando aproximadamente un 3% de CPU, pero no pude encontrar evidencia de que el proceso de actualización todavía estuviera haciendo algo.
  4. 'dpkg' no apareció en la parte superior, pero apareció pgrep dpkg | xargs ps
  5. Eliminó los procesos 'dpkg' y 'preciso'
  6. Intenté recuperar la actualización ejecutando sudo fuser -vki /var/lib/dpkg/lock;sudo dpkg --configure -a. Esto fue parcialmente exitoso (algunos paquetes fueron configurados), pero falló con el mensaje Processing was halted because there were too many errors. Ejecuté el mismo comando varias veces, y cada vez que algunos paquetes se configuraron pero otros fallaron.
  7. Intenté correr sudo apt-get -f install. Falla con errores similares a dpkg.

La situación actual es esa dpkg --configure -ay sudo apt-get -f installfalla con dos tipos de error:

  1. Problemas de dependencia, por ejemplo:

    dpkg: dependency problems prevent configuration of cifs-utils:
    cifs-utils depends on samba-common; however:
    Package samba-common is not configured yet.
    dpkg: error processing cifs-utils (--configure):
    dependency problems - leaving unconfigured
    
  2. Conflicto de recursos, por ejemplo:

    debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
    

Además, parece que hay referencias a posibles problemas de arranque, por lo que no estoy dispuesto a reiniciar sin arreglar primero la instalación:

    dpkg: too many errors, stopping
    Processing triggers for initramfs-tools ...
    update-initramfs: Generating /boot/initrd.img-3.2.0-25-generic
    cryptsetup: WARNING: failed to detect canonical device of /dev/sda1
    cryptsetup: WARNING: could not determine root device from /etc/fstab

Entonces mi pregunta es, ¿cómo obtener una instalación que funcione cuando dpkg --configure -afalla?

rudivonstaden
fuente
He seguido los pasos en help.ubuntu.com/community/… pero aún tengo dependencias sin resolver. Descarga ISO y hará una instalación limpia.
rudivonstaden

Respuestas:

6

Logré rescatar la actualización, aunque no estoy 100% seguro de qué funcionó. Otros aún podrían beneficiarse:

  1. Logré recuperar mi sesión X cambiando a un terminal de línea de comandos (Ctl + Alt + F2) y luego de vuelta al terminal X (Ctl + Alt + F7), que luego me pidió que volviera a iniciar sesión. El sistema era inestable pero funcionaba. Luego pude cerrar un par de mensajes relacionados con la actualización.

  2. Parece que el administrador de actualizaciones no desactivó los PPA, por lo que limpié /etc/apt/sources.list.d/(eliminé todas las entradas). Se sugirió en IRC (#ubuntu) que debería usar ppa-purge para limpiar los PPA, pero al final simplemente los eliminé.

  3. Después de esto, sudo apt-get updatey sudo apt-get -f installresolvió la mayoría de los problemas restantes, pero todavía había problemas de dependencia con samba.

  4. Logré arreglar samba quitándolo ( sudo apt-get remove samba) y reinstalándolo ( sudo apt-get install samba).

Después de esto, el sistema fue más o menos estable. También tuve que eliminar y reinstalar la unidad después de un reinicio, pero de lo contrario, ha estado funcionando bien.

rudivonstaden
fuente
1

Tuve este problema hoy tratando de actualizar a 14.04. Noté mensajes similares como:

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable

Solía sudo fuser /var/cache/debconf/config.dataveriguar qué proceso estaba atascado. Tenga en cuenta que tiene que encontrar el archivo exacto que está 'atascado'. Al parecer, algo de front-end que no apareció correctamente pero bloqueó el progreso de la actualización. Después de matar ese proceso, pude reanudar el parcheo del sistema con los comandos regulares.

jippie
fuente
0

Tuve un problema similar: 1. Synaptics no se lanzaría ==> Mensaje de error: "ejecutar sudo dpkg --configure -a"

  1. "sudo dpkg --configure -a" fallaba Y reiniciaba mi PC (varias veces)

  2. Todos los intentos de "sudo apt-get ..." fallarían con el mismo mensaje de error: $ sudo apt-get autoclean E: se interrumpió la ejecución de dpkg, debe ejecutar manualmente «sudo dpkg --configure -a» para corregir el problema.

TRABAJÓ PARA MÍ: 1. Ejecuté varias veces "sudo apt-get update" HASTA que no haya más descargas de paquetes.

PASO N: Ign http://es.archive.ubuntu.com trusty / universe Translation-es_ES Descargados 4.294 kB en 31seg. (137 kB / s) E: se interrumpió la ejecución de dpkg, debe ejecutarse manualmente «sudo dpkg --configure -a» para corregir el problema $

PASS N + 1: Ign http://es.archive.ubuntu.com trusty / universe Translation-es_ES E: se interrumpió la ejecución de dpkg, debe ejecutar manualmente «sudo dpkg --configure -a» para corregir el problema $ HASTA NO aparece el mensaje "Descargados" (descarga).

  1. Ejecutado nuevamente "sudo dpkg --configure -a"

Y funcionó entonces ... no estoy seguro de por qué / cómo. Pero está bien ahora.

Christophe Trille
fuente