Deploy Flask na Digital Ocean - Parte 5 - Unnatended upgrades
A distribuição Debian é dinâmica e muda continuamente. A maioria das mudanças ficam nas versões Testing e Unstable, mas mesmo a Stable é atualizada de tempos em tempos, geralmente por algo relativo a segurança. Qualquer que seja a versão do Debian que o sistema rodar, é geralmente uma boa ideia mantê-la atualizada, de forma que você possa se beneficiar das recentes evoluções e consertos de bug.
Mesmo que seja obviamente possível executar periodicamente uma ferramenta para verificar por atualizações disponíveis e executar as atualizações, tal tarefa repetitiva é tediosa, especialmente quando for feita em várias máquinas. Felizmente, assim como muitas tarefas repetitivas, ela pode ser parcialmente automatizada, e um conjunto de ferramentas já foi desenvolvido para isto.
Unatended Upgrades
Esse pacote pode baixar e instalar atualizações de segurança automaticamente e sozinho (unattended), cuidando para apenas instalar pacotes configurados na fonte do APT e checando por prompts do dpkg sobre alterações em arquivos de configuração.
Execute este comando para instalar o pacote “unattended-upgrades”.
# apt -y install unattended-upgrades
Arquivo de configuração
Edite o arquivo 20auto-upgrades
na diretório /etc/apt/apt.conf.d/
. vim /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
O segundo arquivo de configuração é 50unattended-upgrades
também no mesmo diretório /etc/apt/apt.conf.d/
.
Unattended-Upgrade::Origins-Pattern {
// Archive or Suite based matching:
// Note that this will silently match a different release after
// migration to the specified archive (e.g. testing becomes the
// new stable).
"o=Debian,a=stable";
"o=Debian,a=stable-updates";
"o=Debian,a=proposed-updates";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
};
// Automatically reboot *WITHOUT CONFIRMATION* if
// the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "true";
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
// Default: "now"
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
Testando
Você pode executar unattended-upgrade manualmente com o modo de depuração para ver se funciona corretamente:
# unattended-upgrade -d
Fontes
Debian handbook. Regular upgrades
Como configurar atualizações autônomas no Debian 9 (Stretch)
Próximo artigo: Deploy Flask na Digital Ocean - Parte 6 - UFW