Cette documentation explique comment installer, configurer et administrer unattended-upgrades sous Debian (Trixie) pour automatiser les mises à jour de sécurité et de dépôts tiers (Docker, Tailscale, Zabbix).
Installez le paquet principal ainsi que le gestionnaire de notifications locales :
sudo apt update && sudo apt install unattended-upgrades bsd-mailx
Activez le déclenchement automatique via l’interface système :
sudo dpkg-reconfigure -plow unattended-upgrades
Choisissez Oui (Yes) à l’invite pour activer la tâche planifiée.
Pour autoriser des dépôts tiers (hors Debian Security), il faut impérativement extraire leurs paramètres exacts (o=, a=, c=) à l’aide de la commande suivante :
apt-cache policy
release o=Docker,a=trixie,l=Docker CE,c=stable
→ S’écrira : origin=Docker,archive=trixie,component=stable
release o=Tailscale,n=trixie,l=Tailscale,c=main
→ S’écrira : origin=Tailscale,codename=trixie
o=Zabbix et o=zabbix) → Nécessite deux entrées distinctes.Modifiez le fichier de configuration : etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"origin=Debian,archive=stable-updates";
"origin=Tailscale,codename=${distro_codename}";
"origin=Docker,archive=${distro_codename},component=stable";
"origin=Zabbix,codename=${distro_codename},component=main";
"origin=zabbix,codename=${distro_codename},component=main";
};
NB : Respectez strictement la syntaxe clé=valeur séparée par des virgules. Une mauvaise syntaxe lèvera une erreur Python ValueError: not enough values to unpack.
// Nettoyage des dépendances inutiles (équivalent apt autoremove) Unattended-Upgrade::Remove-Unused-Dependencies "true"; // Gestion du redémarrage automatique en cas de mise à jour de Kernel Unattended-Upgrade::Automatic-Reboot "true"; Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Le script est piloté par Systemd et s’exécute généralement deux fois par jour (le matin pour les installations, le soir pour le nettoyage) avec un délai aléatoire pour préserver les dépôts.
Pour connaître l’heure exacte du prochain passage sur la machine :
systemctl list-timers apt-daily.timer apt-daily-upgrade.timer
Vérifiez également que le fichier etc/apt/apt.conf.d/20auto-upgrades contient l’activation des tâches périodiques :
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::AutocleanInterval "7";
Pour tester la configuration et simuler une mise à jour sans affecter le système, utilisez le mode dry-run avec le verbeux de debug :
sudo unattended-upgrades --dry-run -d
Checking: tailscale [...] pkgs that look like they should be upgraded: tailscale
Marking not allowed [...] with -32768 pin
| Pratique | Description |
|---|---|
| Dépôts tiers | N’ajoutez que des dépôts de confiance (Docker, Tailscale). Évitez les dépôts PPA ou de test instables. |
| Reboot planifié | Activez l‘Automatic-Reboot la nuit si le serveur n’a pas de contrainte de haute disponibilité stricte (indispensable pour appliquer les correctifs de Kernel). |
| Service de Mail | L’installation de bsd-mailx installe par défaut exim4. Si vous n’utilisez pas de relais SMTP extérieur, désactivez le service ou commentez la ligne Unattended-Upgrade::Mail pour éviter les processus inutiles en tâche de fond. |
| Surveillance | Consultez régulièrement le fichier de log principal en cas de doute : /var/log/unattended-upgrades/unattended-upgrades.log. |