Deaktiviere apt-listchanges (und andere interaktive Dinge) während Upgrades (zuverlässig)

15

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 apteinem ansonsten hervorragenden Programm zu erreichen, da die Unix-Philosophie danach strebt?

Ich hoffe, dass die Änderungen, die ich vorgenommen habe, /etc/apt/listchanges.confhelfen, 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
ixtmixilix
quelle
2
Wenn Sie nicht mögen apt-listchanges, warum installieren Sie es?
Gilles 'SO- hör auf böse zu sein'
3
Entfernen Sie es nicht, indem Sie apt-get purge apt-listchangesIhnen helfen?
Daisy
Warl0ck hat recht. Deinstalliere es. Ich benutze apt-get die ganze Zeit nicht interaktiv.
Bahamat
4
es wurde mit meinem neuesten debian vorinstalliert ... d'oh!
ixtmixilix
1
Ja, ich hasse es wirklich, dass dies Standard zu sein scheint.
UpTheCreek

Antworten:

11

Wie Sie in Ihrer Konfiguration gefunden und festgelegt haben, apt-listchangessollte dies nicht erforderlich sein, wenn Sie das Frontend auf festlegen none. Sie können auch die Umgebungsvariable festlegen APT_LISTCHANGES_FRONTEND=none, um dasselbe zu erreichen.

Es hört sich so an, als ob Sie das unattended-upgradesPaket wirklich verwenden möchten . Es erledigt alles für Sie: Deaktivieren apt-listchanges, Setzen des Frontends auf noninteractive, Überprüfen und Vermeiden von Eingabeaufforderungen für Conffiles usw. Wenn nichts anderes, sollte der Inhalt des Python-Skripts /usr/bin/unattended-upgradesIhre Fragen dazu beantworten, wie es seine Magie ausführt.

Jim Paris
quelle
Wie werden Eingabeaufforderungen von Conffiles vermieden? Ignoriert es sie einfach, indem es Ihre Konfiguration beibehält oder sie ersetzt?
Natalie Adams
Wenn Ihr aptconfig enthält --force-confoldoder --force-confnewin DPkg::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 ist unattended-upgrades). Wenn E-Mail nicht verfügbar ist, wird sie unter protokolliert /var/log/unattended-upgrades.
Jim Paris