Utiliser Fedora et CentOS

CentOS : Mettre à jour son serveur automatiquement avec dnf-automatic ou yum-cron

Table des matières

system_upgrade



Introduction



Il peut être utile, d'appliquer sur CentOS 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 CentOS 7 et CentOS 8.
Nous allons détailler les 2 solutions.

CentOS 8 : Mise à jour automatique avec dnf-automatic



Sous CentOS 8, 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 :

Code BASH :
tail -f /var/log/dnf.rpm.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


CentOS 7 : Mise à jour automatique avec yum-cron



Sous CentOS 7, 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
Cette page a été vue 85 fois