Guia prático de atualizações automáticas seguras no Linux
1️⃣ Conceito chave
- Security updates automáticas: Aplicam apenas patches de segurança críticos.
- Full updates automáticos: Incluem também atualizações de aplicativos, bibliotecas e kernel.
⚠️ Em produção, normalmente aplicamos apenas security updates automaticamente e testamos o restante manualmente.
2️⃣ Debian / Ubuntu
Instalar o pacote necessário
sudo apt update sudo apt install unattended-upgrades apt-listchanges
unattended-upgrades→ Faz a atualização automática.apt-listchanges→ Mostra mudanças importantes antes de atualizar (opcional, útil em staging).
Configurar atualizações automáticas
Editar o arquivo:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Exemplo de configuração segura:
// Ativar apenas security updates
Unattended-Upgrade::Origins-Pattern {
"origin=Debian,codename=${distro_codename}-security";
"origin=Ubuntu,codename=${distro_codename}-security";
};
// Habilitar logs
Unattended-Upgrade::Logging "true";
// Reinício automático apenas se necessário
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "03:00";
Agendar updates
sudo dpkg-reconfigure --priority=low unattended-upgrades
- Permite habilitar/desabilitar updates automáticos.
- Pode agendar horário específico para não afetar usuários.
Verificar logs
less /var/log/unattended-upgrades/unattended-upgrades.log
- Aqui você confere o que foi atualizado e se houve falhas.
3️⃣ RHEL / CentOS / AlmaLinux / RockyLinux
Instalar pacote necessário
sudo dnf install dnf-automatic -y
Configuração principal
Editar arquivo:
sudo nano /etc/dnf/automatic.conf
Configuração mínima recomendada para produção:
[commands] upgrade_type = security apply_updates = yes random_sleep = 360 [emitters] system_name = server01 emit_via = stdio [base] debuglevel = 1
upgrade_type = security→ Atualiza apenas patches de segurança.apply_updates = yes→ Aplica automaticamente.random_sleep→ Evita todos os servidores atualizando ao mesmo tempo em clusters.
Ativar e iniciar serviço
sudo systemctl enable --now dnf-automatic.timer
Verificar logs
journalctl -u dnf-automatic.timer
4️⃣ Boas práticas adicionais
- Backups automáticos
- Sempre faça backup completo antes de grandes atualizações.
- Ex.: snapshots LVM/ZFS ou backup incremental.
- Staging/homologação
- Teste atualizações em um servidor de teste antes de aplicar em produção.
- Evita downtime inesperado.
- Monitoramento
- Configure alertas via e-mail ou sistema de monitoramento (Zabbix, Grafana, Prometheus) para falhas de atualização.
- Kernel
- Atualizações automáticas de kernel podem exigir reboot. Avalie reinício programado (
Automatic-Reboot) ou agendamento manual.
- Atualizações automáticas de kernel podem exigir reboot. Avalie reinício programado (
- Logs centralizados
- Em clusters ou servidores críticos, envie logs para um servidor central (
rsyslog,ELK,Graylog) para auditoria.
- Em clusters ou servidores críticos, envie logs para um servidor central (
5️⃣ Resumo rápido por distro
| Distro | Pacote | Tipo seguro de update | Logs | Reinício automático |
|---|---|---|---|---|
| Debian/Ubuntu | unattended-upgrades | Security updates | /var/log/unattended-upgrades/ | Configurável |
| RHEL/CentOS | dnf-automatic / yum-cron | Security updates | journalctl -u dnf-automatic | Configurável |
💡 Dica de ouro:
Para produção, sempre combine:
- Automático: patches de segurança.
- Manual/testado: atualizações de kernel, apps críticos ou libs de sistema.
