ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

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

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

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

 

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

 

Пакет yum-cron позволяет автоматически запускать команду yum как cron job, чтобы проверить, скачать и установить обновление. Скорее всего, этот пакет уже установлен в вашей системе 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-13 20:12:34 UTC; 4min ago
  Process: 2252 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
 Main PID: 2252 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/yum-cron.service

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

Служба yum-cron контролирует только запуск cron jobs. Утилита yum-cron вызывается в файлах /etc/cron.hourly/0yum-hourly.cron и /etc/cron.daily/0yum-daily.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  13 20:12:34 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
May  13 20:23:43 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
May  13 20:12:02 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
May  13 20:34:43 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron

История обновлений yum записывается в файл /var/log/yum. Вы можете просмотреть последние обновления, используя команду tail:

sudo tail -f  /var/log/yum.log
May 13 20:14:33 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
May 13 20:14:34 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
May 13 20:14:34 Updated: htop-2.2.0-3.el7.x86_64

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

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

Exit mobile version