Debian 12 : Mises à Jour Automatiques (unattended-upgrades)

Catégorie: Linux / Debian / Sécurité | Niveau: Intermédiaire

Introduction

Garder un serveur à jour est crucial pour la sécurité. Le paquet unattended-upgrades sous Debian permet d'automatiser l'installation des mises à jour, en particulier celles de sécurité, sans intervention manuelle.

Ce tutoriel vous guide pour installer, configurer et vérifier son bon fonctionnement sur Debian 12.

Source originale des commandes : Linuxtricks.fr (adapté)

1. Installation du Paquet

Commencez par mettre à jour la liste des paquets et installez unattended-upgrades :


sudo apt update
sudo apt install unattended-upgrades -y
        

2. Visualisation de la Configuration par Défaut

Le paquet est livré avec une configuration par défaut généralement bien adaptée. Vous pouvez la consulter :


cat /etc/apt/apt.conf.d/50unattended-upgrades
        

Analysez les différentes sections (Unattended-Upgrade::Allowed-Origins, etc.) pour comprendre ce qui sera mis à jour automatiquement (par défaut, principalement les mises à jour de sécurité).

Pour ce guide de base, nous n'allons pas modifier ce fichier.

3. Activation des Mises à Jour Automatiques

Pour activer le processus, nous allons copier un fichier de configuration d'exemple et l'ajuster si nécessaire (bien que l'exemple soit souvent suffisant).


# Copie du fichier de configuration d'activation
sudo cp /usr/share/unattended-upgrades/20auto-upgrades /etc/apt/apt.conf.d/

# Vérification/Édition du fichier (normalement pas nécessaire pour une config de base)
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
        

Assurez-vous que le contenu ressemble à ceci (les valeurs "1" activent les options) :


APT::Periodic::Update-Package-Lists "1";      // Met à jour la liste des paquets quotidiennement
APT::Periodic::Unattended-Upgrade "1";        // Lance l'installation des mises à jour automatiques quotidiennement
APT::Periodic::Download-Upgradeable-Packages "1"; // Télécharge les paquets en avance (optionnel)
APT::Periodic::AutocleanInterval "30";       // Nettoie le cache des paquets téléchargés tous les 30 jours
        

4. Tester la Configuration

Vous pouvez simuler une exécution pour voir quels paquets seraient mis à jour sans réellement les installer :


sudo unattended-upgrades --debug --dry-run
        

Analysez la sortie pour vérifier que le processus fonctionne comme attendu.

5. Consulter les Logs

Les actions effectuées par unattended-upgrades sont enregistrées dans des fichiers journaux. C'est utile pour vérifier ce qui a été mis à jour :


# Log détaillé des actions dpkg (installation/suppression)
sudo cat /var/log/unattended-upgrades/unattended-upgrades-dpkg.log

# Log général du processus unattended-upgrades
sudo cat /var/log/unattended-upgrades/unattended-upgrades.log
        

Consultez ces logs régulièrement, surtout au début, pour vous assurer que tout se passe bien.

6. Vérification et Ajustement de la Planification (Optionnel)

Le paquet configure des timers `systemd` pour exécuter les tâches périodiquement. Par défaut, la mise à jour (`apt-daily-upgrade.timer`) se lance tôt le matin (vers 6h) avec un délai aléatoire. La vérification/téléchargement (`apt-daily.timer`) se fait deux fois par jour.

Vous pouvez visualiser la configuration actuelle :


systemctl cat apt-daily-upgrade.timer
systemctl cat apt-daily.timer
        

Si vous souhaitez modifier l'heure d'exécution (par exemple, pour que les mises à jour se fassent la nuit), vous pouvez créer un fichier d'override. **Attention :** Ne modifiez la planification que si vous avez une bonne raison.

Exemple pour forcer l'upgrade vers 2h du matin (avec 30min de délai aléatoire) :


# Ouvre l'éditeur pour créer un fichier d'override
sudo systemctl edit apt-daily-upgrade.timer
        

Collez ceci dans l'éditeur, puis sauvegardez :


[Timer]
# Efface les anciennes configurations OnCalendar avant d'appliquer la nouvelle
OnCalendar=
# Nouvelle planification : tous les jours à 2h00
OnCalendar=*-*-* 2:00
RandomizedDelaySec=30m
Persistent=true
        

Appliquez les changements :


sudo systemctl daemon-reload # Recharge la configuration systemd
sudo systemctl restart apt-daily-upgrade.timer # Redémarre le timer
systemctl list-timers apt-daily-upgrade.timer # Vérifie la prochaine exécution
        

Vous pouvez faire de même pour `apt-daily.timer` si nécessaire.

Conclusion

Votre serveur Debian 12 est maintenant configuré pour appliquer automatiquement les mises à jour importantes, améliorant ainsi sa sécurité et sa stabilité sans effort constant de votre part. N'oubliez pas de consulter les logs de temps en temps.