Debian : Activer les mises à jour automatique avec unattended-upgrades
Table des matières
Avec Debian, il est possible d'automatiser les mises à jour. Cela se fait avec l'outil unattended-upgrades.
Dans cet article, nous allons voir sa mise en place.
Dans un premier temps, on met à jour les miroirs :
Puis, on installe l'outil :
Le fichier de configuration est /etc/apt/apt.conf.d/50unattended-upgrades :
Il y a plusieurs sections dans ce fichier :
Section Unattended-Upgrade::Origins-Pattern : Cela correspond aux sources de mise à jour. Par défaut seul Debian (dépôt de base) et Debian-Security sont actifs. Si on souhaite tout mettre à jour, on peut décommenter updates et proposed-updates
Section Unattended-Upgrade::Package-Blacklist : Elle permet de blacklister des paquets de la mise à jour automatique. Il y a des exemples, je vous traduis les commentaires en anglais :
On peut être alerté par mail (pour tout ou seulement en cas d'erreur), via les lignes suivantes à décommenter (doit avoir un serveur de mail fonctionnel) :
Je déconseille de décommenter cette ligne, mais si vous voulez faire du ménage dans les noyaux, libre à vous :
On peut aussi désinstaller les dépendances inutiles (les orphelins) via ces lignes à décommenter :
En cas de mise à jour du noyau, il faut redémarrer. Si votre serveur n'est pas dans un environnement critique, vous pouvez automatiser ce reboot (à étudier en fonction du contexte). Attention, le reboot se fait sans aucune conformation :
On peut limiter la bande passante lors du téléchargement avec la ligne ci-dessous (valeur en ko/s) :
On peut activer le log sur la mise à jour auto en décommentant et en passant à true :
Il y a d'autres petites options dans ce fichier évidemment...
Après la configuration, place à l'activation. Cela se passe dans /etc/apt/apt.conf.d/20auto-upgrades.
Copier le modèle :
Puis l'éditer :
Voici quelques valeurs possibles :
On peut tester l'outil via la commande suivante (mode debug pour bien tout voir, et en simulation) :
Tous les logs se trouvent dans /var/log/unattended-upgrades.
Introduction
Avec Debian, il est possible d'automatiser les mises à jour. Cela se fait avec l'outil unattended-upgrades.
Dans cet article, nous allons voir sa mise en place.
Installation
Dans un premier temps, on met à jour les miroirs :
Code BASH :
apt update
Puis, on installe l'outil :
Code BASH :
apt install unattended-upgrades
Configuration de l'outil
Le fichier de configuration est /etc/apt/apt.conf.d/50unattended-upgrades :
Code BASH :
vi /etc/apt/apt.conf.d/50unattended-upgrades
Il y a plusieurs sections dans ce fichier :
Section Unattended-Upgrade::Origins-Pattern : Cela correspond aux sources de mise à jour. Par défaut seul Debian (dépôt de base) et Debian-Security sont actifs. Si on souhaite tout mettre à jour, on peut décommenter updates et proposed-updates
Code TEXT :
// "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";
Section Unattended-Upgrade::Package-Blacklist : Elle permet de blacklister des paquets de la mise à jour automatique. Il y a des exemples, je vous traduis les commentaires en anglais :
Code TEXT :
// tous les paquets commençant par linux- // "linux-"; // Utiliser $ pour marquer explicitement la fin d'un paquet. Sans // the $, tous les paquets contenant "libc6" seront concernés. // "libc6$"; // "libc6-dev$"; // "libc6-i686$"; // Caractères spéciaux doivent être échappés // "libstdc\+\+6$"; // Expressions régulières de façon à ce que xen-system-amd64, xen-utils-4.1, // xenstore-utils et libxenstore3.0 soit exclus. // "(lib)?xen(store)?";
On peut être alerté par mail (pour tout ou seulement en cas d'erreur), via les lignes suivantes à décommenter (doit avoir un serveur de mail fonctionnel) :
Code BASH :
//Unattended-Upgrade::Mail ""; //Unattended-Upgrade::MailOnlyOnError "false";
Je déconseille de décommenter cette ligne, mais si vous voulez faire du ménage dans les noyaux, libre à vous :
Code BASH :
//Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
On peut aussi désinstaller les dépendances inutiles (les orphelins) via ces lignes à décommenter :
Code BASH :
//Unattended-Upgrade::Remove-New-Unused-Dependencies "true"; //Unattended-Upgrade::Remove-Unused-Dependencies "false";
En cas de mise à jour du noyau, il faut redémarrer. Si votre serveur n'est pas dans un environnement critique, vous pouvez automatiser ce reboot (à étudier en fonction du contexte). Attention, le reboot se fait sans aucune conformation :
Code BASH :
//Unattended-Upgrade::Automatic-Reboot "false"; //Unattended-Upgrade::Automatic-Reboot-Time "03:30";
On peut limiter la bande passante lors du téléchargement avec la ligne ci-dessous (valeur en ko/s) :
Code BASH :
//Acquire::http::Dl-Limit "70";
On peut activer le log sur la mise à jour auto en décommentant et en passant à true :
Code BASH :
Unattended-Upgrade::SyslogEnable "true"; // Unattended-Upgrade::SyslogFacility "daemon";
Il y a d'autres petites options dans ce fichier évidemment...
Activation de l'outil
Après la configuration, place à l'activation. Cela se passe dans /etc/apt/apt.conf.d/20auto-upgrades.
Copier le modèle :
Code BASH :
cp /usr/share/unattended-upgrades/20auto-upgrades /etc/apt/apt.conf.d/20auto-upgrades
Puis l'éditer :
Code BASH :
vi /etc/apt/apt.conf.d/20auto-upgrades
Voici quelques valeurs possibles :
Code BASH :
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "30";
Tester la mise à jour
On peut tester l'outil via la commande suivante (mode debug pour bien tout voir, et en simulation) :
Code BASH :
unattended-upgrades --debug --dry-run
Tous les logs se trouvent dans /var/log/unattended-upgrades.