Atualmente, para atualizar as coisas no meu Raspberry Pi, preciso digitar sudo apt-get update
e sudo apt-get upgrade
. Existe uma maneira de configurá-lo para fazer isso automaticamente? Estou executando o Raspbian Jessie.
Atualmente, para atualizar as coisas no meu Raspberry Pi, preciso digitar sudo apt-get update
e sudo apt-get upgrade
. Existe uma maneira de configurá-lo para fazer isso automaticamente? Estou executando o Raspbian Jessie.
Respostas:
em vez de um cron manual, você pode instalar unattended-upgrades
, o que é útil para garantir a instalação dos kernels mais recentes. É projetado principalmente para segurança.
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
Existem alguns bits que podem ser ajustados / configurados, mas o padrão é bom.
50unattended-upgrades
lista "origin=Debian,codename=${distro_codename},label=Debian-Security";
e parece encontrar os pacotes relevantes corretamente. Claro que ignora muitos deles. Não configurei nenhuma lista branca ou negra.
50unattended-upgrades
é realmente estúpido e precisa ser alterado para que isso funcione no Raspian. Não existe Raspian-Security
. As atualizações de segurança não estão identificadas. É importante adicionar tanto "origin=Raspbian,codename=${distro_codename},label=Raspbian";
e "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
para/etc/apt/apt.conf.d/50unattended-upgrades
Em um terminal, digite:
sudo su
Para acessar um prompt no nível raiz. Então corra:
crontab -e
Para começar a editar seu crontab, uma tabela de tarefas para executar automaticamente em um determinado momento. Ele será aberto no seu editor de texto preferido. Modifique-o para incluir as seguintes linhas:
0 7 * * 1 apt update && apt upgrade -y
Para atualizar e atualizar automaticamente seus aplicativos às 7h toda segunda-feira. Leia no crontab para ver como se adaptar ao seu gosto.
&&
pois eles estão relacionados e não há motivo para fazer 'upgrade' se 'update' falhar.
0
significa domingo, mas no seu código que você colocou 1
, o comando seria executado na segunda-feira, não no domingo
dist-upgrade
é melhor que upgrade
, você acabará usando dependências quebradas apenas upgrade
. Você também não obterá atualizações que exijam confirmações de diálogo. @ tedder42 apontou o método preferido pelo Debian (usando unattended-upgrades
).
sudo
lá dentro; você mudou para a root
conta usando su
. O crontab do superusuário é executado com privilégios de superusuário.
Você pode instalar e configurar o cron-apt. Instale-o fazendo o seguinte:
apt-get install cron-apt
o arquivo de configuração principal é / etc / cron-apt / config
Uma coisa que adiciono à minha configuração é:
MAILON="always"
isso enviará um email sempre que for executado, não apenas se encontrar um erro.
Observe que a configuração padrão não instalará automaticamente as atualizações (existem alguns bons motivos para não fazer isso), mas você pode configurá-lo para fazer isso. Uma vantagem que este programa oferece sobre uma solução cron simples é que ele fornece controle sobre o que é instalado (faça o download apenas de novos pacotes, instale atualizações de segurança ou instale todas as atualizações).
Para definir o tempo de execução, edite o arquivo /etc/cron.d/cron-apt.
Você pode encontrar mais informações e opções de configuração aqui
O pacote inclui uma documentação muito boa, no entanto, é compactado em gzip. Para extrair o arquivo:
Em sua configuração padrão, unattended-upgrades
está quebrado no Raspbian Buster. Não instalará atualizações cruciais para o kernel e outros softwares. Suas opções são:
Opção recomendada:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
Para atualizações de segurança mais rápidas (mas menos estabilidade, como os pacotes não foram aprovados para o rasbian), você pode adicionar pacotes debian-security ao apt:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
Você provavelmente precisará instalar novas chaves apt para o repositório debian .
Outras opções:
Para contornar isso usando cron-apt:
sudo apt install cron-apt
Outras maneiras de contornar isso.
É recomendável usar atualizações autônomas e corrigir o pacote, porque é mais adequado para esse fim. O Cron-apt é sua segunda melhor opção, porque também é projetado para uma finalidade semelhante. Não tenho certeza de que um pode reiniciar o sistema automaticamente após uma atualização do kernel. As atualizações autônomas geralmente têm essa opção, mas não tenho certeza de que funcione com a correção acima.
/var/log/unattended-upgrades/unattended-upgrades.log
arquivo relatadoAllowed origins are: []
então basicamente não estava puxando nenhuma atualização no Após a atualização./etc/apt/apt.conf.d/50unattended-upgrades
Para incluir"origin=Raspbian,codename=${distro_codename},label=Raspbian";
atualizações começaram a entrar.