Status de atualizações autônomas?

17

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?

Aprecio o benefício de atualizações autônomas, mas elas podem ser realmente irritantes quando você tem um sistema desativado há alguns meses e deseja instalar um aplicativo ou quando está consumindo recursos da CPU em máquinas que não têm muito começar com.

Não estou simplesmente procurando matar as atualizações autônomas. Eu sei como fazer isso. Eu quero que eles corram. Eu só quero saber como descobrir o que realmente está acontecendo e em que fase eles estão.

b_laoshi
fonte
Corra pgrep -fl apt, suponho.
Muru

Respostas:

22

Nos sistemas 16.04 e mais recentes, as atualizações autônomas são executadas diariamente em um momento aleatório.

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

O tempo aleatório é definido por uma tarefa cron (/etc/cron.daily/apt.compat) e você pode ler o tempo aleatório de hoje perguntando ao 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

Nesse caso, você pode ver que o uu funcionou 1 hora e 9 minutos atrás.

Como saber se as atualizações autônomas ainda estão em execução :

Uma maneira fácil é verificar os arquivos de registro de data e hora para os vários componentes do 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 uu é apenas outro componente do apt. O apt coloca o registro de data e hora aqui, independentemente de como o apt foi iniciado.

Juntando os dados, você pode ver que o timer iniciou o apt (uu) às 11:22. Ele executou uma atualização concluída às 11:23 e, em seguida, uma atualização concluída às 11:24. Por fim, você pode ver que o apt considerou a atualização um sucesso (sem erros ou outras falhas).

Obviamente, se você vir um cronômetro recente sem um carimbo de data / hora de conclusão correspondente, convém verificar psse o apt ainda está em execução.

Como saber qual etapa do apt está sendo executada agora :

Uma maneira fácil é verificar o arquivo de log da uu.

$ 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 'iniciadas' e 'concluídas', e a lista de pacotes que estavam prestes a ser atualizados.

Se a lista de pacotes ainda não estiver registrada, o apt poderá ser interrompido com segurança. Depois que a lista de pacotes for registrada, NÃO interrompa o apt.

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

user535733
fonte
4
Este comando mostra como se você estivesse rodando no terminal se ele não foi concluído. tail -f /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Adsy2010