it-swarm-es.com

Recuperarse del apagado durante la actualización de distribución de Ubuntu

Tengo una computadora que se apagó inesperadamente durante una actualización de distribución (Ubuntu 8.10 -> 9.04). Ahora no finalizará el arranque: varios errores X, luego se dirige a la pantalla de inicio de sesión pero no permite los inicios de sesión.

Tengo una copia de seguridad y los datos/home todavía están bien en el disco, por lo que no es una emergencia, pero una reconstrucción completa sigue siendo un proceso molesto y lento. ¿Hay alguna forma de recuperarse de esto? Tengo un CD 9.04, estaba debatiendo tratando de instalar por encima, ¿es una buena idea?

De lo contrario, ¿hay alguna buena manera de inspeccionar la unidad y generar una lista de software instalado, y preferiblemente incluso los ajustes desde el exterior/hogar (como/etc)?


Si tengo que empezar de nuevo desde cero, ¿alguna recomendación para tratar con la persona responsable del cierre inesperado? :)


EDITAR: Muchas gracias por todas las respuestas, realmente necesito aceptar todas las respuestas ya que necesitaba usar bits de cada una. Pude reparar completamente la instalación usando algo como esto:

Sudo dpkg --configure -a
Sudo apt-get update
Sudo dpkg --configure -a
Sudo dpkg --configure -a --abort-after=99999
Sudo apt-get dist-upgrade
Sudo apt-get -f install
Sudo apt-get dist-upgrade
18
Colin Pickard

Si puede llegar a un lugar donde puede usar dpkg como root, puede ejecutar dpkg --configure -a

Sin embargo, es posible que explote para una actualización dist disturbada, por lo que es posible que necesite:

dpkg --configure -a --abort-after=99999
11
Oli

Intente presionar CTRL-ALT-F1 y vea si obtiene un símbolo del sistema. Vea si puede iniciar sesión, luego intente ejecutar Sudo apt-get dist-upgrade. Esto también debería permitirle finalizar la actualización. Es posible que obtenga errores, por lo que es posible que también deba intentar usar Sudo dpkg --configure -a.


Para obtener una lista del software instalado, puede ejecutar el comando dpkg --get-selections. Si guarda la salida de ese comando en un archivo, puede usar el comando cat selections | Sudo dpkg --set-selections y luego usar el comando Sudo apt-get dselect-upgrade para obtener realmente todos los paquetes instalados.

Si sigue esa ruta, probablemente debería hacer una copia de seguridad de sus carpetas/etc y/home en otro dispositivo.

7
Zoredache
Sudo apt-get update
Sudo dpkg --configure -a
Sudo apt-get update
Sudo apt-get dist-upgrade

La primera línea actualiza el nivel actual del repositorio que está descargando

La segunda línea reconfigura los paquetes que se encuentran en estado "incorrecto"

La tercera línea está allí por si el repositorio "se mueve" a la nueva versión durante el proceso de la segunda línea.

La cuarta línea debe terminar el trabajo.

5
Avery Payne

Pude recuperarme de una situación catastrófica en la que Xubuntu no se iniciaba después de que se cortara la luz durante una actualización. Aproximadamente 10 segundos después de la POST, Xubuntu se detendría con un Host de errores (intentar cargar la opción de "recuperación" en grub ni siquiera funcionaría).

Entonces, si alguien se topa con esto, estoy publicando información de los foros de Ubuntu que me ayudó a llegar a una ventana de terminal para poder usar los comandos que Colin y Avery publicaron anteriormente.

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

ubuntuforums.org/showthread.php?t=157250

Digamos que su sistema se derritió después de una actualización, o su nuevo núcleo no arrancará. No puede solucionar el problema con apt-get, porque ni siquiera puede llegar a una línea de comando; el núcleo solo arroja errores y se cuelga en el arranque. Afortunadamente, con un CD en vivo, puede reparar su sistema y ponerlo en funcionamiento. Tiene 2 opciones para el Live CD: Knoppix o Ubuntu Live CD. Como Knoppix generalmente tiene una mejor detección de hardware, esto se usará como ejemplo.

  1. Primero, descargue la iso de http://www.knoppix.org/ y grábela en un disco.
  2. Configure su BIOS para arrancar desde el CD, introduzca el disco Knoppix y arranque.
  3. Su disco duro debería aparecer en el escritorio de KDE como hda1 o sdb2 o algo, dependiendo de su sistema.
  4. Haga clic en él para montarlo, luego haga clic con el botón derecho en acciones -> cambiar al modo lectura-escritura. Aparecerá un cuadro de diálogo; haga clic en sí.
  5. Ahora, abra un terminal raíz, que se encuentra en el menú de Knoppix (el que está al lado de la K en el panel). Ingrese: chroot/mnt/hda1 o lo que diga el icono de su disco duro en el escritorio.

Ahora puede usar todos los comandos en el disco duro, incluido apt-get. Si alguna vez recibe este error: "/ dev/null: Permiso denegado", haga esto: "Sudo rm/dev/null" y debería desaparecer. Ahora, use apt-get para actualizar su kernel, udev o cualquier otra cosa que esté arruinando su sistema.

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

¡Funcionó perfectamente también! Monté mi disco duro según las instrucciones, abrí una ventana de terminal, ingresé "Sudo chroot/media/hda1", y finalmente tuve acceso a mi disco duro. Luego pude usar los comandos publicados anteriormente en este hilo para reiniciar el proceso de actualización. :)

No es de extrañar por qué el CD Ubuntu Live/Installation no tiene una "consola de recuperación" integrada para facilitar todo este proceso de recuperación.

5
Chris

Para mí, también otros comandos ayudan en el entorno chroot para que todos los paquetes se configuren correctamente (ejecute esto antes de dpkg ,dist etc.):

Los trabajos de arranque no pueden iniciarse en un chroot porque el arranque actúa como un supervisor de servicio y los procesos dentro del chroot no pueden comunicarse con el arranque que se ejecuta fuera del chroot (error: 430224). Esto hará que algunos paquetes que se han convertido utilicen trabajos de inicio en lugar de guiones de inicio que no puedan actualizarse dentro de un chroot. Se aconseja a los usuarios que configuren sus chroots con/sbin/initctl apuntando a/bin/true, con los siguientes comandos ejecutados dentro del chroot:

Código:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
1
Chris Suszyński