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.