Como verificar o status “apt-get upgrade” após perder a conexão ssh?

15

Geralmente eu atualizo minha instalação do Ubuntu através de uma conexão ssh. Às vezes, essa conexão ssh seria perdida ou eu acidentalmente fecharia a janela do terminal.

É possível verificar o status da atualização após um novo login do ssh no computador?

    
por Josema 27.11.2012 / 15:34

4 respostas

31

Os seguintes registros estão relacionados a upgrades apt:

/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log

Se o comando for dist-upgrade , haverá logs adicionais:

/var/log/dist-upgrade

FYI, normalmente é seguro apenas executar novamente a atualização e o apt continuará onde parou quando o processo morreu devido a desconexão. No entanto ...

Um GNU Screen Primer:

Ao fazer ssh em um servidor remoto e iniciar um processo de longa execução em primeiro plano, é uma boa prática usar o GNU Screen. A tela fornece um terminal virtual que continua em execução mesmo se sua conexão ssh for perdida.

Tela de instalação:

sudo apt-get install screen

Executar tela:

screen

Depois de executar a tela, você receberá um prompt de linha de comando como em um terminal normal. Você pode então executar a atualização a partir da tela interna:

sudo apt-get upgrade

Para entender como isso funciona, desanexe a tela pressionando Ctrl + a, d . Isso retornará ao terminal sem tela. Você pode ver a lista de telas em execução com

screen -list

Se você só tem uma tela em execução, pode reconectá-la com:

screen -raAd

(Isso desanexa a tela caso ela esteja anexada em outro lugar e a reconecta ao terminal que você está executando no momento.)

Normalmente, você não pode rolar 'normalmente' de dentro da tela sem alguma configuração extra. Para rolar pela tela, pressione Ctrl-Esc para entrar no modo de cursor. Você pode então rolar para baixo e para cima com j e k . Pressione Esc novamente para sair do modo de cursor.

Existem muitos mais recursos na rede disponíveis para funções de tela adicionais. É uma ferramenta padrão inestimável para administração de sistemas.

Veja também:

por doublerebel 27.11.2012 / 19:31
9

Além da resposta do doublerebel, notei uma alternativa hoje.

Eu fui para a cama ontem à noite depois de iniciar uma atualização sobre o SSH. Eu estupidamente esqueci de iniciá-lo em screen e perdi minha sessão SSH durante a noite.

Eu estava prestes a começar a pesquisar retty quando percebi que root iniciou uma sessão screen .

me@GAMMA:~$ ps aux | grep -E 'release|upgrade|apt'
root      6208  0.0  0.0  29140  1628 ?        Ss   01:57   0:05 SCREEN -e 
me@GAMMA:~$ sudo screen -list
There is a screen on:
        6208.ubuntu-release-upgrade-screen-window       (12/11/2013 01:57:58 AM)        (Detached)
1 Socket in /var/run/screen/S-root.
me@GAMMA:~$ sudo screen -x -r
me@GAMMA:~$ ps aux | grep -E 'release|upgrade|apt'
root      6208  0.0  0.0  29140  1628 ?        Ss   01:57   0:05 SCREEN -e 
me@GAMMA:~$ sudo screen -list
There is a screen on:
        6208.ubuntu-release-upgrade-screen-window       (12/11/2013 01:57:58 AM)        (Detached)
1 Socket in /var/run/screen/S-root.
me@GAMMA:~$ sudo screen -x -r
%pre% -L -c screenrc -S ubuntu-release-upgrade-screen-window /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText root 6209 0.2 5.6 287428 93144 pts/2 Ss+ 01:57 3:13 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText root 6239 0.0 0.0 50052 1184 ? Ss 01:58 0:00 /usr/sbin/sshd -o PidFile=/var/run/release-upgrader-sshd.pid -p 1022 root 7306 0.0 4.6 287432 77284 pts/2 S+ 02:43 0:08 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText me 26829 0.0 0.0 9440 956 pts/5 S+ 22:18 0:00 grep --color=auto -E release|upgrade|apt
-L -c screenrc -S ubuntu-release-upgrade-screen-window /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText root 6209 0.2 5.6 287428 93144 pts/2 Ss+ 01:57 3:13 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText root 6239 0.0 0.0 50052 1184 ? Ss 01:58 0:00 /usr/sbin/sshd -o PidFile=/var/run/release-upgrader-sshd.pid -p 1022 root 7306 0.0 4.6 287432 77284 pts/2 S+ 02:43 0:08 /usr/bin/python /tmp/ubuntu-release-upgrader-1h6_g4/raring --mode=server --frontend=DistUpgradeViewText me 26829 0.0 0.0 9440 956 pts/5 S+ 22:18 0:00 grep --color=auto -E release|upgrade|apt

Por isso, listei as telas de root e as anexamos:

%pre%

E Bam! Eu estava de volta ao jogo.

    
por Huckle 12.12.2013 / 04:23
3

Para ver a saída em tempo real do background apt job, use:

sudo tail -f /var/log/apt/term.log
    
por TheAnonymousBear 07.10.2016 / 06:24
1

Tive exatamente o mesmo problema, perdi minha conexão e o processo do dpkg estava aguardando entrada.

Talvez da próxima vez tente: sudo dpkg --configure -a

    
por Sebastian Faujour 25.10.2017 / 13:39

Tags