Red Hat 8, Alma Linux 8 : Mettre à jour son serveur automatiquement dnf-automatic ou yum-cron
Table des matières
Il peut être utile, d'appliquer sur son système les mises à jour de sécurité de manière automatique.
Il existe plusieurs solutions. Nous allons voir ici le mécanisme disponible directement avec le gestionnaire de paquets.
Les procédures diffèrent entre les bases Red Hat 7 et Red Hat 8.
Nous allons détailler les 2 solutions.
Sous Red Hat 8 et dérivées, le gestionnaire de paquets est dnf.
On va installer dnf-automatic qui permet d'appliquer les mises à jour de manière automatique :
Une fois installé, il est configurable via le fichier /etc/dnf/automatic.conf :
Suivant votre politique de mises à jour, on peut jouer sur la valeur de upgrade_type :
Vérifier que :
On peut afficher les mises à jour installées suivant :
Il est possible d'envoyer des emails lorsque des mises à jour ont été appliquées.
dnf-automatic repose sur un timer systemd, on active donc ce timer pour mettre en service dnf-autmatic :
Si on le souhaite, on peut avoir des infos sur les timers avec :
Pour tester manuellement :
On peut voir les MàJ depuis le fichier de log /var/log/dnf.log :
A noter que la mise en place de dnf-automatic peut se faire après installation du paquet dnf-automatic depuis Cockpit via l'onglet Softwares Updates
Si vous souhaitez modifier la planification il suffit de modifier le timer !
Par défaut il se lance entre 6h et 7h (car il y a l'option RandomizedDelaySec à 60minutes...)
Pour cela, surcharger la config du timer en indiquant l'heure souhaitée et RandomizedDelaySec à 0 :
Vérifier la bonne prise en compte de votre planification :
Sous Red Hat 7 et dérivées, le gestionnaire de paquets est yum.
On va installer yum-cron qui permet d'appliquer les mises à jour de manière automatique :
Une fois installé, il est configurable via le fichier /etc/yum/yum-cron.conf :
Suivant votre politique de mises à jour, on peut jouer sur la valeur de update_cmd :
Vérifier que :
On peut afficher les mises à jour installées suivant :
Il est possible d'envoyer des emails lorsque des mises à jour ont été appliquées.
yum-cron repose sur un service systemd, on active donc ce service pour mettre en service yum-cron :
On peut vérifier que tout est OK via :
On peut voir les MàJ depuis le fichier de log :
Introduction
Il peut être utile, d'appliquer sur son système les mises à jour de sécurité de manière automatique.
Il existe plusieurs solutions. Nous allons voir ici le mécanisme disponible directement avec le gestionnaire de paquets.
Les procédures diffèrent entre les bases Red Hat 7 et Red Hat 8.
Nous allons détailler les 2 solutions.
Red Hat 8, Alma Linux 8 : Mise à jour automatique avec dnf-automatic
Sous Red Hat 8 et dérivées, le gestionnaire de paquets est dnf.
On va installer dnf-automatic qui permet d'appliquer les mises à jour de manière automatique :
Code BASH :
dnf install dnf-automatic
Une fois installé, il est configurable via le fichier /etc/dnf/automatic.conf :
Code BASH :
vi /etc/dnf/automatic.conf
Suivant votre politique de mises à jour, on peut jouer sur la valeur de upgrade_type :
Code BASH :
upgrade_type = default # Met tous les paquets à jour upgrade_type = security # Met que les mises à jour de sécurité
Vérifier que :
Code BASH :
apply_updates = yes download_updates = yes
On peut afficher les mises à jour installées suivant :
Code BASH :
emit_via = none # Désactive l'info des paquets installés emit_via = stdio # Envoie sur la sortie (pratique pour logger dans les journaux) emit_via = motd # Envoie l'info sur l'écran de connexion
Il est possible d'envoyer des emails lorsque des mises à jour ont été appliquées.
dnf-automatic repose sur un timer systemd, on active donc ce timer pour mettre en service dnf-autmatic :
Code BASH :
systemctl enable --now dnf-automatic.timer
Si on le souhaite, on peut avoir des infos sur les timers avec :
Code BASH :
systemctl list-timers dnf-*
Pour tester manuellement :
Code BASH :
/usr/bin/dnf-automatic /etc/dnf/automatic.conf --timer
On peut voir les MàJ depuis le fichier de log /var/log/dnf.log :
Code BASH :
less /var/log/dnf.log
A noter que la mise en place de dnf-automatic peut se faire après installation du paquet dnf-automatic depuis Cockpit via l'onglet Softwares Updates
Si vous souhaitez modifier la planification il suffit de modifier le timer !
Par défaut il se lance entre 6h et 7h (car il y a l'option RandomizedDelaySec à 60minutes...)
Pour cela, surcharger la config du timer en indiquant l'heure souhaitée et RandomizedDelaySec à 0 :
Code BASH :
[Unit] Description=dnf-automatic timer # See comment in dnf-makecache.service ConditionPathExists=!/run/ostree-booted Wants=network-online.target [Timer] OnCalendar=*-*-* 4:00 RandomizedDelaySec=0 Persistent=true [Install] WantedBy=timers.target
Vérifier la bonne prise en compte de votre planification :
Code BASH :
systemctl list-timers dnf-auto*
Code :
NEXT LEFT LAST PASSED UNIT ACTIVATES
Sat 2022-03-05 04:00:00 CET 11h left n/a n/a dnf-automatic.timer dnf-automatic.service
1 timers listed.
Pass --all to see loaded but inactive timers, too.
Red Hat 7, CentOS 7 : Mise à jour automatique avec yum-cron
Sous Red Hat 7 et dérivées, le gestionnaire de paquets est yum.
On va installer yum-cron qui permet d'appliquer les mises à jour de manière automatique :
Code BASH :
yum install yum-cron
Une fois installé, il est configurable via le fichier /etc/yum/yum-cron.conf :
Code BASH :
vi /etc/yum/yum-cron.conf
Suivant votre politique de mises à jour, on peut jouer sur la valeur de update_cmd :
Code BASH :
update_cmd = default # Met tous les paquets à jour update_cmd = security # Met que les mises à jour de sécurité
Vérifier que :
Code BASH :
apply_updates = yes download_updates = yes
On peut afficher les mises à jour installées suivant :
Code BASH :
emit_via = none # Désactive l'info des paquets installés emit_via = stdio # Envoie sur la sortie (pratique pour logger dans les journaux)
Il est possible d'envoyer des emails lorsque des mises à jour ont été appliquées.
yum-cron repose sur un service systemd, on active donc ce service pour mettre en service yum-cron :
Code BASH :
systemctl enable --now yum-cron
On peut vérifier que tout est OK via :
Code BASH :
systemctl status yum-cron
On peut voir les MàJ depuis le fichier de log :
Code BASH :
tail -f /var/log/yum.log