Atualização do sistema Debian com o cron

2

Eu entendo que a questão de se fazer atualizações automáticas e desacompanhadas do sistema é altamente discutível, mas vamos supor que eu, pelo menos, nunca tive nenhum problema com esse conceito até agora.

A configuração é a seguinte: sistema de servidor depurado Debian , em execução, por exemplo Apache e SSH servidores, protegido adequadamente com regras iptables muito restritas e atrás de um HW firewall . Há um trabalho de cron diário que faz o seguinte:

apt-get update &&
apt-get upgrade -y &&
apt-get dist-upgrade -y &&
apt-get autoremove -y &&
service apache restart &&
service ssh restart

A idéia por trás disso é: se houver uma atualização no software que é a única superfície de ataque para o mundo externo, instale-o e reinicie o software. (A reinicialização ocorre mesmo se o Apache e o SSH não tiverem sido atualizados e o tempo de inatividade do serviço nesse ponto for menor que um segundo).

Agora, meu problema é que, quando há uma atualização para Apache e SSH , dpkg pergunta se é preciso manter a configuração original ou substituí-la pela genérica, padrão. Infelizmente, este é um prompt baseado em menu e não é possível usar o pipe simples em yes para selecionar a resposta correta. Alguma idéia de como isso pode ser roteirizado?

    
por Ulrik 19.12.2017 / 11:55

2 respostas

1

Você pode tentar '-qq -y', mas não é recomendado .

-q, --quiet Quiet. Produces output suitable for logging, omitting progress indicators. More q's will produce more quiet up to a maximum of two. You can also use -q=# to set the quiet level, overriding the configuration file. Note that quiet level 2 implies -y, you should never use -qq without a no-action modifier such as -d, --print-uris or -s as APT may decided to do something you did not expect.

Eu acho que seria melhor simular a atualização primeiro, e então decidir se é 'seguro' forçar uma atualização ou não, isto é, se a força é necessária.

Simular:

# apt-get -qq -s upgrade

Forçar upgrade:

# apt-get -qq -y upgrade

Referência;

apt-get man

    
por 19.12.2017 / 14:47
0

De acordo com o manual debian , você pode evitar as perguntas do arquivo de configuração adicionando a seguinte linha:

DPkg::options { "--force-confdef"; "--force-confold"; }

Para o seu arquivo /etc/apt/apt.conf.d/local (crie o arquivo local antes)

Ou inclua a opção acima no comando apt :

apt -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" full-upgrade

GOING FURTHER Avoiding the configuration file questions

dpkg handles configuration file updates, but, while doing so, regularly interrupts its work to ask for input from the administrator. This makes it less than enjoyable for those who wish to run updates in a non-interactive manner. This is why this program offers options that allow the system to respond automatically according to the same logic: --force-confold retains the old version of the file; --force-confnew will use the new version of the file (these choices are respected, even if the file has not been changed by the administrator, which only rarely has the desired effect). Adding the --force-confdef option tells dpkg to decide by itself when possible (in other words, when the original configuration file has not been touched), and only uses --force-confnew or --force-confold for other cases.

    
por 19.12.2017 / 14:27