Traduction(s) : English - Français


Unattended Upgrades

Le but du paquet unattended-upgrades est de garder l'ordinateur actualisé avec les dernières mises à jour de sécurité (et autres) automatiquement.

Si vous décidez de l'utiliser, vous devriez avoir des moyens de surveiller vos systèmes, comme en installant le paquet apt-listchanges et en le configurant pour qu'il vous envoie des emails à propos des mises à jour. Sinon, il y a toujours /var/log/dpkg.log ou les fichiers dans /var/log/unattended-upgrades/.

Depuis Debian 9 (Stretch) les deux paquets unattended-upgrades et apt-listchanges sont installés par défaut et les mises à jour actives avec le bureau GNOME. Une configuration rudimentaire est accessible depuis l'application "Software & Updates" (software-properties-gtk).

Dans Debian 12 (Bookworm), unattended-upgrades n'est plus installé par défaut avec Gnome. Les calendriers de téléchargement et de mise à niveau sont définis par Packagekit à l'aide de systemd timers lors de l'installation. Le comportement par défaut de Gnome pour les mises à jour détectées, est d'informer de leur disponibilité, mais pas de les installer.

Pour installer ces paquets, saisissez les commandes suivantes en tant que root:

# apt-get install unattended-upgrades apt-listchanges

Le fichier de configuration du paquet unattended-upgrades est /etc/apt/apt.conf.d/50unattended-upgrades. Toute personnalisation du fichier doit être placée dans /etc/apt/apt.conf.d/52unattended-upgrades-local (consulter le README du paquet pour les détails).

Cette section contrôle quels paquets sont mis à jour :

Unattended-Upgrade::Allowed-Origins {
    // ...
};

Vous devriez au moins « décommenter » la ligne suivante :

Unattended-Upgrade::Mail "root";

Appel automatique avec /etc/apt/apt.conf.d/20auto-upgrades

Pour activer unattended-upgrades, vous devez vous assurer que l'élément de configuration d'apt /etc/apt/apt.conf.d/20auto-upgrades contiennne au moins les lignes suivantes :

# editor /etc/apt/apt.conf.d/20auto-upgrades

Le fichier /etc/apt/apt.conf.d/20auto-upgrades peut être créé manuellement ou en lançant la commande suivante en tant que superutilisateur :

# dpkg-reconfigure -plow unattended-upgrades

Ou de manière non-interactive en saisissant :

echo unattended-upgrades unattended-upgrades/enable_auto_updates boolean true | debconf-set-selections
dpkg-reconfigure -f noninteractive unattended-upgrades

Appel automatique avec /etc/apt/apt.conf.d/02periodic

Alternativement, vous pouvez aussi créer le fichier de configuration d'apt /etc/apt/apt.conf.d/02periodic pour activer unattended-upgrades :

# editor /etc/apt/apt.conf.d/02periodic

Ci dessous un exemple de /etc/apt/apt.conf.d/02periodic :

// Paramètres de contrôle pour les tâches cron jobs avec /etc/cron.daily/apt-compat //


// Activer le script update/upgrade script (0=désactivation)
APT::Periodic::Enable "1";


// Exécuter "apt-get update" automatiquement tous les n jours every (0=désactivation)
APT::Periodic::Update-Package-Lists "1";


// Exécuter "apt-get upgrade --download-only" tous les n jours (0=désactivation)
APT::Periodic::Download-Upgradeable-Packages "1";


// Exécuter le script de mise à niveau de sécurité « unattended-upgrades » 
// tous les n jours (0=désactivé)
// Le paquet « unattended-upgrades » est nécessaire et écrira
// un journal dans /var/log/unattended-upgrades
APT::Periodic::Unattended-Upgrade "1";

// Exécuter "apt-get autoclean" tous les n jours (0=désactivation)
APT::Periodic::AutocleanInterval "21";


// Envoyer un rapport par courriel au superutilisateur
//     0:  aucun rapport             (ou l'octet NULL)
//     1:  rapport en cours          (en fait aucune chaîne)
//     2:  + sorties de commande     (remove -qq, remove 2>/dev/null, add -d)
//     3:  + trace visible
APT::Periodic::Verbose "2";

Exécution manuelle (pour débogage)

Pour faciliter le débogage, vous aurez besoin de lancer manuellement unattended-upgrades ainsi :

sudo unattended-upgrade -d

Voir aussi

apt-listchanges

Ci dessous un exemple de fichier de configuration pour apt-listchanges, /etc/apt/listchanges.conf :

# editor /etc/apt/listchanges.conf

Modifier les horaires de téléchargement et de mise à jour (dans systemd)

Comme Debian utilise le système  systemd , il possède des horloges définies pour l'usage d'APT ; ces fichiers sont fournis par le paquet apt.
Les fichiers concernés sont :

Les étapes canoniques pour créer et éditer ces écrasements pour ces paramètres sont pour les téléchargements

# sudo systemctl edit apt-daily.timer
# sudo systemctl restart apt-daily.timer
# sudo systemctl status apt-daily.timer (il est possible de vérifier la prochaine heure de déclenchement avec)

ou pour les mises à niveau

# sudo systemctl edit apt-daily-upgrade.timer
# sudo systemctl restart apt-daily-upgrade.timer
# sudo systemctl status apt-daily-upgrade.timer (il est possible de vérifier la prochaine heure de déclenchement avec)

Voici un exemple de comment outrepasser l' horaire de téléchargement à 1 h en ajoutant ce qui suit avec sudo systemctl edit apt-daily.timer :

   1 [Timer]
   2 OnCalendar=
   3 OnCalendar=01:00
   4 RandomizedDelaySec=0

La ligne n° 2 ci-dessus est nécessaire pour réinitialiser (à vide) la valeur par défaut montrée ci-dessous à la ligne n° 5.
La ligne n° 4 ci-dessus est nécessaire pour prévenir de tout délai aléatoire provenant de la configuration par défaut.

Les valeurs actuelles par défaut pour les téléchargements /lib/systemd/system/apt-daily.timer sont ( au moment de cette rédaction) :

   1 [Unit]
   2 Description=Daily apt download activities
   3 
   4 [Timer]
   5 OnCalendar=*-*-* 6,18:00
   6 RandomizedDelaySec=12h
   7 Persistent=true
   8 
   9 [Install]
  10 WantedBy=timers.target