Qual è il rischio di eseguire l'aggiornamento su SSH?


75

Quando corro

sudo do-release-upgrade

su ssh, ricevo il seguente messaggio.

Questa sessione sembra essere in esecuzione in SSH. Non è raccomandato
per eseguire un aggiornamento su ssh al momento perché in caso di errore
è più difficile da recuperare.

Se continui, un demone ssh aggiuntivo verrà avviato alla porta
'9004'.
Vuoi continuare?

Qual è il rischio reale di eseguire l'aggiornamento su SSH? In che modo il demone ssh aggiuntivo aiuta a mitigarlo?

Risposte:


56

Quello che consiglierei di fare è avviare una sessione dello schermo sul server ed eseguire l'aggiornamento nella schermata, in questo modo se la sessione SSH si interrompe (per qualsiasi motivo) il processo di aggiornamento non si interromperà.

Screen è un programma che consente terminali permanenti su una macchina. Quindi è possibile avviare una sessione dello schermo e finché la macchina è in quella sessione dello schermo (e la sua cronologia, i programmi in esecuzione, ecc.) Continueranno a funzionare anche se nessun utente è sulla macchina. È stato progettato all'inizio per fornire un terminale di testo a più finestre prima dei giorni di X Server. Puoi installarlo usando APT:

sudo apt-get install screen

Quindi è possibile accedere al server, avviare la schermata, avviare il processo di aggiornamento e non doversi preoccupare dell'aggiornamento fallito perché si è persa la connessione a Internet o il computer si è bloccato.


1
Lo schermo è uno strumento eccellente per questa situazione.
Ryan Thompson,

7
Sembra che do-release-upgrade(poiché preciso) si sta eseguendo automaticamente screen.
manu,

2
lo schermo non è più disponibile e questo non sembra funzionare con TMUX per qualche motivo. Restituisce questo errore: === Comando terminato con stato di uscita 1 (mer 19 21:14:13 2016) ===
Gman Smith

screen -dmS do-release-upgrade-> screen -rper passare alla schermata di esecuzione -> Ctrl + A, Ctrl + D per lasciare la schermata in esecuzione in background e tornare alla schermata principale
Ryan Allen

83

La soluzione di @ Marco-Ceppi è già integrata in do-release-upgrade.

Quando esegui do-release-upgrade, avvia automaticamente una sessione dello schermo. Se la sessione ssh viene disconnessa, è possibile riprendere l'installazione. Tutto quello che devi fare è aprire una nuova sessione ssh ed eseguire di do-release-upgradenuovo. Si riconnetterà alla tua installazione precedente.

Un secondo rischio, sottolineato da @ sepp2k, è che potrebbe essere necessario aggiornare il server sshd e forse non può essere riavviato correttamente. Pertanto, il programma di aggiornamento esegue un secondo deamon, sulla porta specificata. È necessario verificare la configurazione della rete per assicurarsi di avere accesso tramite questa porta, prima di riprendere.

In bocca al lupo.

Inoltre, la sessione della schermata do-release-upgradeavvia da sola viene eseguita con l'account root, quindi se la tua sessione della schermata si arresta in modo anomalo, sarai in grado di ripristinare eseguendo sudo screen -x, se (per qualche motivo) il comando do-release-upgradenon lo ripristina da solo, che sembra essere comune.


1
Sai da quale versione di Ubuntu è stato così? Sto provando ad aggiornare da 9.10 e dopo aver avviato upgrade ( sudo do-release-upgrade) e rispondendo "Sì", posso collegarmi a ssh sulla porta 9004 ma non ci sono screensessioni elencate quando provo sudo screen -list . (PS Non sono ancora passato alla fase di download.)
mgd

7
Dopo l'aggiornamento da 9.10 a 10.04 LTS (dove do-release-upgradenon è stata do-release-upgradeavviata una sessione schermo) Ora sto aggiornando da 10.04 LTS a 12.04 LTS e ora avvia automaticamente una sessione schermo.
mgd,

2
Quindi, in pratica, do-release-upgradeprenditi cura di tutto prima, quindi: 1) puoi riconnetterti da un SSH rotto eseguendo di do-release-upgradenuovo dopo la nuova registrazione e 2) puoi ripetere il log da un aggiornamento SSH fallito attraverso la porta specificata all'inizio da do-release-upgrade. È così?
Giovedì

5
sudo screen -x mi ha salvato la vita! Grazie.
Felipe,

4
Allora perché il messaggio di avviso è ancora lì? Sembra molto inquietante.
Jahmic,

17

Se una nuova versione del demone ssh è installata come parte dell'aggiornamento, il demone verrà riavviato. Se l'aggiornamento interrompe il demone per qualche motivo, non si riavvierebbe e non avresti più modo di accedere al computer.

Avviando un sshd separato, che non è gestito dal sistema init e quindi non verrà riavviato durante l'aggiornamento, si garantisce che la vecchia versione di sshd sarà ancora in esecuzione anche se la nuova versione non si avvia. Quindi puoi ancora accedere al sistema e vedere cosa ha causato la rottura del demone.


1
Penso che sia più rilevante che, quando il demone viene riavviato, il tuo aggiornamento sarà probabilmente terminato incompiuto, perché il processo è in esecuzione sulla sessione ssh.
Malabarba,

3

Non ho mai (ancora) avuto problemi a farlo, anche se ho aggiornato solo una mezza dozzina di caselle in quel modo. È solo che se qualcosa va storto il demone SSH aggiuntivo potrebbe essere la tua unica speranza di evitare una visita (o fare uso di qualsiasi opzione di reinstallazione remota che hai).

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.