Je viens de rencontrer une réponse qui m'a amené à me demander comment le système de mise à niveau sans assistance fonctionne. Il semble y avoir au moins deux systèmes sur mon ordinateur:
unattended-upgrades
avec /etc/apt/apt.conf.d/50unattended-upgrades
, appelé depuis /etc/cron.daily/apt
, et
Les paramètres du gestionnaire de mise à jour de l'interface graphique (software-properties-kde
et al). Je ne sais pas comment ce deuxième système planifie ou s'exécute, mais j'ai observé que la modification des paramètres dans l'interface graphique pas met à jour les paramètres dans /etc/apt/apt.conf.d/50unattended-upgrades
.
Cela m'amène à croire qu'il s'agit en fait de deux systèmes concurrents. S'ils sont corrects, fonctionnent-ils tous les deux selon leur propre horaire ou l'un court-circuite-t-il l'autre? Et comment le paramètre de mise à jour sans assistance des propriétés du logiciel GUI est-il actionné?
CRON
Extrait de /etc/cron.daily/apt
:
# This file understands the following apt configuration variables:
# Values here are the default.
...
# APT::Periodic::Unattended-Upgrade "0";
# - Run the "unattended-upgrade" security upgrade script
# every n-days (0=disabled)
# Requires the package "unattended-upgrades" and will write
# a log in /var/log/unattended-upgrades
...
UnattendedUpgradeInterval=0
eval $(apt-config Shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade)
...
# auto upgrade all upgradeable packages
UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp
if which unattended-upgrade >/dev/null && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
if unattended-upgrade $XUUPOPT; then
update_stamp $UPGRADE_STAMP
debug_echo "unattended-upgrade (success)"
else
debug_echo "unattended-upgrade (error)"
fi
else
debug_echo "unattended-upgrade (not run)"
fi
Description du package unattended-upgrades
:
Ce package peut télécharger et installer des mises à niveau de sécurité automatiquement et sans surveillance, en prenant soin d'installer uniquement les packages à partir de la source configurée APT, et en vérifiant les invites de dpkg concernant les modifications du fichier de configuration.
Ce script est le backend de l'option APT :: Periodic :: Unattended-Upgrade.
La tâche APT cron s'exécute unattended-upgrade
, qui est le programme qui télécharge et installe les mises à niveau, mais uniquement si la variable APT APT::Periodic::Unattended-Upgrade
n'est pas 0
.
Propriétés du logiciel
Paramètres des options Vérifier automatiquement les mises à jour et Lorsqu'il y a les mises à jour de sécurité sont enregistrées dans le fichier /etc/apt/apt.conf.d/10periodic
.
Rechercher automatiquement les mises à jour correspond à APT variable APT::Periodic::Update-Package-Lists
.
Lorsqu'il y a des mises à jour de sécurité correspond aux variables APT::Periodic::Download-Upgradeable-Packages
et APT::Periodic::Unattended-Upgrade
.
Sélectionner ( Télécharger et installer automatiquement (les mises à jour de sécurité) définira APT::Periodic::Unattended-Upgrade
à 1. C'est ce qui indique à la tâche APT cron d'exécuter unattended-upgrade
, qui effectue tout le travail d'installation du package.
La fenêtre Propriétés du logiciel contrôle uniquement la planification de ces trois tâches périodiques d'APT: recherchez les mises à jour, téléchargez les packages pouvant être mis à niveau et exécutez unattended-upgrade
. Il ne fait rien, tout le travail est fait par /etc/cron.daily/apt
et unattended-upgrade
.
unattended-upgrade
Le programme qui effectue réellement la tâche de mise à niveau. Le fichier /etc/apt/apt.conf.d/50unattended-upgrades
contient les paramètres qui affectent le comportement de unattended-upgrade
. Il n'est lu par aucun autre programme. Si vous souhaitez personnaliser la façon dont les mises à niveau sont installées, vous devez modifier manuellement ce fichier.
Il n'y a qu'un seul système de mise à niveau sans assistance (unattended-upgrade
) appelé par la tâche cron APT cron (/etc/cron.daily/apt
) uniquement si nous l'activons via la fenêtre Propriétés du logiciel (ou en modifiant manuellement /etc/apt/apt.conf.d/10periodic
).