Je dois admettre que je déteste vraiment vraiment les apt-listchanges. Si je vais faire une énorme mise à niveau dist, je veux juste laisser l'ordinateur là pendant quelques heures. Le demandeur de cette question de panne de serveur avait un objectif similaire à l'esprit, mais après avoir mis en œuvre toutes les suggestions de ce message, j'ai toujours été frappé apt-listchanges
.
Pourquoi est-il si difficile de réaliser la non-interactivité avec apt
, un programme par ailleurs excellent, étant donné que la philosophie Unix y aspire?
J'espère que les modifications que j'ai apportées /etc/apt/listchanges.conf
aideront, mais je veux des suggestions sur la façon de faire des mises à niveau de manière fiable sans aucune interaction.
[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news
Voici la commande que j'ai utilisée
DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade
J'ai également ajouté les lignes suivantes à /etc/dpkg/dpkg.cfg
force-confold
force-confdef
apt-listchanges
, pourquoi l'installez-vous?apt-get purge apt-listchanges
vous pas en vous aidant?Réponses:
Comme vous l'avez trouvé et défini dans votre configuration,
apt-listchanges
vous ne devez pas demander si vous définissez le frontend surnone
. Vous pouvez également définir la variable d'environnementAPT_LISTCHANGES_FRONTEND=none
pour obtenir la même chose.Il semble que ce que vous voulez vraiment faire, c'est utiliser le
unattended-upgrades
package. Il gère tout pour vous: désactiverapt-listchanges
, définir le frontendnoninteractive
, vérifier et éviter les invites de conffile, etc. Si rien d'autre, le contenu du script Python/usr/bin/unattended-upgrades
devrait répondre à vos questions sur la façon dont il fait sa magie.la source
apt
config contient--force-confold
ou--force-confnew
dansDPkg::Options
, ils se comportent comme prévu. Sinon, un package qui déclencherait une invite de conffile n'est pas mis à niveau et un e-mail est envoyé (si l'e-mail est configuré dansunattended-upgrades
). Si l'e-mail n'est pas disponible, il est connecté sous/var/log/unattended-upgrades
.