Lucas Simon

Web Developer. lucassrod@gmail.com

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

Packages debian.org

Como configurar atualizações autônomas no Debian 9 (Stretch)

Próximo artigo: Deploy Flask na Digital Ocean - Parte 6 - UFW