unattended-upgrades (Debian Ubuntu) est un outil qui permet de mettre à jour nos systèmes à base de Linux Debian (Ubuntu, Raspbian), pour effectuer automatiquement à intervalles réguliers l’équivalent d’un apt update && apt upgrade
.
Il est souvent installé de pair avec apt-listchanges (sur Ubuntu par ex) qui permet de nous transmettre un mail lors de chaque MAJ de nos systèmes.
Installation et configuration
Installation
unattended-upgrades est installé par défaut dans les distrib Ubuntu mais pas dans les Raspbian:
sudo apt install unattended-upgrades
Configuration
unattended-upgrades dispose de 2 fichiers de configuration sont:
sudo vi /etc/apt/apt.conf.d/50unattended-upgrades # configuration APT sudo vi /etc/apt/apt.conf.d/20auto-upgrades # paramétrage de unattended-upgrades # Ajouter APT::Periodic::RandomSleep "600"
Il est possible de générer le fichier 20auto-upgrades en utilisant la commande suivante :
sudo dpkg-reconfigure --priority=low unattended-upgrades
Run
Vérifier ce qui sera installé avec cette configuration avec (-d –dry-run) puis sans ces arguments si tout est OK:
sudo unattended-upgrade -v -d --dry-run
Les logs d’exécutions se trouvent dans:
/var/log/unattended-upgrades/unattended-upgrades-dpkg.log /var/log/unattended-upgrades/unattended-upgrades.log # si lancé en mode Debug avec -d /var/log/dpkg.log # log par défaut d'APT
Exemples de configuration
lister sa configuration
Il faut utiliser la commande apt-config
pour être sure de lister la config effective:
sudo apt-config dump|grep Periodic
fichier 50unattended-upgrades
voici un exemple de fichier /etc/apt/apt.conf.d/50unattended-upgrades
pour un Raspberry Pi (noter l’option o=Raspbian
) et pour lequel on souhaite éviter les mises à jour automatiques de Nginx (Package-Blacklist
):
Unattended-Upgrade::Origins-Pattern { "o=Raspbian,a=stable"; "o=Raspbian,a=stable-updates"; "o=Raspbian,a=proposed-updates"; "o=Raspbian,n=${distro_codename}"; "o=Raspbian,n=${distro_codename}-updates"; "o=Raspbian,n=${distro_codename}-proposed-updates"; "o=Raspbian,n=${distro_codename},l=Debian-Security"; }; Unattended-Upgrade::Package-Blacklist { "nginx"; }; Unattended-Upgrade::Automatic-Reboot "true"
fichier 20auto-upgrades
voici un exemple de configuration d’unattended-upgrades fichier /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::AutocleanInterval "7"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::RandomSleep "600"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Update-Package-Lists "1";