Como configurar atualizações autônomas no Ubuntu 24.04, 22.04 ou 20.04

Ubuntu é um dos sistemas operacionais baseados em Linux mais populares, amplamente utilizado em servidores, desktops e dispositivos embarcados. Oferece uma vasta biblioteca de pacotes de software e ferramentas que os usuários podem instalar e configurar para atender às suas necessidades. No entanto, manter seu sistema atualizado e seguro pode ser um desafio com muitos pacotes e atualizações. É aí que entra o pacote de atualizações autônomas. Neste artigo, explicaremos o que é o pacote de atualizações autônomas, seus benefícios e recursos e orientaremos você na instalação e configuração de atualizações autônomas nas versões Ubuntu 24.04, 22.04 ou 20.04 LTS usando o terminal de linha de comando.

O que é um pacote de atualizações autônomas?

Atualizações autônomas é um pacote que automatiza a instalação de segurança e outras atualizações em sistemas Ubuntu. Ele é executado silenciosamente em segundo plano e verifica regularmente se há novas atualizações, baixando-as e instalando-as automaticamente, sem intervenção do usuário. O pacote Unattended Upgrades é uma ferramenta essencial que garante a segurança e estabilidade do sistema, mantendo-o atualizado com as atualizações e patches mais recentes.

Benefícios e recursos da configuração de atualizações autônomas:

Aqui estão alguns benefícios e recursos do pacote de atualizações autônomas no Ubuntu:

  • Atualizações automatizadas: o pacote de atualizações autônomas automatiza o download e a instalação de atualizações, economizando tempo e esforço dos usuários.
  • Segurança aprimorada: O pacote garante que o sistema esteja sempre atualizado com as atualizações e patches de segurança mais recentes, reduzindo o risco de ataques de malware e vulnerabilidades do sistema.
  • Estabilidade aprimorada: O pacote de atualizações autônomas garante a estabilidade e a confiabilidade do sistema, mantendo-o atualizado.
  • Configurações personalizáveis: os usuários podem personalizar as configurações do pacote de acordo com suas necessidades, como quais atualizações instalar automaticamente, quais ignorar e quando instalá-las.
  • Sistema de notificação: O pacote envia notificações aos usuários sobre as atualizações que foram instaladas, proporcionando transparência e controle sobre as atualizações do sistema.

Atualizar Ubuntu

Antes de instalar e configurar o pacote de atualizações autônomas, você deve atualizar seu sistema Ubuntu para evitar conflitos. Para atualizar seu sistema Ubuntu, abra o terminal e digite o seguinte comando:

sudo apt update && sudo apt upgrade

Este comando atualizará todos os pacotes instalados e suas dependências para as versões mais recentes. Dependendo do número de atualizações disponíveis para o seu sistema, pode demorar um pouco.

Instale o pacote de atualizações autônomas

Para instalar o pacote de atualizações autônomas, abra o terminal e digite o seguinte comando:

sudo apt install unattended-upgrades

Este comando instalará o pacote e todas as suas dependências em seu sistema Ubuntu. O pacote deve ser instalado por padrão. No entanto, se você o removeu, use o comando acima para reinstalá-lo.

Você também precisa instalar o pacote apt-config-auto-update se quiser que seu sistema Ubuntu reinicie após aplicar atualizações que exigem que o sistema seja reiniciado automaticamente. Use o seguinte comando para instalá-lo:

sudo apt install apt-config-auto-update

Também é recomendado que os usuários de laptop instalem o pacote powermgmt-base para usar opções de bateria autônoma. Para instalar este pacote, abra o terminal e digite o seguinte comando:

sudo apt install powermgmt-base

Depois que o pacote estiver instalado, você deverá configurá-lo para atender às suas necessidades. Por exemplo, você pode querer personalizar quais atualizações serão instaladas automaticamente, quais serão ignoradas e quando instalá-las. Observe que o pacote de atualizações autônomas requer privilégios de root para ser executado. Portanto, você deve executar todos os comandos mencionados neste guia usando o comando sudo.

Também é recomendável verificar se o pacote de atualizações autônomas está funcionando corretamente. Para fazer isso, abra o terminal e digite o seguinte comando:

sudo unattended-upgrades --dry-run --debug

É importante estar familiarizado com os comandos systemctl para atualizações autônomas, pois pode ser necessário verificar o status após fazer alterações ou reiniciar. Para verificar o status das atualizações autônomas, use o seguinte comando:

systemctl status unattended-upgrades

Os seguintes comandos systemctl permitirão iniciar, parar, ativar na inicialização, desativar na inicialização ou reiniciar o serviço de atualizações autônomas:

Inicie os serviços autônomos:

sudo systemctl start unattended-upgrades

Pare os serviços autônomos:

sudo systemctl stop unattended-upgrades

Habilite na inicialização os serviços autônomos:

sudo systemctl enable unattended-upgrades

Desative na inicialização os serviços autônomos:

sudo systemctl disable unattended-upgrades

Reinicie os serviços autônomos:

sudo systemctl restart unattended-upgrades

Configurar atualizações autônomas

Esta seção aborda a definição das configurações do pacote de atualizações autônomas no arquivo de configuração usando comandos de terminal. É importante ressaltar que essas configurações são opcionais e podem ser personalizadas de acordo com suas necessidades. Cada configuração será explicada detalhadamente para ajudá-lo a compreender sua finalidade e funcionalidade. Isso permitirá que você tome decisões informadas ao configurar o pacote de atualizações autônomas em seu sistema Ubuntu.

Antes de entrar no arquivo de configuração, aqui está um resumo de todas as opções CLI para o pacote de atualizações autônomas com explicações:

OpçãoDescrição
-h, –ajudaExibe a mensagem de ajuda e sai
-d, –depurarAtiva mensagens de depuração
–apt-debugFaz com que o apt/libapt imprima mensagens de depuração detalhadas
-v, –verboseAtiva mensagens informativas
-funcionamento a secoSimula processo de atualização e downloads, mas não instala
–somente downloadBaixa apenas atualizações; não tente instalá-los
–etapas mínimas de atualizaçãoAtualiza pacotes em etapas mínimas (e permite interrupção com SIGTERM) – este é o comportamento padrão
–sem etapas mínimas de atualizaçãoAtualiza todos os pacotes juntos em vez de em conjuntos menores

Essas opções podem ser usadas ao executar o comando unattended-upgrade no terminal para controlar o comportamento do processo de atualização automática. Por exemplo, a opção –dry-run pode ajudar a testar o processo de atualização sem realmente fazer nenhuma alteração no sistema, enquanto a opção –download-only pode ser usada para baixar as atualizações sem instalá-las.

A opção –minimal-upgrade-steps é o comportamento padrão para atualizações autônomas, enquanto a opção –no-minimal-upgrade-steps atualiza todos os pacotes juntos em vez de em conjuntos menores. Compreender essas opções ao configurar atualizações autônomas é importante para garantir que o comportamento corresponda às suas preferências e requisitos.

Editando o arquivo de configuração

Para editar o arquivo de configuração, é recomendado utilizar um editor de texto com privilégios de root, como o nano. Para abrir o arquivo com nano, execute o seguinte comando:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Isso abrirá o arquivo de configuração no editor nano. A partir daqui, você pode modificar as várias opções listadas acima. Lembre-se de remover quaisquer comentários (linhas começando com “//” ou “#”) do arquivo para ativar as opções.

Depois de terminar de editar o arquivo, salve e saia pressionando “Ctrl+X”, depois “Y” e depois “Enter”.

Origens permitidas

Esta opção especifica as fontes das quais as atualizações devem ser instaladas. Por padrão, somente os repositórios de segurança e atualização são permitidos. Você pode adicionar repositórios adicionais à lista descomentando esta opção e adicionando os repositórios desejados, conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Allowed-Origins {
      "${distro_id}:${distro_codename}";
      "${distro_id}:${distro_codename}-security";
      "${distro_id}:${distro_codename}-updates";
      "${distro_id}:${distro_codename}-proposed";
      "${distro_id}:${distro_codename}-backports";
};

Lista negra de pacotes

Esta opção permite especificar pacotes que devem ser excluídos das atualizações automáticas. Para excluir pacotes, remova o comentário desta opção e adicione os pacotes desejados conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Package-Blacklist {
      "my-package";
      "my-other-package";
};

AutoFixInterruptedDpkg

Esta opção determina se o sistema deve corrigir automaticamente instalações “dpkg” interrompidas. Para ativar a correção automática, defina o valor como “true” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::AutoFixInterruptedDpkg "true";

DevRelease “automático”

Esta opção especifica se será necessário atualizar automaticamente para a versão de desenvolvimento. Por padrão, esta opção está desabilitada. Para habilitar atualizações automáticas para a versão de desenvolvimento, defina o valor como “auto” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::DevRelease "auto";

Etapas mínimas “verdadeiras”

Esta opção especifica se devem ser executadas etapas mínimas durante as atualizações. Por padrão, está opção está ativada. Para desabilitar etapas mínimas, defina o valor como “false” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::MinimalSteps "false";

InstallOnShutdown “falso”

Esta opção especifica se as atualizações devem ser instaladas no encerramento. Por padrão, esta opção está desabilitada. Para habilitar a instalação no desligamento, defina o valor como “true” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::InstallOnShutdown "true";

Correspondência

Esta opção especifica o endereço de email para o qual as notificações devem ser enviadas. Por padrão, as notificações não são enviadas. Para especificar um endereço de e-mail, adicione-o como um valor de string, conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Mail "example@mail.com";

MailReport “em mudança”

Esta opção especifica quando enviar notificações por email. Por padrão, as notificações são enviadas somente quando há uma alteração. Para enviar notificações sempre, defina o valor como “on-start” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::MailReport "on-start";

Remover pacotes de kernel não utilizados

Esta opção especifica se os pacotes de kernel não utilizados devem ser removidos após uma atualização. Por padrão, está opção está ativada. Para desabilitar a remoção de pacotes de kernel não utilizados, defina o valor como “false” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Remove-Unused-Kernel-Packages "false";

Remover novas dependências não utilizadas

Esta configuração controla a remoção de novas dependências que o sistema não requer mais após atualizações de pacotes. Esta configuração está habilitada por padrão e quaisquer novas dependências que não sejam mais necessárias serão automaticamente removidas do seu sistema. Para ativar esta configuração, use o seguinte comando:

Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

Se preferir manter essas novas dependências, você pode desabilitar esta configuração alterando o valor para “false”. No entanto, esteja ciente de que isso pode resultar no acúmulo de dependências não utilizadas em seu sistema, ocupando espaço valioso em disco.

Remover dependências não utilizadas

Esta opção especifica se as dependências não utilizadas devem ser removidas após uma atualização. Por padrão, esta opção está desabilitada. Para permitir a remoção de dependências não utilizadas, defina o valor como “true” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Remove-Unused-Dependencies "true";

Reinicialização automática

Esta opção especifica se o sistema deve ser reinicializado automaticamente após uma atualização. Por padrão, esta opção está desabilitada. Para ativar a reinicialização automática, defina o valor como “true” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Automatic-Reboot "true";

Reinicialização automática com usuários

Esta opção especifica se o sistema deve ser reinicializado quando os usuários fizerem login automaticamente. Por padrão, está opção está ativada. Para desabilitar a reinicialização automática quando os usuários estiverem logados, defina o valor como “false” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Automatic-Reboot-WithUsers "false";

Tempo de reinicialização automática

Esta opção especifica o horário em que o sistema deve reinicializar automaticamente após uma atualização. Por padrão, esta opção está definida como “02:00”. Para alterar o tempo de reinicialização, modifique o valor conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Automatic-Reboot-Time "03:00";

Adquirir::http::Dl-Limit

Esta opção especifica a velocidade máxima de download para downloads de pacotes em quilobytes por segundo. Por padrão, esta opção está desabilitada. Para ativar a limitação de velocidade de download, defina o valor para a velocidade desejada conforme mostrado no exemplo abaixo:

Acquire::http::Dl-Limit "100";

SyslogEnable

Esta opção especifica se os eventos de atualização devem ser registrados no log do sistema. Por padrão, está opção está ativada. Para desabilitar o registro, defina o valor como “false” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::SyslogEnable "false";

SyslogFacility

Esta opção especifica o recurso no qual os eventos de atualização devem ser registrados. Por padrão, os eventos são registrados no recurso “daemon”. Para registrar eventos em uma instalação diferente, modifique o valor conforme mostrado no exemplo abaixo:

Unattended-Upgrade::SyslogFacility "local7";

SomenteOnACPower

Esta opção especifica se as atualizações devem ser executadas somente quando o sistema estiver conectado à alimentação CA. Por padrão, esta opção está desabilitada. Para habilitar atualizações apenas com alimentação CA, defina o valor como “true” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::SyslogFacility "local7";

Ignorar atualizações em conexões medidas

Esta opção especifica se as atualizações devem ser ignoradas quando o sistema estiver conectado a uma conexão medida. Por padrão, está opção está ativada. Para baixar atualizações em conexões limitadas, defina o valor como “falso” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Skip-Updates-On-Metered-Connections "false";

Verboso

Esta opção especifica se serão geradas informações detalhadas de atualização. Por padrão, esta opção está desabilitada. Para ativar a saída detalhada, defina o valor como “true” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Verbose "true";

Depurar

Esta opção especifica se as informações de depuração devem ser geradas durante as atualizações. Por padrão, esta opção está desabilitada. Para ativar a saída de depuração, defina o valor como “true” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Debug "true";

Permitir downgrade

Esta opção especifica se serão permitidos downgrades de pacotes durante atualizações. Por padrão, esta opção está desabilitada. Para permitir downgrades, defina o valor como “true” conforme mostrado no exemplo abaixo:

Unattended-Upgrade::Allow-downgrade "true";

Lembre-se de que permitir downgrades pode ser perigoso e levar à instabilidade do sistema ou vulnerabilidades de segurança. Recomenda-se que você habilite esta opção somente quando necessário e considere cuidadosamente os riscos envolvidos.

Testando e aplicando alterações

Depois de fazer qualquer alteração no arquivo de configuração, é importante executar o seguinte comando para garantir que as alterações sejam aplicadas:

sudo unattended-upgrades --dry-run --debug

Este comando simulará uma execução de atualização e exibirá quaisquer erros ou avisos que possam ocorrer devido às alterações feitas no arquivo de configuração. Se tudo estiver certo, você pode executar o comando abaixo para realizar a atualização real:

sudo unattended-upgrades

Este comando verificará e instalará automaticamente as atualizações disponíveis com base nas definições de configuração.

Com as etapas acima, você deve entender melhor como configurar e modificar o pacote Unattended-Upgrades em seu sistema Ubuntu.

Agendando atualizações automáticas com um Cron Job

Para agendar atualizações automáticas e autônomas em seu sistema Ubuntu, você pode usar um cron job. Um cron job é um agendador de tarefas baseado em tempo no Linux que permite executar comandos ou scripts automaticamente em horários ou intervalos especificados.

Para criar um cron job para atualizações autônomas, siga as etapas abaixo:

Abra o arquivo de configuração do crontab executando o seguinte comando:

sudo crontab -e

Isso abrirá o arquivo crontab no editor nano. Adicione a seguinte linha ao final do arquivo:

0 0 * * * /usr/bin/unattended-upgrade -d

Esta linha especifica que o comando unattended-upgrade deve ser executado diariamente à meia-noite (0 0 * * *). Salve e saia do arquivo pressionando “Ctrl+X”, depois “Y” e depois “Enter”.

O cron job acima executará o comando unattended-upgrade diariamente à meia-noite, verificará se há atualizações disponíveis e as instalará automaticamente com base nas definições de configuração.

Você só deve agendar atualizações automáticas quando o sistema não estiver em uso, pois as atualizações podem exigir uma reinicialização ou fazer com que os aplicativos sejam reiniciados.

Verificando registros de atualização autônoma

O pacote Unattended-Upgrades, por padrão, registra todas as atividades de atualização no recurso syslog. Os logs estão no arquivo /var/log/syslog e em outros logs do sistema.

Para verificar os logs de atualizações autônomas, você pode usar o seguinte comando:

sudo grep unattended-upgrades /var/log/syslog

Este comando irá pesquisar no arquivo syslog por entradas contendo a palavra-chave “atualizações autônomas” e exibi-las na tela. Você também pode usar o seguinte comando para exibir as últimas 50 entradas no arquivo syslog:

sudo tail -n 50 /var/log/syslog | grep unattended-upgrades

Este comando exibirá as últimas 50 entradas no arquivo syslog que contém a palavra-chave “atualizações autônomas”.

Além dos comandos acima, você pode usar várias opções grep para filtrar os logs com base em critérios específicos. Por exemplo, para filtrar os logs por data e hora, você pode usar o seguinte comando:

sudo grep "unattended-upgrades.*YYYY-MM-DD" /var/log/syslog

Substitua “AAAA-MM-DD” pela data desejada no formato ano-mês-dia. Este comando exibirá todas as entradas de log que contêm a palavra-chave “atualizações autônomas” e correspondem à data especificada.

Você também pode usar o seguinte comando para filtrar os logs por nome de pacote:

sudo grep "unattended-upgrades.*<package_name>" /var/log/syslog

Substituir " ”Com o nome do pacote que você deseja pesquisar. Este comando exibirá todas as entradas de log que contêm a palavra-chave “atualizações autônomas” e correspondem ao nome do pacote especificado.

Com os comandos acima, você pode facilmente verificar e filtrar os logs de atualizações autônomas em seu sistema Ubuntu e solucionar quaisquer problemas que possam surgir durante o processo de atualização.

Conclusão

Concluindo, instalar e configurar atualizações autônomas em seu sistema Ubuntu pode melhorar muito sua segurança e estabilidade. Ao instalar automaticamente atualizações e patches de segurança, você pode garantir que seu sistema esteja sempre atualizado com as correções de segurança mais recentes, sem verificar manualmente se há atualizações e instalá-las.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

3 comentários em “How to Configure Unattended Upgrades on Ubuntu 24.04, 22.04 or 20.04”

  1. Olá, há um erro de digitação nesta linha, enable está sem o L. Obrigado pelo guia!

    Habilite na inicialização os serviços autônomos:
    sudo systemctl enabe atualizações autônomas

    Responder

Deixe um comentário