Statut des mises à niveau sans assistance?


17

Quelqu'un sait-il s'il est possible de déterminer l'état d'une mise à niveau sans assistance? Est-il possible de savoir quels packages sont installés ou où nous en sommes dans le processus?

J'apprécie les avantages des mises à niveau sans assistance, mais elles peuvent être très gênantes lorsque vous avez un système qui est éteint depuis quelques mois, et que vous souhaitez installer une application ou lorsqu'ils mangent des ressources CPU sur des machines qui n'ont pas beaucoup pour commencer.

Je ne cherche pas simplement à tuer les mises à niveau sans assistance. 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.


Courez pgrep -fl apt, je suppose.
muru

Réponses:


22

Sur les systèmes 16.04 et plus récents, les mises à niveau sans assistance s'exécutent quotidiennement à une heure aléatoire.

Comment savoir quand les mises à niveau sans assistance 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 uu a fonctionné il y a 1 heure et 9 minutes.

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

Une façon simple consiste à vérifier les fichiers d'horodatage pour les 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 uu est juste un autre composant apt. apt place l'horodatage ici quelle que soit la façon dont l'apt a été démarré.

En rassemblant les données, vous pouvez voir que le minuteur a commencé apt (uu) à 11:22. Il a exécuté une mise à jour qui s'est terminée à 11:23, puis une mise à niveau qui s'est terminée à 11:24. Enfin, vous pouvez voir qu'apt a considéré la mise à niveau comme un succès (pas d'erreur ou autre échec).

De toute évidence, si vous voyez un minuteur récent sans horodatage d'achèvement correspondant, vous voudrez peut-être vérifier pssi apt fonctionne toujours.

Comment savoir quelle étape apt est en cours d'exécution en ce moment :

Un moyen simple consiste à vérifier le fichier journal 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

Ici, vous pouvez voir le processus quotidien normal, y compris les lignes «démarrées» et «terminées», et la liste des packages qui étaient sur le point d'être mis à niveau.

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

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


4
Cette commande s'affiche comme si votre terminal fonctionnait s'il n'était pas terminé. tail -f /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Adsy2010
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.