Status nienadzorowanej aktualizacji?

18

Czy ktoś wie, czy można ustalić status nienadzorowanej aktualizacji? Czy można dowiedzieć się, które pakiety są instalowane lub gdzie jesteśmy w trakcie procesu?

Doceniam korzyści z nienadzorowanych aktualizacji, ale mogą być naprawdę denerwujące, gdy masz system, który był wyłączony przez kilka miesięcy i chcesz zainstalować aplikację lub gdy zjadają zasoby procesora na komputerach, które nie mają dużo najpierw.

Nie chcę tylko zabić nienadzorowanych ulepszeń. Wiem jak to zrobić. Chcę, żeby uciekli. Chcę tylko wiedzieć, jak mogę dowiedzieć się, co się właściwie dzieje i na jakim etapie.

b_laoshi
źródło
Biegnij pgrep -fl apt, jak sądzę.
muru

Odpowiedzi:

22

W systemach 16.04 i nowszych aktualizacje bezobsługowe są uruchamiane codziennie o losowej godzinie.

Jak stwierdzić, kiedy zostaną uruchomione dzisiaj aktualizacje nienadzorowane :

Czas losowy jest ustawiany przez zadanie cron (/etc/cron.daily/apt.compat), i możesz odczytać losowy czas na dziś, pytając systemd:

$ 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

W tym przypadku możesz zobaczyć, że uu działał 1 godzinę i 9 minut temu.

Jak stwierdzić, czy aktualizacje nienadzorowane są nadal uruchomione :

Jednym prostym sposobem jest sprawdzenie plików sygnatur czasowych różnych składników apt:

$ 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

Widać tutaj, że uu to tylko kolejny apt apt. apt umieszcza tutaj znacznik czasu, niezależnie od tego, jak apt został uruchomiony.

Po zebraniu danych widać, że licznik czasu rozpoczął apt (uu) o 11:22. Uruchomiono aktualizację, która zakończyła się o 11:23, a następnie aktualizację, która zakończyła się o 11:24. Wreszcie możesz zobaczyć, że apt uznał aktualizację za sukces (bez błędu lub innej awarii).

Oczywiście, jeśli widzisz ostatni licznik czasu bez odpowiadającego mu znacznika czasu zakończenia, możesz sprawdzić, psczy apt nadal działa.

Jak stwierdzić, który krok apt jest teraz uruchomiony :

Jednym prostym sposobem jest sprawdzenie pliku dziennika uu.

$ 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

Tutaj możesz zobaczyć normalny codzienny proces, w tym wiersze „rozpoczęte” i „zakończone” oraz listę pakietów, które miały zostać zaktualizowane.

Jeśli lista pakietów nie jest jeszcze zarejestrowana, apt można bezpiecznie przerwać. Po zarejestrowaniu listy pakietów NIE przerywaj apt.

Ponieważ masz środowisko ograniczone zasobami, pamiętaj, że apt można skonfigurować na wiele sposobów, aby pracować niezawodnie i dyskretnie z różnymi czasami uruchamiania, ładnymi poziomami, limitami przepustowości i wieloma innymi przydatnymi ustawieniami.

użytkownik535733
źródło
4
To polecenie pokazuje, jakby działało w terminalu, jeśli nie zostało ukończone. tail -f /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Adsy2010