Eu configurei atualizações autônomas para instalar pacotes de segurança e notificar por email quando isso acontecer.
Percebi que a instalação acontece em momentos muito aleatórios. Eu sei que as versões mais recentes adicionaram um atraso aleatório de até 30 minutos a partir do tempo de execução cron.daily.
No entanto, os atrasos que estou enfrentando são muito maiores que isso. Vejo atualizações autônomas sendo executadas às 9h, 15h, 12h ... Os logs mostram o mesmo, portanto, não é apenas a entrega de email que leva mais tempo.
A tarefa de atualizações autônomas é a primeira no cron.daily, o que significa que não há tarefa anterior com grandes tempos de execução.
Alguém experimentou uma coisa semelhante?
16.04
cron
unattended-upgrades
daniel f.
fonte
fonte
Respostas:
Depois de depurar isso, encontrei a solução.
A causa raiz desse problema reside no fato de que, no Ubuntu 16.04 e mais recente, as atualizações autônomas usam systemd - não cron - para agendar as atualizações com um grande atraso aleatório:
/lib/systemd/system/apt-daily.timer
está configurado comIsso significa que ele será executado duas vezes por dia, às 6:00 e 18:00, com um atraso aleatório de até 12 horas. Como isso nem sempre é aceitável para ambientes de produção, tive que substituir essas configurações.
Para manter os arquivos de configuração do pacote intocados, defini minha substituição em
/etc/systemd/system/apt-daily.timer.d/override.conf
( Atualização : leia a edição na parte inferior desta resposta para obter mais informações sobre o nome do arquivo e o local, pois parece estar sujeito a alterações).Lá eu coloco
para que as atualizações autônomas sejam executadas às 6h, mais um atraso aleatório de até uma hora.
Simplesmente reiniciei o timer com
systemctl restart apt-daily.timer
(eventualmente, preciso recarregar o daemon).Atualizações autônomas agora são executadas em tempos previsíveis novamente!
Edit : Parece que para o Ubuntu 18.04 as coisas mudaram um pouco. A substituição agora deve ser armazenada
/etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
e ter a seguinte aparência:O @PerlDuck mencionou uma maneira de criar um arquivo de substituição com o nome e o local corretos em um comentário abaixo. Em vez de criar um arquivo manualmente, considere executar
sudo systemctl edit apt-daily.timer
fonte
A documentação oficial do debian em https://wiki.debian.org/UnattendedUpgrades atualmente possui um erro que está enganando muitas pessoas. Ele afirma que você pode substituir o tempo de atualização criando um arquivo chamado
No entanto, o caminho correto é
fonte
sudo systemctl edit apt-daily.timer
. Isso abrirá um editor com o arquivo drop-in correto.Tentei a solução de Daniel, mas a atualização ainda foi executada nos horários errados. Acontece que existem duas substituições systemd necessárias:
Usado para downloads
/lib/systemd/system/apt-daily.timer - substitua por /etc/systemd/system/apt-daily.timer.d/override.conf
Usado para atualização
/lib/systemd/system/apt-daily-upgrade.timer - substitua por /etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
fonte