Tengo que admitir que realmente odio apt-listchanges. Si voy a hacer una gran actualización de dist, quiero dejar la computadora allí por unas horas. El autor de esta pregunta predeterminada del servidor tenía un objetivo similar en mente, pero después de implementar todas las sugerencias en esa publicación, aún me golpeó apt-listchanges
.
¿Por qué es tan difícil lograr la no interactividad con apt
un programa excelente, dado que la filosofía de Unix aspira a ello?
Espero que los cambios que hice /etc/apt/listchanges.conf
ayuden, pero quiero sugerencias sobre cómo hacer actualizaciones de manera confiable sin ninguna interacción.
[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news
Este es el comando que usé fue
DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade
También agregué las siguientes líneas a /etc/dpkg/dpkg.cfg
force-confold
force-confdef
apt-listchanges
, ¿por qué lo instalas?apt-get purge apt-listchanges
eliminas para ayudarte?Respuestas:
Como encontró y configuró en su configuración,
apt-listchanges
no debería preguntar si configura el frontend ennone
. También puede establecer la variable de entornoAPT_LISTCHANGES_FRONTEND=none
para lograr lo mismo.Parece que lo que realmente quieres hacer es usar el
unattended-upgrades
paquete. Maneja todo por usted: deshabilitarapt-listchanges
, configurar el frontendnoninteractive
, verificar y evitar avisos de conffile, etc. Si nada más, el contenido del script Python/usr/bin/unattended-upgrades
debería responder sus preguntas sobre cómo hace su magia.fuente
apt
configuración contiene--force-confold
o--force-confnew
enDPkg::Options
, se comportan como se esperaba. De lo contrario, un paquete que desencadenaría una solicitud de conffile no se actualiza y se envía un correo electrónico (si el correo electrónico está configuradounattended-upgrades
). Si el correo electrónico no está disponible, se registra en/var/log/unattended-upgrades
.