desativar apt-listchanges (e outros itens interativos) durante as atualizações (de forma confiável)

15

Eu tenho que admitir, eu realmente odeio mudanças no apt-list. Se eu fizer uma grande atualização dist, quero deixar o computador lá por algumas horas. O autor desta pergunta sobre falha no servidor tinha um objetivo semelhante em mente, mas depois de implementar todas as sugestões nesse post, eu ainda era atingido apt-listchanges.

Por que é tão difícil alcançar a não interatividade com aptum programa excelente, já que a filosofia do Unix aspira a isso?

Espero que as alterações que fiz /etc/apt/listchanges.confajudem, 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 eu usei foi

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

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

force-confold
force-confdef
ixtmixilix
fonte
2
Se você não gosta apt-listchanges, por que instalá-lo?
Gilles 'SO- stop be evil'
3
Não o está removendo para apt-get purge apt-listchangesajudá-lo?
margarida
Warl0ck está certo. Desinstale-o. Eu uso o apt-get de maneira não interativa o tempo todo.
bahamat
4
veio pré-instalado com o meu mais recente debian ... d'oh!
Ixtmixilix 13/09/12
1
Sim, eu realmente odeio que isso parece ser o padrão.
UpTheCreek 11/08/2015

Respostas:

11

Como você encontrou e definiu em sua configuração, apt-listchangesnão deve perguntar se você configurou o frontend none. Você também pode definir a variável de ambiente APT_LISTCHANGES_FRONTEND=nonepara obter a mesma coisa.

Parece que o que você realmente quer fazer é usar o unattended-upgradespacote. Ele lida com tudo para você: desativando apt-listchanges, configurando o frontend noninteractive, verificando e evitando solicitações de conffile, etc. Se nada mais, o conteúdo do script Python /usr/bin/unattended-upgradesdeve responder às suas perguntas sobre como funciona.

Jim Paris
fonte
Como evita prompts de conffile? Apenas os ignora mantendo sua configuração ou substituindo-a?
Natalie Adams
Se a sua aptconfiguração contém --force-confoldou --force-confnewno DPkg::Options, eles se comportam como esperado. Caso contrário, um pacote que acionaria um prompt de conffile não será atualizado e um email será enviado (se o email estiver configurado unattended-upgrades). Se o email não estiver disponível, ele será registrado /var/log/unattended-upgrades.
Jim Paris