Connessione SSH persa durante l'aggiornamento del server - Come riconnettersi al processo?


32

Quindi, stavo eseguendo un aggiornamento di Ubuntu Server dall'11.04 all'11.10.

L'ho dimenticato in background e il mio client SSH è scaduto e disconnesso (stucco su Windows, vai a capire). L'ultima cosa sul mio terminale era una domanda sul mantenimento di una vecchia configurazione, ecc.

Quando sono tornato al server, i file aptitude sono stati bloccati da un altro processo, quindi presumo che questo processo di aggiornamento sia rimasto lì in attesa del mio input.

Come posso interagire con questo processo e continuare l'aggiornamento? Se possibile.

Grazie


Risposte:


36

Il processo in realtà viene eseguito in una schermata o sessione byobu come utente root. riconnettersi al server con putty sulla porta 22 o 1022 fail-safe. sudo su - o su - nel proprio account di root e riprendere lo schermo con byobu o uno schermo -r e riprendere da dove si è lasciato.

oh e sì, l'ho scoperto nel modo più duro ;-)


1
Grazie Woah! In realtà stavo eseguendo un aggiornamento di rilascio dall'11.10 al 12.04 in byobu e poi si è chiuso quando è stato aggiornato byobu ma sono stato in grado di riconnettermi alla sessione dello schermo principale e vedere il completamento dell'aggiornamento! Ho quasi provato a terminare forzatamente l'upgrade, ma per fortuna ho letto questa risposta in tempo.
Ibrahim,

3
Su un'installazione bloccata, si diceva che lo schermo era già collegato, quindi forzo lo schermo, potrei ricollegarlo. Il comando è schermo -D Informazioni da qui: kb.iu.edu/data/ahrm.html
David

1
L'uso screen -r <id>funziona anche e devi solo digitare alcuni caratteri dell'ID per farlo funzionare.
Daniel,

1
Questo non funziona per me, poiché dice che screennon è installato.
starbeamrainbowlabs

1
Ubuntu più recente utilizza sudo screen -D -rdopo sudo su -(se non root).
bshea,

34

Non puoi. Trova il processo di aggiornamento facendo

lsof /var/lib/dpkg/lock

Uccidilo, correggi eventuali aggiornamenti interrotti con

dpkg --configure --pending

e riavvia l'aggiornamento.


3
È sicuro con il processo essendo un do-release-upgrade?
Stephen Melrose,

1
@StephenMelrose Non è mai sicuro. Ma è ragionevolmente sicuro e l'unica opzione rimasta.
Teddy,

2
migliore risposta tra molti su come risolvere un aggiornamento apt-get interrotto dal timeout della sessione putty ... testato con successo, grazie!
Kojo,

Il and restart the upgradepasso non funziona nel mio caso (ho perso la sessione SSH durante il do-release-upgrade14.04 -> 16.04). Quello che faccio invece come ultimo passo per completare l'aggiornamento della versione è sudo apt autoremovee poi sudo shutdown -r now.
Ruslan Stelmachenko,

Ho trovato una risposta più completa qui che ho seguito l'aggiornamento continuato automaticamente da dove era stato interrotto. askubuntu.com/questions/219545/…
lacostenycoder il

4

Cryopid (trovato tramite questa domanda ) potrebbe aiutare a meno che l'attuale "un processo, non un albero di processi" sia un problema in questo caso.

I file potrebbero essere bloccati perché il processo è stato interrotto senza tante cerimonie e non ha avuto la possibilità di ripulire dopo se stesso, quindi conferma che aptitude è ancora in esecuzione. Usa lsof /var/lib/dpkg/lockcome suggerito nella risposta di Teddy per verificare - questo ti dirà il pid su cui provare anche il cryopid.

In futuro, ti consiglio di provare a correre attraverso lo schermo, ove possibile. Ho preso l'abitudine di schermo (o byobu, che è un involucro attorno allo schermo che definisce alcuni comportamenti utili) essendo la prima cosa che eseguo quando SSHing ovunque, quindi posso riconnettermi se ci sono problemi. Puoi impostarlo per l'avvio o il ricollegamento automatico, anche se non ho mai avuto modo di farlo da nessuna parte - ci sono un certo numero di esempi online ( questo per esempio ) se vuoi provarlo.


1
Per inciso, ho impedito questo e ho fatto un aggiornamento do-release su ssh usando byobu, ma quando byobu è stato aggiornato ha ucciso la mia sessione! Mi chiedo se l'uso diretto dello schermo lo avrebbe impedito. Ma l'altra risposta a questa domanda ha risposto alla mia situazione, sembra che il programma di installazione sia intelligente e gestisca comunque la propria sessione schermo: D
Ibrahim
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.