Eu tenho cerca de 7 servidores Debian que eu gerencio e gostaria de configurá-los para se atualizarem automaticamente. Então, eu criei um script como tal:
#!/bin/sh
apt-get update
apt-get upgrade
e colocou na root
lista de crontab. Infelizmente, ele sempre fica na seção Atualização, perguntando se tenho certeza de que quero atualizar. Por ser um trabalho cron, não vejo a saída até que me envie um e-mail dizendo que falhou. Existe uma maneira de ignorar esse prompt e fazer a atualização automaticamente?
Respostas:
Use a opção -y para o apt-get não pedir. De
man apt-get
:Você também pode definir a variável de ambiente DEBIAN_FRONTEND
fonte
DEBIAN_FRONTEND
faz? Também é usado para outros processos?DEBIAN_FRONTEND
. Não é mencionado no meu Debianman debconf
, portanto, pode ser uma coisa do Ubuntu.man 7 debconf
;)man 7 debconf
mas não consegui nada. Agora eu sei o porquê :)Bem, talvez você esteja usando a ferramenta errada.
unattended-upgrades
o pacote instala atualizações de segurança diariamente (pode ser configurado), você pode configurar quais pacotes atualizar ou não atualizar, etc. Pode ser instalado usando:De
man unattended-upgrades
:fonte
/etc/apt/apt.conf.d/
mas apenas as que começam comUnattended-Upgrade::
são analisadas.embora as respostas anteriores sejam informativas, elas não contornam a 'questão' de entrada exigida por meios humanos durante
upgrade
. portanto, estou usando o seguinte:para incluir atualizações de 'distribuição' como kernels, use o
dist-upgrade
comandoconsulte o manpgage de
dpkg
para informações detalhadas sobre esses parâmetros.Nota importante : é necessário chamar
sudo
incluindo o-E
parâmetro:Indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the user does not have permission to preserve the environment.
caso contrário, as
EXPORT
declarações não afetarão as chamadas deapt-get
!o crédito vai para Remy van Elst ! obrigado!
fonte
root
- assim você não precisa usásudo
-lo. as 'outras opções' estão definidas para serem executadas sem supervisão em qualquer caso. por favor, consulte aman
página referenciada .Uma ferramenta genérica para esse tipo de coisa é
yes
:Então, por exemplo, você poderia fazer
Observe que, no caso específico de
apt-get upgrade
usar as opções sugeridas por @Braiam ou @ArthurUlfeldt, é melhor.fonte
apt-get update && yes | apt-get upgrade
(nossos servidores não devem usarsudo
... Não pergunte ...)