Для CentOS имеется несколько утилит для работы с обновлениями:
yum-updatesd — служит только для уведомления о доступных обновлениях через почту, syslog или dbus;
yum update — запускаемая вручную или через cron;
yum-cron — утилита с расширенными возможностями для запуска yum через cron.
Мы будем использовать утилиту yum-cron.
Устанавливаем:
# yum -y install yum-cron ... Installed: yum-cron.noarch 0:3.2.29-43.el6.centos Dependency Installed: yum-plugin-downloadonly.noarch 0:1.1.30-17.el6_5 Complete!
Проверяем — не установлен ли в системе yum-updatesd:
# which yum-updatesd /usr/bin/which: no yum-updatesd in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/setevoy/scripts/:/home/setevoy/scripts/money/:/root/bin)
# service yum-updatesd status yum-updatesd: unrecognized service
Ищем связанные файлы:
# rpm -ql yum-cron /etc/cron.daily/0yum.cron /etc/rc.d/init.d/yum-cron /etc/sysconfig/yum-cron /etc/yum/yum-daily.yum /etc/yum/yum-weekly.yum /usr/share/doc/yum-cron-3.2.29 /usr/share/doc/yum-cron-3.2.29/COPYING /usr/share/man/man8/yum-cron.8.gz
Настройки yum-cron хранятся в файле /etc/sysconfig/yum-cron.
По-умолчанию yum-cron будет проверять и устанавливать обновления раз в сутки и устанавливать их.
Стоит обратить внимание на такие опции:
YUM_PARAMETER — дополнительные опции для yum, например:
YUM_PARAMETER="--exclude='kernel*' --exclude='grub*'" # исключить из обновлений ядро и grub;
CHECK_ONLY — выполнять только проверку доступных обновлений, или проверять и устанавливать их, по умолчанию — проверять и устанавливать, измените на yes что бы выполять только проверку и высылать уведомление:
# Don't install, just check (valid: yes|no) CHECK_ONLY=yes
CHECK_FIRST — проверять доступность репозитория перед обновлением;
# Check to see if you can reach the repos before updating (valid: yes|no) CHECK_FIRST=yes
DOWNLOAD_ONLY — загружать доступные обновления, но не устанавливать их (если включена CHECK_ONLY=yes);
# Don't install, just check and download (valid: yes|no) # Implies CHECK_ONLY=yes (gotta check first to see what to download) DOWNLOAD_ONLY=no
MAILTO — отправлять уведомления на указанный ящик, например:
# by default MAILTO is unset, so crond mails the output by itself # example: MAILTO=root MAILTO="[email protected]"
Запускаем сервис:
# chkconfig yum-cron on # service yum-cron start Enabling nightly yum update: [ OK ]
Теперь раз в сутки cron.daily будет выполнять скрипт /etc/cron.daily/0yum.cron.
В логе cron должны появится записи вида:
# grep "yum" /var/log/cron Aug 11 03:08:02 venti run-parts(/etc/cron.daily)[4516]: starting 0yum.cron Aug 11 03:49:30 venti run-parts(/etc/cron.daily)[4761]: finished 0yum.cron
И почтовое уведомление:
# grep -R "System update" /var/vmail/domain.org.ua/[email protected]/ Binary file /var/vmail/domain.org.ua/[email protected]/dovecot.index.cache matches /var/vmail/domain.org.ua/[email protected]/cur/1407807228.M239060P12087.venti.domain.org.ua,S=867,W=888:2,Sa:Subject: System update: venti.domain.org.ua




