Как настроить автоматическое обновление с помощью yum-cron в CentOS 7

Configure Automatic Updates with yum-cron on CentOS 7

28 Марта 2021 | CentOS

В этом руководстве мы рассмотрим процесс настройки автоматических обновлений в CentOS 7. Те же инструкции применимы и для CentOS 6.

Как настроить автоматическое обновление с помощью yum-cron в CentOS 7

Регулярное обновление вашей системы CentOS - один из наиболее важных аспектов общей безопасности системы. Если вы не обновите пакеты своей операционной системы последними исправлениями безопасности, вы сделаете свой компьютер уязвимым для атак.

Если вы управляете несколькими компьютерами с CentOS, обновление системных пакетов вручную может занять много времени. Даже если вы управляете одной установкой CentOS, иногда вы можете пропустить важное обновление. Здесь вам пригодятся автоматические обновления.
 

Прежде чем вы приступите

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
 

Установка пакета yum-cron

yum-cron Пакет позволяет автоматически запускать команду yum как cron , чтобы проверить, скачать и установить обновление. Скорее всего, этот пакет уже установлен в вашей системе CentOS. Если он не установлен, вы можете установить пакет, выполнив следующую команду:
 

sudo yum install yum-cron


После завершения установки включите и запустите службу:
 

sudo systemctl enable yum-cron sudo systemctl start yum-cron


Чтобы убедиться, что служба запущена, введите следующую команду:

 

systemctl status yum-cron


Информация о статусе сервиса yum-cron будет отображаться на экране:
 

● 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

yum-cron поставляется с двумя конфигурационными файлами, которые хранятся в /etc/yum каталоге: почасовым файлом конфигурации и файлом yum-cron-hourly.conf ежедневной конфигурации yum-cron.conf .

yum-cron Служба контролирует только будет ли или нет cron рабочих мест. yum-cron Утилита вызывается /etc/cron.hourly/0yum-hourly.cron и /etc/cron.daily/0yum-daily.cron cron файлов.

По умолчанию ежечасный cron настроен на бездействие. Если есть доступные обновления, ежедневный cron настроен на загрузку, но не на установку доступных обновлений и отправку сообщений на стандартный вывод. Конфигурации по умолчанию достаточно для критических производственных систем, где вы хотите получать уведомления и выполнять обновление вручную после тестирования обновлений на тестовых серверах.

Файл конфигурации структурирован по разделам, и каждый раздел содержит комментарии, описывающие, что делает каждая строка конфигурации.

Чтобы отредактировать файл конфигурации yum-cron, откройте файл в текстовом редакторе:
 

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


В первом разделе [commands] вы можете определить типы пакетов, которые вы хотите обновлять, разрешить сообщения и загрузки и настроить автоматическое применение обновлений, когда они будут доступны. По умолчанию update_cmd установлено значение по умолчанию, при котором будут обновлены все пакеты. Если вы хотите установить автоматические автоматические обновления, рекомендуется изменить значение, security которое будет указывать yum на необходимость обновления пакетов, которые устраняют только проблему безопасности.

В следующем примере мы изменили значение update_cmd на security и включили автоматические обновления, установив 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
 

Второй раздел определяет, как отправлять сообщения. Чтобы отправлять сообщения как на стандартный вывод, так и на электронную почту, измените значение emit_via на stdio,email .

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

В [email] разделе вы можете указать адрес электронной почты отправителя и получателя. Убедитесь, что у вас есть инструмент, который может отправлять электронные письма, установленный в вашей системе, например mailx или postfix.

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

[base] Раздел позволяет изменить параметры , определенные в yum.conf файле. Если вы хотите исключить определенные пакеты из обновления, вы можете использовать exclude параметр. В следующем примере мы исключаем mongodb пакет [ ].

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

Вам не нужно перезапускать yum-cron службу, чтобы изменения вступили в силу.
 

Просмотр журналов

Используйте grep, чтобы проверить, выполняются ли задания cron, связанные с yum:
 

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


История обновлений yum регистрируется в /var/log/yum файле. Вы можете просмотреть последние обновления, используя команду 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


Заключение

В этом руководстве вы узнали, как настроить автоматические обновления и поддерживать свою систему CentOS в актуальном состоянии.

    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...