Ich habe unbeaufsichtigte Upgrades so konfiguriert, dass Sicherheitspakete installiert und per E-Mail benachrichtigt werden, wenn dies der Fall ist.
Ich habe festgestellt, dass die Installation zu sehr zufälligen Zeiten erfolgt. Ich weiß, dass die neuesten Versionen eine zufällige Verzögerung von bis zu 30 Minuten ab der Ausführungszeit von cron.daily hinzugefügt haben.
Die Verzögerungen, die ich erlebe, sind jedoch viel größer. Ich sehe unbeaufsichtigte Upgrades, die um 9 Uhr, 15 Uhr, 12 Uhr ausgeführt werden ... Die Protokolle zeigen dasselbe, sodass nicht nur die E-Mail-Zustellung länger dauert.
Die unbeaufsichtigte Upgrade-Aufgabe ist die erste in cron.daily, was bedeutet, dass es keine vorherige Aufgabe mit großen Ausführungszeiten gibt.
Hat jemand etwas Ähnliches erlebt?
quelle
Antworten:
Nach dem Debuggen fand ich die Lösung.
Die Hauptursache für dieses Problem liegt in der Tatsache, dass unbeaufsichtigte Upgrades unter Ubuntu 16.04 und neuer systemd - nicht cron - verwenden, um die Updates mit einer großen zufälligen Verzögerung zu planen:
/lib/systemd/system/apt-daily.timer
ist konfiguriert mitDies bedeutet, dass es zweimal täglich um 6:00 und 18:00 Uhr mit einer zufälligen Verzögerung von bis zu 12 Stunden ausgeführt wird. Da dies für Produktionsumgebungen nicht immer akzeptabel ist, musste ich diese Einstellungen überschreiben.
Um die Paketkonfigurationsdateien unberührt zu lassen, habe ich meine Überschreibung in definiert
/etc/systemd/system/apt-daily.timer.d/override.conf
( Update : Bitte lesen Sie die Bearbeitung am Ende dieser Antwort, um weitere Informationen zu Dateiname und Speicherort zu erhalten, da sich diese geringfügig ändern können).Da habe ich gesetzt
unbeaufsichtigte Upgrades werden um 6:00 Uhr plus einer zufälligen Verzögerung von bis zu einer Stunde ausgeführt.
Dann habe ich einfach den Timer mit neu gestartet
systemctl restart apt-daily.timer
(muss eventuell den Daemon neu laden).Unbeaufsichtigte Updates werden jetzt wieder zu vorhersehbaren Zeiten ausgeführt!
Edit : Es scheint, als ob sich für Ubuntu 18.04 etwas geändert hat. Die Überschreibung sollte jetzt gespeichert sein
/etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
und folgendermaßen aussehen:@PerlDuck hat in einem Kommentar unten eine Möglichkeit zum Erstellen einer Überschreibungsdatei mit dem richtigen Namen und Speicherort erwähnt. Anstatt eine Datei manuell zu erstellen, sollten Sie sie ausführen
sudo systemctl edit apt-daily.timer
quelle
Ich habe Daniels Lösung ausprobiert, aber das Upgrade lief immer noch zu den falschen Zeiten. Es stellte sich heraus, dass zwei systemd-Overrides erforderlich sind:
Wird zum Herunterladen verwendet
/lib/systemd/system/apt-daily.timer - überschreiben mit /etc/systemd/system/apt-daily.timer.d/override.conf
Wird zum Aktualisieren verwendet
/lib/systemd/system/apt-daily-upgrade.timer - überschreiben mit /etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
quelle
Die offizielle Debian-Dokumentation unter https://wiki.debian.org/UnattendedUpgrades enthält derzeit einen Fehler, der viele Menschen irreführt. Es wird behauptet, dass Sie die Aktualisierungszeit überschreiben können, indem Sie eine aufgerufene Datei erstellen
Der richtige Weg ist jedoch
quelle
sudo systemctl edit apt-daily.timer
. Dadurch wird ein Editor mit der richtigen Drop-In-Datei geöffnet.