Bienvenido/a
0412 523 4622 - 0273 514 7775

Configure las actualizaciones automáticas con yum-cron en CentOS 7

La actualización periódica de su sistema CentOS es uno de los aspectos más importantes de la seguridad general del sistema. Si no actualiza los paquetes de su sistema operativo con los últimos parches de seguridad, está dejando su máquina vulnerable a los ataques.

Si administra varias máquinas CentOS, la actualización manual de los paquetes del sistema puede llevar mucho tiempo. Incluso si administra una sola instalación de CentOS, a veces puede pasar por alto una actualización importante. Aquí es donde las actualizaciones automáticas son útiles.

En este tutorial, pasaremos por el proceso de configuración de actualizaciones automáticas en CentOS 7. Las mismas instrucciones se aplican a CentOS 6.

Antes de continuar con este tutorial, asegúrese de iniciar sesión como usuario con privilegios sudo .

El paquete yum-cron le permite ejecutar automáticamente el comando yum como un trabajo cron para buscar, descargar y aplicar actualizaciones. Lo más probable es que este paquete ya esté instalado en su sistema CentOS. Si no está instalado, puede instalar el paquete ejecutando el siguiente comando:

 

sudo yum install yum-cron

 

Una vez que se complete la instalación, habilite e inicie el servicio:

sudo systemctl enable yum-cronsudo systemctl start yum-cron

 

Para verificar que el servicio se está ejecutando, escriba el siguiente comando:

systemctl status yum-cron

 

La información sobre el estado del servicio yum-cron se mostrará en la pantalla:

● 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

yum-cron viene con dos archivos de configuración que se almacenan en el directorio /etc/yum, el archivo de configuración por hora yum-cron.conf y el archivo de configuración diaria yum-cron-hourly.conf.

 

El servicio yum-cron solo controla si los trabajos cron se ejecutarán o no. La utilidad yum-cron es llamada por los archivos /etc/cron.hourly/0yum-hourly.cron/etc/cron.daily/0yum-daily.croncron.

 

Por defecto, el cron horario está configurado para no hacer nada. Si hay actualizaciones disponibles, el cron diario está configurado para descargar pero no instalar las actualizaciones disponibles y enviar mensajes a la salida estándar. La configuración predeterminada es suficiente para los sistemas de producción críticos en los que desea recibir notificaciones y realizar la actualización manualmente después de probar las actualizaciones en los servidores de prueba.

El archivo de configuración está estructurado en secciones y cada sección contiene comentarios que describen lo que hace cada línea de configuración.

Para editar el archivo de configuración de yum-cron, abra el archivo en su editor de texto:

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

 

En la primera sección, [commands] puede definir los tipos de paquetes que desea actualizar, habilitar los mensajes y las descargas y configurar para aplicar automáticamente las actualizaciones cuando estén disponibles. De forma predeterminada, update_cmd se establece en predeterminado que actualizará todos los paquetes. Si desea configurar actualizaciones automáticas desatendidas, se recomienda cambiar el valor al security que se le indicará a yum que actualice los paquetes que solo solucionan un problema de seguridad.

En el siguiente ejemplo cambiamos el update_cmd que security y permitió actualizaciones desatendidas mediante el establecimiento apply_updates de yes:

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

 

La segunda sección define cómo enviar mensajes. Para enviar mensajes a la versión estándar y al correo electrónico, cambie el valor de emit_viastdio,email.

 

[emitters]
system_name = None
emit_via = stdio,email
output_width = 80

 

En la sección [email] puede configurar la dirección de correo electrónico del remitente y el destinatario. Asegúrese de tener una herramienta que pueda enviar correos electrónicos instalados en su sistema, como mailx o postfix.

/etc/yum/yum-cron-hourly.conf
[email]
email_from = root@centos.host
email_to = me@example.com
email_host = localhost

 

La sección [base] le permite anular la configuración definida en el archivo yum.conf. Si desea excluir paquetes específicos de la actualización, puede usar el parámetro exclude. En el siguiente ejemplo, estamos excluyendo el paquete mongodb [ ].

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

 

No es necesario reiniciar el servicio yum-cron para que los cambios surtan efecto.

Use grep para verificar si los trabajos cron asociados con yum se ejecutan:

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

 

El historial de las actualizaciones de yum se registra en el archivo /var/log/yum. Puedes ver las últimas actualizaciones usando el comando 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

 

En este tutorial, ha aprendido cómo configurar actualizaciones automáticas y mantener actualizado su sistema CentOS.