desativa o apt-listchanges (e outras coisas interativas) durante as atualizações (de forma confiável)

11

Eu tenho que admitir, eu realmente realmente odeio o apt-listchanges. Se eu for fazer uma atualização distinta, quero deixar o computador lá por algumas horas. O consulente dessa pergunta de falha no servidor tinha um objetivo semelhante em mente, mas depois da implementação todas as sugestões nesse post, eu ainda fui atingido por apt-listchanges .

Por que é tão difícil alcançar a não-interatividade com apt , um programa excelente, dado que a filosofia Unix aspira a isso?

Espero que as alterações que fiz no /etc/apt/listchanges.conf ajudem, mas quero sugestões de como fazer atualizações de maneira confiável sem qualquer interação.

[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news

Este é o comando que usei

DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade

Também adicionei as seguintes linhas a /etc/dpkg/dpkg.cfg

force-confold
force-confdef
    
por ixtmixilix 12.09.2012 / 19:37

1 resposta

9

Como você encontrou e definiu na sua configuração, apt-listchanges não deve avisar se você definir o frontend como none . Você também pode definir a variável de ambiente APT_LISTCHANGES_FRONTEND=none para obter a mesma coisa.

Parece que o que você realmente quer fazer é usar o pacote unattended-upgrades . Ele lida com tudo para você: desabilitando apt-listchanges , configurando o frontend para noninteractive , verificando e evitando prompts de conffile, etc. Se nada mais, o conteúdo do script Python /usr/bin/unattended-upgrades deve responder suas perguntas sobre como ele faz isso. magia.

    
por 13.09.2012 / 07:26

Tags