Ich muss zugeben, ich hasse Apt-List-Änderungen wirklich sehr . Wenn ich ein großes Dist-Upgrade durchführen möchte, lasse ich den Computer einfach ein paar Stunden dort. Der Fragesteller dieser Serverfehler-Frage hatte ein ähnliches Ziel vor Augen, denn nachdem er alle Vorschläge in diesem Beitrag umgesetzt hatte, war ich immer noch betroffen apt-listchanges
.
Warum ist es so schwierig, Nicht-Interaktivität mit apt
einem ansonsten hervorragenden Programm zu erreichen, da die Unix-Philosophie danach strebt?
Ich hoffe, dass die Änderungen, die ich vorgenommen habe, /etc/apt/listchanges.conf
helfen, aber ich möchte Vorschläge, wie Upgrades ohne jegliche Interaktion zuverlässig durchgeführt werden können.
[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news
Dies ist der Befehl, den ich verwendet habe
DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade
Ich habe auch die folgenden Zeilen hinzugefügt /etc/dpkg/dpkg.cfg
force-confold
force-confdef
apt-listchanges
, warum installieren Sie es?apt-get purge apt-listchanges
Ihnen helfen?Antworten:
Wie Sie in Ihrer Konfiguration gefunden und festgelegt haben,
apt-listchanges
sollte dies nicht erforderlich sein, wenn Sie das Frontend auf festlegennone
. Sie können auch die Umgebungsvariable festlegenAPT_LISTCHANGES_FRONTEND=none
, um dasselbe zu erreichen.Es hört sich so an, als ob Sie das
unattended-upgrades
Paket wirklich verwenden möchten . Es erledigt alles für Sie: Deaktivierenapt-listchanges
, Setzen des Frontends aufnoninteractive
, Überprüfen und Vermeiden von Eingabeaufforderungen für Conffiles usw. Wenn nichts anderes, sollte der Inhalt des Python-Skripts/usr/bin/unattended-upgrades
Ihre Fragen dazu beantworten, wie es seine Magie ausführt.quelle
apt
config enthält--force-confold
oder--force-confnew
inDPkg::Options
, verhalten sie sich wie erwartet. Andernfalls wird ein Paket, das eine Conffile-Eingabeaufforderung auslösen würde, nicht aktualisiert, und eine E-Mail wird gesendet (sofern E-Mail in konfiguriert istunattended-upgrades
). Wenn E-Mail nicht verfügbar ist, wird sie unter protokolliert/var/log/unattended-upgrades
.