Linux auto update/upgrade
unattended-upgrades (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";