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.
Prerrequisitos
Antes de continuar con este tutorial, asegúrese de iniciar sesión como usuario con privilegios sudo .
Instalación del paquete yum-cron
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
Configurando yum-cron
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
y /etc/cron.daily/0yum-daily.cron
cron.
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
:
[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_via
a stdio,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.
[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
[ ].
[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*
No es necesario reiniciar el servicio yum-cron
para que los cambios surtan efecto.
Visualización de registros
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.