Eu li aqui como habilitar atualizações automáticas silenciosas para o Google Chrome. No entanto, tenho outros repositórios como spotify, docky e outros para os quais gostaria de ativar atualizações silenciosas.
Estou tentando fazer isso no meu sistema Ubuntu 10.04. Mas esta pergunta se aplica a todas as versões do Ubuntu. Eu tenho o pacote de atualizações autônomas instalado.
Como posso fazer isso?
updates
automation
nik90
fonte
fonte
Respostas:
Primeiro, instale
gksu
:sudo apt-get install gksu
O mais fácil de permitir atualizações automáticas para o seu sistema é editar o arquivo
50unattended-upgrades
dentro/etc/apt/apt.conf.d/
com o seu editor de texto favorito, por exemplo:gksu gedit /etc/apt/apt.conf.d/50unattended-upgrades
Nele, é necessário comentar as seções comentadas do bloco Origens permitidas
mudança
para
Para o software que não está no repositório Ubuntu que você deseja atualizar, você precisa adicionar uma origem e um archive ao arquivo. Para descobrir quais são os seus PPAs, abra a pasta
/var/lib/apt/lists/
, que é a área de armazenamento de informações de estado para cada recurso do pacote. O que você está procurando são os arquivos que terminam com Release no nome.Abra um com o seu editor de texto, ou seja, para o Google Chrome:
A origem é óbvia (
Origin: Google, Inc.
) e o arquivo será o que estiver abaixo da linha Suite (Suite: stable
).Se um
Origin
ouSuite
estiver faltando, eles serão a string vazia. Mas observe que, se ambos estiverem ausentes, provavelmente não será possível usar essa fonte com atualizações autônomas sem incluir outras fontes com o mesmo problema.Depois de anotar essas duas linhas, você precisará editar o
50unattended-upgrades
arquivo e adicionar as linhas usando este formato"<origin>:<archive>";
para fins de exemplo"Google\, Inc.:stable";
.A origem do Google Chrome é meio complicada, pois possui um ponto final e uma vírgula, mas a maioria dos arquivos do Release será fácil de ler.
Como outro exemplo, a fonte JS do nó especifica uma origem (
Node Source
), mas não um arquivo morto; para que você possa combiná-lo"Node Source:";
.O Allowed Origins é correspondido usando curingas no estilo de shell (mais especificamente, com o fnmatch () do Python ). Se você for cuidadoso o suficiente para não incluir fontes conflitantes, é possível escrever coisas como
"Node *:*";
.Não se esqueça de fazer um backup do seu
50unattended-upgrades
arquivo antes de editá-lo, faça isso comsudo cp /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak
.Para testar as alterações feitas no arquivo, você pode usar
sudo unattended-upgrades
com os parâmetros--dry-run
e--debug
.--dry-run
executará um ciclo de atualizações autônomas, exceto que realmente não instalará as atualizações, apenas verifique e verifique se está tudo ok.--debug
ativará o modo detalhado.Você sempre pode verificar os logs em
unattended-upgrades
at/var/log/unattended-upgrades/unattended-upgrades.log
.Você pode alterar a configuração das atualizações autônomas editando o arquivo
/etc/apt/apt.conf.d/10periodic
, as opções para a configuração estão no/etc/cron.daily/apt
cabeçalho do script. Leia-os para configurar a frequência das atualizações autônomas.fonte
--dry-run
irá verificar se nas listas atualizadas existem atualizações disponíveis e as enviar para você, as listas são atualizadas por qualquer configuração/etc/cron.daily/apt
, executando-o manualmente não atualiza as listas que eu acho.Abordagem automatizada para a resposta de @Bruno Pereira: (Por favor, considere estrelar o repositório do github, se a resposta for útil.)
Link do código: https://github.com/abhigenie92/unattended_upgrades_repos
Verifique os repositórios para adicionar:
Agora edite
/etc/apt/apt.conf.d/50unattended-upgrades
para incluí-los:Verifique se estão incluídos:
fonte
"Raspberry:stable";
não funcionou. Em vez disso, usei, por exemplo,"o=Raspberry, a=stable";
Edição
/etc/apt/apt.conf.d/50unattended-upgrades
, adicione o seguinte:Isso permitirá atualizações autônomas para todos os pacotes.
fonte
origin:''
, por exemplo, datadog-agent fromsite:'apt.datadoghq.com'
. Nesse caso, também seria necessário adicionar"origin=";
para não ignorar pacotes com origem vazia. Mas então é melhor usar apenas em"site=*";
vez de"origin=*";
./etc/apt/sources.list.d/my_repo.list
, mas ele não atualiza o pacote. Manualmente ele trabalha comsudo apt update
. Alguma pista de como?Existem instruções para forçar uma nova execução a fazer com que o cron inicie a atualização automática no seguinte link . O procedimento para parar o cron é este
e reiniciar o cron para fazer a atualização automática agora (ou pelo menos dentro de alguns minutos) é
Como funciona
Várias coisas o farão funcionar.
É acionado da execução do
/etc/cron.daily
cron, especificamente/etc/cron.daily/apt
. Cron é executado/etc/cron.daily
às 6h25 (veja/etc/crontab
)Anacron é executado desde o início? e disparará
/etc/cron.daily
após 5 minutos de tempo de atividade (consulte/etc/anacrontab
)A nota
APT::Periodic::RandomSleep
pode ser configurada/etc/apt/apt.conf.d/10periodic
, mas o padrão é 1800s (30 minutos), para que nenhuma atualização ocorra até 30 minutos após a/etc/cron.daily/apt
execução.Registro
Se funcionar, as coisas devem ser registradas nesta pasta
/var/log/unattended-upgrades
,.fonte
/etc/cron.daily/apt
da instalação padrão do Ubuntu 12.04 - portanto, atualizações automáticas do APT não estavam ocorrendo :-(. A resposta do ServerFault serverfault.com/a/568329/ O 95570 forneceu detalhes sobre como recriar esse arquivo.