Status unbeaufsichtigter Upgrades?

16

Weiß jemand, ob es möglich ist, den Status eines unbeaufsichtigten Upgrades zu ermitteln? Ist es möglich herauszufinden, welche Pakete installiert werden oder wo wir uns gerade befinden?

Ich weiß die Vorteile unbeaufsichtigter Upgrades zu schätzen, aber sie können sehr ärgerlich sein, wenn Sie ein System haben, das einige Monate ausgeschaltet war, und Sie eine Anwendung installieren möchten oder wenn sie CPU-Ressourcen auf Computern verbrauchen, auf denen nicht viel vorhanden ist zunächst.

Ich versuche nicht nur, die unbeaufsichtigten Upgrades zu töten. Ich weiß, wie das geht. Ich möchte, dass sie rennen. Ich möchte nur wissen, wie ich herausfinden kann, was wirklich los ist und in welcher Phase sie sich befinden.

b_laoshi
quelle
Laufen pgrep -fl apt, nehme ich an.
muru

Antworten:

22

Auf Systemen ab 16.04 werden unbeaufsichtigte Upgrades täglich zu einer zufälligen Zeit ausgeführt.

So können Sie feststellen, wann unbeaufsichtigte Upgrades heute ausgeführt werden :

Die Zufallszeit wird von einem Cron-Job (/etc/cron.daily/apt.compat) festgelegt, und Sie können die Zufallszeit für den heutigen Tag lesen, indem Sie systemd fragen:

$ systemctl list-timers apt-daily.timer
NEXT                         LEFT     LAST                         PASSED      UNIT            ACTIVATES
Tue 2017-07-11 01:53:29 CDT  13h left Mon 2017-07-10 11:22:40 CDT  1h 9min ago apt-daily.timer apt-daily.service

In diesem Fall können Sie sehen, dass uu vor 1 Stunde und 9 Minuten ausgeführt wurde.

So stellen Sie fest, ob noch unbeaufsichtigte Upgrades ausgeführt werden :

Eine einfache Möglichkeit besteht darin, die Zeitstempeldateien für die verschiedenen apt-Komponenten zu überprüfen:

$ ls -l /var/lib/apt/periodic/
total 0
-rw-r--r-- 1 root root 0 Jul 10 11:24 unattended-upgrades-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:23 update-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:24 update-success-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:24 upgrade-stamp

Sie können hier sehen, dass uu nur eine weitere geeignete Komponente ist. apt platziert den Zeitstempel hier, unabhängig davon, wie das apt gestartet wurde.

Wenn Sie die Daten zusammenfügen, können Sie sehen, dass der Timer um 11:22 Uhr gestartet wurde. Es wurde ein Update ausgeführt, das um 11:23 Uhr abgeschlossen wurde, und anschließend ein Upgrade, das um 11:24 Uhr abgeschlossen wurde. Schließlich können Sie sehen, dass apt das Upgrade als Erfolg gewertet hat (kein Fehler oder sonstiger Fehler).

Wenn Sie einen aktuellen Zeitgeber ohne entsprechenden Abschlusszeitstempel sehen, möchten Sie möglicherweise überprüfen ps, ob Apt noch ausgeführt wird.

So können Sie feststellen, welcher Schritt apt gerade ausgeführt wird :

Eine einfache Möglichkeit besteht darin, die uu-Protokolldatei zu überprüfen.

$ less /var/log/unattended-upgrades/unattended-upgrades.log
2017-07-10 11:23:00,348 INFO Initial blacklisted packages: 
2017-07-10 11:23:00,349 INFO Initial whitelisted packages: 
2017-07-10 11:23:00,349 INFO Starting unattended upgrades script
2017-07-10 11:23:00,349 INFO Allowed origins are: ['o=Ubuntu,a=zesty-security', 'o=Ubuntu,a=zesty-updates']
2017-07-10 11:23:10,485 INFO Packages that will be upgraded: apport apport-gtk libpoppler-glib8 libpoppler-qt5-1 libpoppler64 poppler-utils python3-apport python3-problem-report
2017-07-10 11:23:10,485 INFO Writing dpkg log to '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log'
2017-07-10 11:24:20,419 INFO All upgrades installed

Hier sehen Sie den normalen täglichen Prozess, einschließlich der Zeilen "Gestartet" und "Abgeschlossen" sowie die Liste der Pakete, die aktualisiert werden sollen.

Wenn die Liste der Pakete noch nicht protokolliert ist, kann apt sicher unterbrochen werden. Sobald die Liste der Pakete protokolliert wurde, unterbrechen Sie apt NICHT.

Bedenken Sie, dass apt in einer Umgebung mit eingeschränkten Ressourcen auf viele Arten konfiguriert werden kann, um zuverlässig und unauffällig mit unterschiedlichen Laufzeiten, netten Ebenen, Bandbreitenbeschränkungen und vielen anderen nützlichen Einstellungen zu arbeiten.

user535733
quelle
4
Dieser Befehl zeigt an, als ob Sie im Terminal ausgeführt werden, wenn er noch nicht abgeschlossen ist. tail -f /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Adsy2010