Passer au contenu principal

Mise à jour automatique

La sécurité avant tout chez Debian
Par défaut sous Debian il n'y a pas de système de mise à jour automatique,

Installation des prérequis

Il faut installer le paquet s'occupant des mises à jour automatique

# Installation du paquet de gestion des MAJ Automatique
apt install unattended-upgrades apt-listchanges

Qu'est ce qui se passe à l'installation ?
En installant le paquet le fichier /etc/apt/apt.conf.d/50unattended-upgrades est généré

Configuration des mises à jours automatiques

Extrait du contenu du fichier /etc/apt/apt.conf.d/50unattended-upgrades

Les paramètres intéressants sont commenté en Français
Il est possible de remplacer le contenu du fichier par celui ci

Attention a la disponibilité du serveur !
Ce fichier fait redémarrer le serveur toutes les nuit à 2h du matin en cas de mise à jour du noyau !

Unattended-Upgrade::Origins-Pattern {
		// Met tous le système à jour
        "origin=Debian,codename=${distro_codename}-updates";
        "origin=Debian,codename=${distro_codename}-proposed-updates";
        "origin=Debian,codename=${distro_codename},label=Debian";
        "origin=Debian,codename=${distro_codename},label=Debian-Security";
        "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
        "origin=Debian Backports,codename=${distro_codename}-backports,label=Debian Backports";
        // Ajout des sources tiers
		"origin=Tailscale";
        "origin=cloudsmith/caddy/xcaddy";
};
        
// Nettoyage des anciens noyau Linux inutilisé
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// Nettoyage des dépendances nouveaux
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

// Nettoyage des dépendances inutilisés
Unattended-Upgrade::Remove-Unused-Dependencies "true";

// Redémarrage automatique
Unattended-Upgrade::Automatic-Reboot "true";

// Redémarre même si utilisateurs connecté
Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

// Redémarrage à 2h du matin
Unattended-Upgrade::Automatic-Reboot-Time "02:00";

Pour lancer les maj automatique il faut créer le fichier /etc/apt/apt.conf.d/20auto-upgrades

Contenu du fichier /etc/apt/apt.conf.d/20auto-upgrades

# les chiffres sont en jour
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
Configurer l'horaire des téléchargements des mises à jours

La conf par défaut
La configuration par défaut télécharge les mises à jours entre 6h et 18h

La preuve par l'exemple
L'exemple ci dessous fait télécharger les mises à jours entre 2h et 2h30 du matin

systemctl edit apt-daily-upgrade.timer
[Unit]
Description=Daily apt download activities

[Timer]
OnCalendar=*-*-* 2:00
RandomizedDelaySec=30m
Persistent=true

[Install]
WantedBy=timers.target

Appliquer les changements au timer de téléchargements des mises à jours

systemctl restart apt-daily-upgrade.timer
Configurer l'horaire d'installation des mises à jours

La conf par défaut
La configuration par défaut installe les mises à jours entre 6h et 7h

La preuve par l'exemple
L'exemple ci dessous fait installer les mises à jours entre 3h du matin et 4h

systemctl edit apt-daily-upgrade.timer
[Unit]
Description=Daily apt upgrade and clean activities
After=apt-daily.timer

[Timer]
OnCalendar=*-*-* 3:00
RandomizedDelaySec=60m
Persistent=true

[Install]
WantedBy=timers.target

Appliquer les changements au timer d'installation des mises à jours

systemctl restart apt-daily.timer
Vérifier le fonctionnement

Log mises à jour automatique

tail -f /var/log/unattended-upgrades/unattended-upgrades