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 apt
um programa excelente, já que a filosofia do Unix aspira a isso?
Espero que as alterações que fiz /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 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
apt-listchanges
, por que instalá-lo?apt-get purge apt-listchanges
ajudá-lo?Respostas:
Como você encontrou e definiu em sua configuração,
apt-listchanges
não deve perguntar se você configurou o frontendnone
. Você também pode definir a variável de ambienteAPT_LISTCHANGES_FRONTEND=none
para obter a mesma coisa.Parece que o que você realmente quer fazer é usar o
unattended-upgrades
pacote. Ele lida com tudo para você: desativandoapt-listchanges
, configurando o frontendnoninteractive
, verificando e evitando solicitações de conffile, etc. Se nada mais, o conteúdo do script Python/usr/bin/unattended-upgrades
deve responder às suas perguntas sobre como funciona.fonte
apt
configuração contém--force-confold
ou--force-confnew
noDPkg::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 configuradounattended-upgrades
). Se o email não estiver disponível, ele será registrado/var/log/unattended-upgrades
.