Status de upgrades não assistidos?

6

Alguém sabe se é possível determinar o status de uma atualização autônoma? É possível descobrir quais pacotes estão sendo instalados ou onde estamos no processo?

Eu aprecio o benefício de atualizações autônomas, mas elas podem ser realmente irritantes quando você tem um sistema que está desativado há alguns meses e quer instalar um aplicativo ou quando eles estão comendo recursos da CPU em máquinas que don ' Não tenho muito para começar.

Eu não estou simplesmente olhando para matar os upgrades autônomos. Eu sei como fazer isso. Eu quero que eles corram. Eu só quero saber como posso descobrir o que realmente está acontecendo e em que fase eles estão.

    
por b_laoshi 10.07.2017 / 16:29

1 resposta

9

Em um 16.04 e sistemas mais recentes, upgrades autônomos são executados diariamente em um horário aleatório.

Como saber quando atualizações autônomas serão executadas hoje :

A hora aleatória é definida por um cron job (/etc/cron.daily/apt.compat), e você pode ler a hora aleatória de hoje perguntando pelo systemd:

$ systemctl list-timers apt-daily.timer
NEXT                         LEFT     LAST                         PASSED      UNIT            ACTIVATES
Tue 2017-07-11 01:53:29 CDT  13h left Mon 2017-07-10 11:22:40 CDT  1h 9min ago apt-daily.timer apt-daily.service

Neste caso, você pode ver que o u-u funcionou há 1 hora e 9 minutos.

Como saber se atualizações autônomas ainda estão sendo executadas :

Uma maneira fácil é verificar os arquivos de registro de data e hora dos vários componentes apt:

$ ls -l /var/lib/apt/periodic/
total 0
-rw-r--r-- 1 root root 0 Jul 10 11:24 unattended-upgrades-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:23 update-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:24 update-success-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:24 upgrade-stamp

Você pode ver aqui que u-u é apenas outro componente apto. apt coloca o timestamp aqui, independentemente de como o apt foi iniciado.

Colocando os dados juntos, você pode ver que o timer começou apt (u-u) às 11:22. Ele executou uma atualização que foi concluída às 11h23 e, em seguida, uma atualização que foi concluída às 11h24. Finalmente, você pode ver que o apt considerou o upgrade como um sucesso (sem erro ou outra falha).

Obviamente, se você vir um temporizador recente sem um registro de data e hora de conclusão correspondente, talvez queira verificar ps para ver se o apt ainda está em execução.

Como saber qual etapa o apt está executando agora :

Uma maneira fácil é verificar o arquivo de log do u-u.

$ less /var/log/unattended-upgrades/unattended-upgrades.log
2017-07-10 11:23:00,348 INFO Initial blacklisted packages: 
2017-07-10 11:23:00,349 INFO Initial whitelisted packages: 
2017-07-10 11:23:00,349 INFO Starting unattended upgrades script
2017-07-10 11:23:00,349 INFO Allowed origins are: ['o=Ubuntu,a=zesty-security', 'o=Ubuntu,a=zesty-updates']
2017-07-10 11:23:10,485 INFO Packages that will be upgraded: apport apport-gtk libpoppler-glib8 libpoppler-qt5-1 libpoppler64 poppler-utils python3-apport python3-problem-report
2017-07-10 11:23:10,485 INFO Writing dpkg log to '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log'
2017-07-10 11:24:20,419 INFO All upgrades installed

Aqui você pode ver o processo diário normal, incluindo as linhas 'iniciado' e 'concluído', e a lista de pacotes que estavam prestes a ser atualizados.

Se a lista de pacotes ainda não estiver registrada, o apt pode ser interrompido com segurança. Uma vez que a lista de pacotes esteja registrada, NÃO interrompa o apt.

Como você tem um ambiente com recursos restritos, saiba que o apt pode ser configurado de várias maneiras para trabalhar de forma confiável e discreta, com diferentes tempos de execução, bons níveis, limites de largura de banda e muitas outras configurações úteis.

    
por user535733 10.07.2017 / 20:03