Traduction(s) : English - Français
Contents
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).
# editor /etc/apt/apt.conf.d/52unattended-upgrades-local
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
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
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
/usr/share/doc/unattended-upgrades/README.md.gz
/usr/share/doc/apt/examples/configure-index
/etc/cron.daily/apt
needrestart* paquets, pour identifier les processus d'exécution supplémentaires qui doivent être redémarrés pour appliquer des mises à jour (de sécurité, précédement installées) sans réamorcer
apt-listchanges
Ci dessous un exemple de fichier de configuration pour apt-listchanges, /etc/apt/listchanges.conf :
# editor /etc/apt/listchanges.conf
[apt] frontend=pager email_address=root confirm=0 save_seen=/var/lib/apt/listchanges.db which=both
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 :
Utilisé pour les téléchargements: /lib/systemd/system/apt-daily.timer
est écrasé par /etc/systemd/system/apt-daily.timer.d/override.conf
Utilisé pour les mises à jour: /lib/systemd/system/apt-daily-upgrade.timer
est écrasé par /etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
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 :
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) :