====== Automatiser les mises à jour du système ====== * **Ressources** : * [[https://haydenjames.io/how-to-enable-unattended-upgrades-on-ubuntu-debian/|How to Enable Unattended Upgrades on Ubuntu/Debian]] * [[https://phil.writesthisblog.com/debian-maj-automatique/|Debian : Mises à Jour Automatiques]] * Installer les paquets nécessaires : '' apt install unattended-upgrades apt-listchanges '' * //unattended-upgrade// : permet d'automatiser les mises à jour et d'envoyer des emails de notification. * //apt-listchanges// : envoie des emails contenant les modifications apportées par les nouveaux paquets installés. * Fichiers de log contenant les infos sur les mises à jour des paquets du système : * ''/var/log/dpkg.log'' * ''/var/log/unattended-upgrades/'' * Fichiers concernant ''apt-listchanges'' : * ''/etc/apt/listchanges.conf'' : contient la configuration dont l'adresse email vers laquelle envoyé le rapport. * ATTENTION: Changer l'adresse pour ''adminsys@''. Ce script ne semble pas utiliser le fichier ''/etc/aliases''. * ''/etc/apt/apt.conf.d/20listchanges'' : déclenche automatiquement le script lors des mises à jour. * Activer //unattended-upgrade// en remplaçant le contenu du fichier suivant : '' vi /etc/apt/apt.conf.d/20auto-upgrades '' * Y placer le contenu suivant : // Enable the update/upgrade script (0=disable) APT::Periodic::Enable "1"; // Do "apt-get update" automatically every n-days (0=disable) APT::Periodic::Update-Package-Lists "1"; // Do "apt-get upgrade --download-only" every n-days (0=disable) APT::Periodic::Download-Upgradeable-Packages "7"; // Run the "unattended-upgrade" security upgrade script every n-days (0=disabled) // Requires the package "unattended-upgrades" and will write a log in /var/log/unattended-upgrades APT::Periodic::Unattended-Upgrade "1"; // Do "apt-get autoclean" every n-days (0=disable) APT::Periodic::AutocleanInterval "7"; // - Send report mail to root // 0: no report (or null string) // 1: progress report (actually any string) // 2: + command outputs (remove -qq, remove 2>/dev/null, add -d) // 3: + trace on APT::Periodic::Verbose "1"; // sleep for a random interval of time (default 30min) APT::Periodic::RandomSleep "1800"; * Configurer //unattended-upgrade// en éditant le fichier : '' vi /etc/apt/apt.conf.d/50unattended-upgrades '' * Modifier le contenu suivant : # Paquets mis à jour Unattended-Upgrade::Origins-Pattern { "origin=Debian,codename=${distro_codename}-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"; }; # Ne pas mettre à jour les paquets : Grub Unattended-Upgrade::Package-Blacklist { "grub*"; }; # Envoyer les emails à l'admin système en indiquant son email (ce script ne semble pas utiliser le fichier /etc/aliases) Unattended-Upgrade::Mail "adminsys@"; # Interdire le reboot auto Unattended-Upgrade::Automatic-Reboot "false"; # Ne pas prendre en charge la gestion de l'énergie Unattended-Upgrade::OnlyOnACPower "false"; * Tester le script de mise à jour auto : '' unattended-upgrades --dry-run --debug '' * Déboguer : '' cat /var/log/unattended-upgrades/unattended-upgrades.log | more''