Como configuro meu sistema para atualizar automaticamente sem a interação do usuário?

8

Como posso configurar meu Ubuntu para não apenas atualizar regularmente (e automagicamente) as atualizações de segurança (eu poderia definir isso ao instalar o ubuntu), mas para atualizar TODOS os pacotes automaticamente, em segundo plano, sem interação do usuário?

Pergunta extra: se eu pudesse configurar com que frequência minha caixa Ubuntu verifica a atualização, o que devo definir? Check-in a cada hora? Ou existe alguma maneira aleatória incorporada? Quero dizer, o Ubuntu espera por um tempo aleatório e verifica se há atualizações? (para não dar grande tráfego aos servidores do repositório a cada hora, por exemplo: 20h; 21h; 22h; etc.)

LanceBaynes
fonte

Respostas:

10

Instale o unattended-upgradespacote e edite seu arquivo de configuração para instalar todos os pacotes, não apenas as atualizações de segurança:

Edite o arquivo /etc/apt/apt.conf.d/50unattended-upgrades:

// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
        "${distro_id} ${distro_codename}-security";
//      "${distro_id} ${distro_codename}-updates";
//      "${distro_id} ${distro_codename}-proposed";
//      "${distro_id} ${distro_codename}-backports";
};

remova as //peças que você deseja que sejam automáticas e salve o arquivo.

Em seguida, você precisa definir as funções de atualização automática em /etc/apt/apt.conf.d/10periodic:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

O intervalo de atualização é todos os dias, o que é certo, caso contrário, você provavelmente estaria batendo no espelho com muita frequência.

Aqui está a documentação para isso:

psusi
fonte
11
Posso perguntar o que "1 dia" significa exatamente? Se, por exemplo: um PC for usado apenas 1-2 horas por dia, ele não procurará atualizações? OU significa, por exemplo: se 24 horas se passaram após a última verificação, ele executa uma atualização?
LanceBaynes
1

Atualizações automáticas de pacotes diários usando Cron e Apt-Get

AVISO: Como em qualquer alteração do sistema, pode ocorrer o potencial de criar problemas novos ou adicionais. Certifique-se de fazer backup de seus dados e configurações! Use este documento por sua conta e risco.

Criando o arquivo de trabalho diário Cron

Primeiro, você precisará criar o arquivo de tarefa cron. Você pode usar um editor de texto simples para criar o arquivo e salvá-lo em seu diretório pessoal. No Editor de texto, digite as seguintes linhas:

#!/bin/bash
apt-get update
apt-get upgrade -y
apt-get autoclean

Agora clique em Salvar e nomeie o arquivo como "autoupdt".

Movendo o arquivo de tarefa Cron para Cron.Daily

Agora que você criou o arquivo de tarefa cron, ele precisa ser movido para o diretório cron diário, para que seja executado automaticamente diariamente. Para fazer isso, primeiro precisamos abrir um terminal de linha de comando ( CTRL+ ALT+ T).

Precisamos mover o arquivo para o diretório apropriado. Digite o seguinte comando no prompt da linha de comando para mover o arquivo:

sudo mv /where/ever/autoupdt /etc/cron.daily

Tornando o arquivo de tarefa Cron executável

Agora que o arquivo está criado e pronto para ser executado diariamente pelo cron, ainda precisamos tornar o arquivo executável para que o cron possa executá-lo.

sudo chmod 755 /etc/cron.daily/autoupdt

Acompanhamento

Para mais detalhes sobre a configuração personalizada do cron, consulte:

man cron

Acabado

Kory Wnuk
fonte