serveurs:installation:mise-a-jour-auto

Automatiser les mises à jour du système

  • Ressources :
  • 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@<domaine-sinp>. 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@<sinp-domaine>";
       
      # 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
  • serveurs/installation/mise-a-jour-auto.txt
  • Dernière modification : 2023/06/23 08:34
  • de jpmilcent