Respostas:
Os seguintes logs estão relacionados às atualizações do apt:
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log
Se o comando foi dist-upgrade
, existem logs adicionais em:
/var/log/dist-upgrade
Para sua informação, geralmente é seguro apenas executar novamente a atualização e o apt continuará de onde parou quando o processo morreu devido à desconexão. Contudo...
Um GNU Screen Primer:
Ao realizar a ssh'ing em um servidor remoto e iniciar um processo de execução demorada em primeiro plano, é uma prática recomendada 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 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 o levará ao terminal que não é da tela. Você pode ver a lista de telas em execução com
screen -list
Se você tiver apenas uma tela em execução, poderá anexá-la novamente com:
screen -raAd
(Isso desconecta a tela caso esteja conectada em outro lugar e a reconecta ao terminal em execução no momento.)
Normalmente, você não pode rolar 'normalmente' da tela sem alguma configuração extra. Para rolar pela tela, pressione Ctrl-Esc para entrar no modo cursor. Você pode rolar para baixo e para cima com j e k . Pressione Esc novamente para sair do modo cursor.
Existem muitos recursos na rede disponíveis para funções adicionais da tela. É uma ferramenta padrão inestimável para administração do sistema.
Veja também:
screen -x
- conecte-se à tela em execução sem desconectar outras pessoas, tornando a sessão na tela "multiplayer".
tail -f
observado é citado, mas um usuário iniciante pode não estar familiarizado com a opção de comando e sinalizador, que permitirá ao usuário observar o progresso em tempo real (ou ver que ele travou) após "re Conecte-se." Eu sei que é antigo e aceito, mas acho que a cauda deve ser adicionada a esse conjunto de instruções, porque, na falta desses detalhes, a resposta abaixo de @TheAnonymousBear é mais direta e direta. @doublerebel
Além da resposta de doublerebel, notei uma alternativa hoje.
Fui para a cama ontem à noite depois de iniciar uma atualização sobre o SSH. Eu estupidamente esqueci de iniciá-lo screen
e perdi minha sessão SSH durante a noite.
Eu estava prestes a começar a pesquisar retty
quando percebi que root
havia iniciado uma screen
sessão.
me@GAMMA:~$ ps aux | grep -E 'release|upgrade|apt'
root 6208 0.0 0.0 29140 1628 ? Ss 01:57 0:05 SCREEN -e \0\0 -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
Então, listei root
as telas e anexei a ela:
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
E Bam! Eu estava de volta ao jogo.
do-release-upgrade
comando específico para o ubuntu? Nunca tive a necessidade de verificar o Debian, que uso exclusivamente, porque sempre o executo manualmente, desanexo e volto. E, é claro, usamos sudo apt dist-upgrade
depois de mudar /etc/apt/sources.list
.
Para ver a saída em tempo real do apt
trabalho em segundo plano , use:
sudo tail -f /var/log/apt/term.log
tail
) após o que eles chamaram de "re-login".
Teve exatamente o mesmo problema, perdi minha conexão e o processo dpkg estava aguardando a entrada.
Talvez da próxima vez tente: sudo dpkg --configure -a
"dpkg: error: dpkg frontend is locked by another process"
/var/dpkg/lock
se ainda estiver em execução. E, independentemente disso, ele não responde à pergunta de como "verificar o status da atualização" e, em vez disso, funcionará apenas se a atualização falhar (e somente se o bloqueio não estiver ativo). Eu não recomendaria essa abordagem a ninguém. Respeitosamente, oemb1905