Je dois admettre que je déteste vraiment les changements d'apt-list. Si je vais faire une énorme dist-upgrade, je veux juste laisser l'ordinateur là pendant quelques heures. Le requestur de cette question de défaut de server avait un objective similaire à l'esprit, après avoir mis en œuvre toutes les suggestions de ce post, j'étais toujours touché par apt-listchanges
.
Pourquoi est-il si difficile d'get une non-interactivité avec apt
, un programme autrement excellent, étant donné que la philosophie Unix y aspire?
J'espère que les changements que j'ai apportés à /etc/apt/listchanges.conf
aideront, mais je veux des suggestions quant à la façon fiable de faire des mises à niveau sans aucune interaction que ce soit.
[apt] frontend=none email_address=root confirm=0 save_seen=/var/lib/apt/listchanges.db which=news
C'est la command que j'ai utilisée était
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
Comme vous l'avez trouvé et configuré dans votre configuration, apt-listchanges
ne devrait pas vous indiquer si vous définissez le frontend sur none
. Vous pouvez également définir la variable d'environnement APT_LISTCHANGES_FRONTEND=none
pour get la même chose.
Il semble que ce que vous voulez vraiment faire est d'utiliser le packageage unattended-upgrades
. Il gère tout pour vous: désactiver apt-listchanges
, définir le frontend sur noninteractive
, vérifier et éviter les invites de conffile, etc. Si rien d'autre, le contenu du script /usr/bin/unattended-upgrades
de Python devrait répondre à vos questions sur la façon dont il fait sa magie.