20 votos

Recuperación del cierre durante la actualización de la distribución de Ubuntu

Tengo un ordenador que se apagó inesperadamente durante una actualización de la distribución (Ubuntu 8.10 -> 9.04). Ahora no termina de arrancar - varios errores X, entonces va a la pantalla de inicio de sesión, pero no permitirá los inicios de sesión.

Tengo una copia de seguridad y los datos de /home siguen estando bien en la unidad, así que no es una emergencia, pero una reconstrucción completa sigue siendo un proceso molesto y que lleva mucho tiempo. ¿Hay alguna manera de recuperarse de esto? Tengo un CD con la versión 9.04, y estaba pensando en intentar instalarla encima, ¿es una buena idea?

En su defecto, ¿hay alguna buena manera de inspeccionar la unidad y generar una lista de software instalado, y preferiblemente incluso la configuración de fuera de /home (como /etc)?


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


EDIT: Muchas gracias por todas las respuestas, realmente necesito aceptar todas las respuestas ya que necesitaba usar trozos 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

1 votos

Utilice un LART ( catb.org/jargon/html/L/LART.html ): "El clásico de LART es un 2x4 u otro tocho grande de madera utilizable como garrote [...] las perillas, las armas automáticas, los lanzallamas y las armas nucleares tácticas tienen sus partidarios".

0 votos

¿Puedes escribir tus credenciales de acceso, o el teclado y/o el ratón no están disponibles?

0 votos

Podría teclear las credenciales, pero no iría más allá. Sin embargo, CTRL+ALT+F1 me dio un terminal y pude entrar allí

13voto

Chealion Puntos 762

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

Sin embargo, usted podría encontrar que explota por un borked dist-upgrade, por lo que podría necesitar:

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

8voto

Zoredache Puntos 84524

Prueba a pulsar CTRL-ALT-F1 y comprueba si te aparece el símbolo del sistema. Vea si puede iniciar sesión, y luego intente ejecutar sudo apt-get dist-upgrade . Esto debería permitirle terminar la actualización. Es posible que se produzcan errores, por lo que es posible que también tenga que intentar utilizar sudo dpkg --configure -a .


Para obtener una lista de los programas instalados puede ejecutar el comando dpkg --get-selections . Si guarda la salida de ese comando en un archivo, puede utilizar el comando cat selecciones | sudo dpkg --set-selections y luego utilizar el comando sudo apt-get dselect-upgrade para que se instalen todos los paquetes.

Si vas por ese camino, probablemente deberías hacer una copia de seguridad de las carpetas /etc y /home en otro dispositivo.

1 votos

Voy a añadir dpkg --get-selections a mi copia de seguridad scripts creo. Muy útil.

6voto

Avery Payne Puntos 11379
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 contra el que se está descargando

La segunda línea reconfigura los paquetes que están en un estado "malo".

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

La 4ª línea debería terminar el trabajo.

5voto

Pude recuperarme de una situación catastrófica en la que Xubuntu no boot después de que se fuera la luz durante una actualización. Unos 10 segundos después del POST, Xubuntu se detenía con un montón de errores (al intentar cargar la opción de "recuperación" en boot tampoco funcionaba).

Así que si alguien se tropieza con esto, estoy publicando algo de información de los foros de Ubuntu que me ayudó a llegar a una ventana de terminal para que pudiera utilizar los comandos Colin y Avery publicado anteriormente.

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

ubuntuforums.org/showthread.php?t=157250

Digamos que su sistema se ha fundido después de una actualización, o que su nuevo kernel no boot. No puedes arreglar el problema con apt-get, porque ni siquiera puedes llegar a una línea de comandos; el kernel sólo vomita errores y se cuelga al arrancar. Afortunadamente, con un live cd, puedes reparar tu sistema y ponerlo en marcha. Tienes dos opciones para el live cd: Knoppix o el live cd de Ubuntu. Dado que Knoppix generalmente tiene una mejor detección de hardware, se utilizará como ejemplo.

  1. Primero, descargue la iso desde http://www.knoppix.org/ y grabarlo en un disco.
  2. Configura tu BIOS para boot desde el cd, introduce el disco Knoppix y boot.
  3. Su disco duro debería aparecer en el escritorio KDE como hda1 o sdb2 o algo así, dependiendo de su sistema.
  4. Haga clic en él para montarlo, luego haga clic con el botón derecho, acciones -> cambiar a modo de lectura-escritura. Se abrirá un cuadro de diálogo; haga clic en sí.
  5. Ahora, abre un terminal de root, que se encuentra en el menú de Knoppix (el que está al lado de la K en el panel). Introduce: chroot /mnt/hda1 o lo que diga el icono de tu disco duro en el escritorio.

Ahora puedes utilizar todos los comandos del disco duro, incluido apt-get. Si alguna vez obtienes este error "/dev/null: Permiso denegado" entonces haz esto: "sudo rm /dev/null" y debería desaparecer. Ahora, usa apt-get para actualizar tu kernel, udev, o cualquier otra cosa que esté estropeando tu sistema.

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

También ha funcionado a la perfección. Monté mi disco duro siguiendo las instrucciones, abrí una ventana de terminal, introduje "sudo chroot /media/hda1", y finalmente tuve acceso a mi disco duro. Entonces pude utilizar los comandos publicados anteriormente en este hilo para reiniciar el proceso de actualización. :)

No es de extrañar que el CD de Live/Instalación de Ubuntu no tenga una "consola de recuperación" incorporada para facilitar todo este proceso de recuperación.

0 votos

Esto me funcionó en una situación similar. Esta respuesta en SU dan grandes instrucciones sobre cómo montar correctamente la(s) partición(es) desde el CD en vivo.

1voto

cardil Puntos 111

Para mí también otro comando ayuda en el entorno chroot a que todos los paquetes se configuren correctamente (ejecutar esto antes dpkg ,dist etc) :

Los trabajos de Upstart no pueden iniciarse en un chroot porque upstart actúa como supervisor de servicios, y los procesos dentro del chroot no pueden comunicarse con el upstart que se ejecuta fuera del chroot (Bug:430224). Esto causará que algunos paquetes que han sido convertidos a utilizar trabajos de upstart en lugar de init scripts para fallar en la actualización 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

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: