Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save caiquearaujo/bd95ce7cbc13d301d90840f7d47af98d to your computer and use it in GitHub Desktop.

Select an option

Save caiquearaujo/bd95ce7cbc13d301d90840f7d47af98d to your computer and use it in GitHub Desktop.
Guia Completo para Ubuntu Server: Configurando Atualizações Automáticas
# Atualize o servidor antes de começarmos
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
# Instale o pacote para realizar as atualizações automáticas
sudo apt-get install unattended-upgrades
# Mudamos para o diretório com as configurações
cd /etc/apt/apt.conf.d
# Editamos o arquivo de configuração principal
sudo nano 50unattended-upgrades
# Altere as seguintes linhas abaixo dentro do arquivo
50unattended-upgrades
...
# [NECESSÁRIO]
# Comente adicinado # em todas as linhas no bloco Allowed-Origins,
# exceto a linha com atualizações de segurança.
# Isso garantirá que as demais atualizações não aconteçam.
"${distro_id}:${distro_codename}-security";
# [OPCIONAL]
# Se você quiser bloquear algum pacote para não ser auto atualizado
# então utilize a variável Package-Blacklist, insirindo os nomes dos
# pacotes. Por agora, não incluíremos nada aqui.
"nome_do_pacote";
# [OPCIONAL]
# Para notificação de e-mail, descomente a seguinte linha e insira as
# o e-mail para onde será enviada a notificação. Posteriormente,
# configuraremos um servidor de e-mail básico no servidor.
Unattended-Upgrade::Mail "<user>@<domínio>";
# [NECESSÁRIO]
# Habilite o "apt autoremove" para limpar automaticamente os pacotes
# sem dependências e que podem ser removidos com segurança.
Unattended-Upgrade::Remove-Unused-Dependencies "true";
# [NECESSÁRIO]
# Configure o reboot automático alterando as seguintes linhas.
# Fica a seu critério a melhor hora para acontecer, tudo depende dos
# acessos do seu site para ver a hora menos acessada.
# O ideal é alguma hora na madrugada.
#
# Embora esse procedimento seja necessário, cuidado. Se você não tiver
# disponibilidade, uma reinicialização pode resultar em erros e deixar
# seu servidor indisponível até você verificá-lo.
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
# Visite os arquivos de configurações abaixo
# e manipule as variáveis necessárias
sudo nano 20auto-upgrades
sudo nano 10periodic
# Seguem algumas configurações que devem ser alteradas
20auto-upgrades
...
# Habilita a atualização automática da lista de pacotes
APT::Periodic::Update-Package-Lists "1";
# Habilita o download automático
APT::Periodic::Download-Upgradeable-Packages "1";
# Faz limpeza automática a cada 3 dias
APT::Periodic::AutocleanInverval "3";
# Habilita o upgrade automático
APT::Periodic::Unattended-Upgrade "1";
...
10periodic
# Embora não seja necessário, algumas versões utilizam o arquivo
# 10periodic ao invés do 20auto-upgrades, por isso, copie as mesmas
# informações acima neste arquivo.
...
# Quando terminar, faça duas verificações para ver se está tudo certo
# 1. Execute o seguinte comando, se o comando executar sem erros
# então o pacote está funcionando:
sudo unattended-upgrades --dry-run --debug
# 2. Algumas versões precisam permitir a execução da tarefa Cron, para saber
# se é o seu caso, digite o comando abaixo e verifique se existe a pasta "apt":
ls -la /etc/cron.daily
# Existindo, execute o seguinte comando para torná-la executável:
sudo chmod a+x /etc/cron.daily/apt
# [PRONTO]
# Agora só basta verificar os logs de tempos em tempos.
# Os logs estão localizados em /var/log/unattended-upgrades, são eles:
...
unattended-upgrades-dpkg.log
# Logs para os updates, upgrades e autoremove
...
unattended-upgrades.log
# Logs com as listas de pacotes e os erros
...
unattended-upgrades-shutdown.log
# Logs sobre os reboots executados
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment