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

18

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 de 9.04, estaba debatiendo intentando instalarlo en la parte superior, ¿es una buena idea?

De lo contrario, ¿hay alguna buena manera de inspeccionar el disco 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
Colin Pickard
fuente
1
Use un LART ( catb.org/jargon/html/L/LART.html ): "El clásico LART es un tocho de madera de 2x4 u otro tocho grande de madera que se puede usar [...] como palillos, armas automáticas, lanzallamas y tácticos. todas las armas nucleares tienen sus partidarios ".
David Schmitt
¿Puede realmente escribir sus credenciales de inicio de sesión, o el teclado y / o el mouse no están disponibles?
Oddmund
Podría escribir las credenciales, pero no iría más lejos. Sin embargo, CTRL + ALT + F1 me dio un terminal y pude iniciar sesión allí
Colin Pickard
Puede tener problemas cuando / usr, / home y carpetas similares se montan desde discos separados, en esta situación, bind ayuda. use mount --bind / proc / chrooted / proc mount --bind / mnt / usr / chrooted / usr ...

Respuestas:

11

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
Oli
fuente
7

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 use el comando sudo apt-get dselect-upgrade para realmente instalar todos los paquetes.

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

Zoredache
fuente
Voy a agregar dpkg --get-selections a mis scripts de respaldo, creo. Muy útil.
Colin Pickard
5
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í solo en caso de que el repositorio "se mueva" a la nueva versión durante el proceso de la segunda línea.

La cuarta línea debe terminar el trabajo.

Avery Payne
fuente
5

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 una gran cantidad 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 de instalación / Ubuntu Live no tiene una "consola de recuperación" integrada para facilitar todo este proceso de recuperación.


fuente
Esto funcionó para mí en una situación similar. Esta respuesta en SU ​​brinda excelentes instrucciones sobre cómo montar correctamente las particiones desde el CD en vivo.
zelanix
1

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

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 para que no se puedan actualizar 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
Chris Suszyński
fuente