Ripristina dallo spegnimento durante l'aggiornamento della distribuzione di Ubuntu


18

Ho un computer che è stato inaspettatamente spento durante un aggiornamento della distribuzione (Ubuntu 8.10 -> 9.04). Ora non termina l'avvio: vari errori X, quindi passa alla schermata di accesso ma non consente gli accessi.

Ne ho un backup e i dati / home sono ancora OK sull'unità, quindi non è un'emergenza, ma una ricostruzione completa è ancora un processo fastidioso e che richiede tempo. C'è un modo per recuperare da questo? Ho un CD 9.04, stavo discutendo di provare a installarlo sopra - è una buona idea?

In caso contrario, c'è un buon modo per ispezionare l'unità e generare un elenco di software installato, e preferibilmente anche le impostazioni dall'esterno / casa (come / etc)?


Se devo ricominciare da capo, qualche consiglio per trattare con la persona responsabile dello spegnimento inatteso? :)


EDIT: Grazie mille per tutte le risposte, ho davvero bisogno di accettare tutte le risposte di cui avevo bisogno per usare i bit di ciascuna. Sono stato in grado di riparare completamente l'installazione usando qualcosa del genere:

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
Usa un LART ( catb.org/jargon/html/L/LART.html ): "Il classico LART è un 2x4 o altra grande billetta di legno utilizzabile come [...] pomoli da club, armi automatiche, lanciafiamme e tattico tutte le armi nucleari hanno i loro partigiani ".
David Schmitt,

Puoi effettivamente inserire le tue credenziali di accesso o la tastiera e / o il mouse non sono disponibili?
Oddmund,

Potrei digitare le credenziali, ma non andrebbe oltre. CTRL + ALT + F1 mi ha dato un terminale e sono stato in grado di accedere lì
Colin Pickard,

Potresti riscontrare problemi quando / usr, / home e cartelle simili sono montate da dischi separati, in questo caso il bind aiuta. usa mount --bind / proc / chrooted / proc mount --bind / mnt / usr / chrooted / usr ...

Risposte:


11

Se riesci ad arrivare in un posto dove puoi usare dpkg come root, puoi correre dpkg --configure -a

Tuttavia, potresti scoprire che esplode per un dist-upgrade interrotto, quindi potresti aver bisogno di:

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

7

Prova a premere CTRL-ALT-F1 e vedi se ricevi un prompt dei comandi. Verifica se riesci ad accedere, quindi prova a eseguire sudo apt-get dist-upgrade . Questo dovrebbe consentire anche a te di completare l'aggiornamento. Potresti ricevere errori, quindi potresti anche provare a usare sudo dpkg --configure -a .


Per ottenere un elenco del software installato è possibile eseguire il comando dpkg --get-selections . Se si salva l'output di quel comando in un file, è possibile utilizzare il comando cat selezioni | sudo dpkg --set-selections e quindi usa il comando sudo apt-get dselect-upgrade per ottenere effettivamente tutti i pacchetti installati.

Se segui questa strada, probabilmente dovresti eseguire il backup delle cartelle / etc e / home su un altro dispositivo.


Penso che aggiungerò dpkg --get-selections ai miei script di backup. Molto utile.
Colin Pickard,

5
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade

La prima riga aggiorna il livello corrente del repository che stai scaricando

La seconda riga riconfigura tutti i pacchetti che si trovano in uno stato "non valido"

La terza riga è presente nel caso in cui il repository "passi" alla nuova versione durante il processo della seconda riga.

La quarta riga dovrebbe finire il lavoro.


5

Sono stato in grado di recuperare da una situazione catastrofica in cui Xubuntu non si avviava dopo lo spegnimento dell'alimentazione durante un aggiornamento. Circa 10 secondi dopo il POST, Xubuntu si fermerebbe con una serie di errori (nemmeno tentando di caricare l'opzione "recovery" in grub).

Quindi, se qualcuno si imbatte in questo, sto pubblicando alcune informazioni dai forum di Ubuntu che mi hanno aiutato a raggiungere una finestra del terminale in modo da poter usare i comandi Colin e Avery sopra elencati.

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

ubuntuforums.org/showthread.php?t=157250

Supponiamo che il tuo sistema si sia appena sciolto dopo un aggiornamento o che il tuo nuovo kernel non si avvii. Non puoi risolvere il problema con apt-get, perché non puoi nemmeno arrivare a una riga di comando; il kernel emette solo errori e si blocca all'avvio. Per fortuna, con un cd live, puoi riparare il tuo sistema e metterlo in funzione. Hai 2 opzioni per il cd live: Knoppix o il cd live di Ubuntu. Poiché Knoppix ha generalmente un migliore rilevamento dell'hardware, questo sarà usato come esempio.

  1. Innanzitutto, scarica l'iso da http://www.knoppix.org/ e masterizzalo su un disco.
  2. Ottieni il tuo BIOS impostato per l'avvio dal cd, pop nel disco Knoppix e avvio.
  3. Il tuo disco rigido dovrebbe apparire sul desktop di KDE come hda1 o sdb2 o qualcosa del genere, a seconda del tuo sistema.
  4. Fai clic su di esso per montarlo, quindi fai clic con il pulsante destro del mouse, azioni -> passa alla modalità lettura / scrittura. Si aprirà una finestra di dialogo; fare clic su Sì
  5. Ora, apri un terminale di root, che si trova nel menu Knoppix (quello vicino a K sul pannello). Immettere: chroot / mnt / hda1 o qualunque altra icona sul disco rigido indichi sul desktop.

Ora puoi usare tutti i comandi sul disco rigido, incluso apt-get. Se si verifica questo errore: "/ dev / null: autorizzazione negata", procedere come segue: "sudo rm / dev / null" e dovrebbe scomparire. Ora usa apt-get per aggiornare il tuo kernel, udev o qualsiasi altra cosa che rovini il tuo sistema.

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

Ha funzionato perfettamente anche! Ho montato il mio disco rigido secondo le istruzioni, ho aperto una finestra di terminale, ho inserito "sudo chroot / media / hda1" e finalmente ho avuto accesso al mio disco rigido. Sono stato quindi in grado di utilizzare i comandi pubblicati in precedenza in questo thread per riavviare il processo di aggiornamento. :)

Non c'è da meravigliarsi perché il CD di Ubuntu Live / Installation non abbia una "console di ripristino" integrata per facilitare l'intero processo di recupero.


Questo ha funzionato per me in una situazione simile. Questa risposta su SU fornisce ottime istruzioni su come montare correttamente le partizioni dal CD live.
zelanix,

1

Per me anche un altro comando aiuta nell'ambiente chroot a configurare correttamente tutti i pacchetti (eseguirlo prima, dpkg ,distecc.):

I lavori di avvio non possono essere avviati in un chroot perché upstart funge da supervisore del servizio e i processi all'interno del chroot non sono in grado di comunicare con il upstart in esecuzione all'esterno del chroot (Bug: 430224). Ciò farà sì che alcuni pacchetti che sono stati convertiti utilizzino processi di avvio anziché script di init non riescano ad aggiornarsi all'interno di un chroot. Si consiglia agli utenti di configurare i propri chroot con / sbin / initctl che punta a / bin / true, con i seguenti comandi eseguiti all'interno del chroot:

Codice:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.