GNU/Linux >> Tutoriels Linux >  >> Cent OS

Configurer les mises à jour automatiques avec yum-cron sur CentOS 7

La mise à jour régulière de votre système CentOS est l'un des aspects les plus importants de la sécurité globale du système. Si vous ne mettez pas à jour les packages de votre système d'exploitation avec les derniers correctifs de sécurité, vous laissez votre machine vulnérable aux attaques.

Si vous gérez plusieurs machines CentOS, la mise à jour manuelle des packages système peut prendre du temps. Même si vous gérez une seule installation CentOS, vous pouvez parfois oublier une mise à jour importante. C'est là que les mises à jour automatiques sont utiles.

Dans ce didacticiel, nous allons passer en revue le processus de configuration des mises à jour automatiques sur CentOS 7. Les mêmes instructions s'appliquent à CentOS 6.

Prérequis #

Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur disposant des privilèges sudo.

Installation du paquet yum-cron #

Le yum-cron Le package vous permet d'exécuter automatiquement la commande yum en tant que tâche cron pour vérifier, télécharger et appliquer les mises à jour. Il y a de fortes chances que ce package soit déjà installé sur votre système CentOS. S'il n'est pas installé, vous pouvez installer le package en exécutant la commande suivante :

sudo yum install yum-cron

Une fois l'installation terminée, activez et démarrez le service :

sudo systemctl enable yum-cronsudo systemctl start yum-cron

Pour vérifier que le service est en cours d'exécution, tapez la commande suivante :

systemctl status yum-cron

Des informations sur l'état du service yum-cron seront affichées à l'écran :

● yum-cron.service - Run automatic yum updates as a cron job
   Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago
  Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
 Main PID: 2713 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/yum-cron.service

Configuration de yum-cron #

yum-cron est livré avec deux fichiers de configuration qui sont stockés dans le /etc/yum répertoire, le fichier de configuration horaire yum-cron-hourly.conf et le fichier de configuration quotidien yum-cron.conf .

Le yum-cron service contrôle uniquement si les tâches cron seront exécutées ou non. Le yum-cron l'utilitaire est appelé par le /etc/cron.hourly/0yum-hourly.cron et /etc/cron.daily/0yum-daily.cron fichiers cron.

Par défaut, le cron horaire est configuré pour ne rien faire. Si des mises à jour sont disponibles, le cron quotidien est configuré pour télécharger mais pas installer les mises à jour disponibles et envoyer des messages à stdout. La configuration par défaut est suffisante pour les systèmes de production critiques où vous souhaitez recevoir des notifications et effectuer la mise à jour manuellement après avoir testé les mises à jour sur des serveurs de test.

Le fichier de configuration est structuré en sections et chaque section contient des commentaires qui décrivent ce que fait chaque ligne de configuration.

Pour modifier le fichier de configuration yum-cron, ouvrez le fichier dans votre éditeur de texte :

sudo nano /etc/yum/yum-cron-hourly.conf

Dans la première section, [commands] vous pouvez définir les types de packages que vous souhaitez mettre à jour, activer les messages et les téléchargements et configurer pour appliquer automatiquement les mises à jour lorsqu'elles sont disponibles. Par défaut, le update_cmd est défini par défaut, ce qui mettra à jour tous les packages. Si vous souhaitez définir des mises à jour automatiques sans surveillance, il est recommandé de modifier la valeur en security qui indiquera à yum de mettre à jour les packages qui ne résolvent qu'un problème de sécurité.

Dans l'exemple suivant, nous avons modifié le update_cmd à la security et activé les mises à jour sans surveillance en définissant apply_updates à yes :

/etc/yum/yum-cron-hourly.conf
[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360

La deuxième section définit comment envoyer des messages. Pour envoyer des messages à la fois à la sortie standard et à l'e-mail, modifiez la valeur de emit_via à stdio,email .

/etc/yum/yum-cron-hourly.conf
[emitters]
system_name = None
emit_via = stdio,email
output_width = 80

Dans le [email] section vous pouvez définir l'adresse e-mail de l'expéditeur et du destinataire. Assurez-vous que vous disposez d'un outil capable d'envoyer des e-mails installé sur votre système, tel que mailx ou postfix.

/etc/yum/yum-cron-hourly.conf
[email]
email_from = [email protected]
email_to = [email protected]
email_host = localhost

Le [base] La section vous permet de remplacer les paramètres définis dans le yum.conf dossier. Si vous souhaitez exclure des packages spécifiques de la mise à jour, vous pouvez utiliser le exclude paramètre. Dans l'exemple suivant, nous excluons le [mongodb ] paquet.

/etc/yum/yum-cron-hourly.conf
[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*

Vous n'avez pas besoin de redémarrer le yum-cron service pour que les modifications prennent effet.

Affichage des journaux #

Utilisez grep pour vérifier si les tâches cron associées à yum sont exécutées :

sudo grep yum /var/log/cron
May  4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
May  4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
May  4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron

L'historique des mises à jour yum est enregistré dans le /var/log/yum dossier. Vous pouvez afficher les dernières mises à jour à l'aide de la commande tail :

sudo tail -f  /var/log/yum.log
May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64

Cent OS
  1. Configurer DNS sur CentOS 5 / RHEL 5 avec chroot

  2. Configurer Kibana 4 avec Nginx | Sécurisation de Kibana 4 – CentOS 7

  3. Comment installer les mises à jour de sécurité sur CentOS 8 (manuel + automatique)

  4. Configurer le pare-feu avec FirewallD sur CentOS 7

  5. Comment configurer les mises à jour automatiques des packages sur le serveur dans CentOS/RHEL 8

Comment installer et configurer OpenLiteSpeed ​​avec PHP 7 sur CentOS 7

Comment configurer les mises à jour de sécurité automatiques sur CentOS 7

Installer et configurer Drupal 8 avec Nginx et Lets Encrypt sur CentOS 8

Installation et configuration de PhpMyAdmin avec Nginx sur CentOS 7

Configurer OpenLDAP avec SSL sur CentOS 7 / RHEL 7

Comment configurer les mises à jour de sécurité automatiques sur CentOS