web-dev-qa-db-fra.com

Statut des mises à niveau sans surveillance?

Est-ce que quelqu'un sait s'il est possible de déterminer le statut d'une mise à niveau sans surveillance? Est-il possible de savoir quels paquets sont en cours d'installation ou où nous en sommes?

J'apprécie les avantages des mises à niveau sans surveillance, mais elles peuvent être très gênantes lorsque votre système est en panne depuis quelques mois et que vous souhaitez installer une application ou lorsqu'ils mangent des ressources de processeur sur des machines qui ne disposent pas de beaucoup pour commencer.

Je ne cherche pas simplement à tuer les mises à niveau sans surveillance. Je sais comment faire ca. Je veux qu'ils courent. Je veux juste savoir comment je peux savoir ce qui se passe réellement et dans quelle phase ils se trouvent.

14
b_laoshi

Sur les systèmes 16.04 et plus récents, les mises à niveau sans assistance sont exécutées quotidiennement à un moment donné.

Comment savoir quand les mises à jour sans surveillance seront exécutées aujourd'hui:

L'heure aléatoire est définie par un travail cron (/etc/cron.daily/apt.compat), et vous pouvez lire l'heure aléatoire d'aujourd'hui en demandant à 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

Dans ce cas, vous pouvez voir que vous avez couru il y a 1 heure et 9 minutes.

Comment savoir si des mises à jour sans assistance sont toujours en cours d'exécution:

Un moyen simple consiste à vérifier les fichiers d’horodatage des différents composants 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

Vous pouvez voir ici que u-u est juste un autre composant apt. apt place l'horodatage ici quelle que soit la manière dont apt a été démarré.

En rassemblant les données, vous pouvez voir que le chronomètre a commencé à 11h22. Il a exécuté une mise à jour complétée à 11h23, puis une mise à niveau terminée à 11h24. Enfin, vous pouvez voir qu’apt a considéré la mise à niveau comme un succès (aucune erreur ou autre échec).

De toute évidence, si vous voyez un timer récent sans horodatage de fin correspondant, vous pouvez vérifier pspour voir si apt est toujours en cours d'exécution.

Comment savoir quelle étape apt est en cours d’exécution:

Un moyen simple consiste à vérifier le fichier journal u-u.

$ 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

Ici, vous pouvez voir le processus quotidien normal, y compris les lignes "démarré" et "complété", ainsi que la liste des packages sur le point d'être mis à niveau.

Si la liste des paquets n'est pas encore connectée, alors apt peut être interrompu en toute sécurité. Une fois que la liste des paquets est enregistrée, NE PAS interrompre apt.

Étant donné que votre environnement est limité en ressources, sachez qu’apt peut être configuré de différentes manières pour fonctionner de manière fiable et discrète avec différents temps d’exécution, niveaux Nice, limites de bande passante et de nombreux autres paramètres utiles.

20
user535733