Уважающим себя одминам не нужно рассказывать о том, как важно своевременно обновлять ОС, в т.ч. CentOS. Желательно автоматически устанавливать все доступные обновления в CentOS или же хотя бы автоматически получать своевременные уведомления о наличии доступных обновлений.
Автоматическое обновление CentOS возможно при помощи команды yum update -y, запускаемой по расписанию (cron), но можно воспользоваться и дополнительным пакетом типа yum-cron, который можно использовать более гибко.
Установка yum-cron в CentOS
Установка yum-cron для автоматического обновления CentOS, как и установка других пакетов в CentOS, до ужаса проста yum install yum-cron
yum install yum-cron Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * atomic: www7.atomicorp.com * base: mirror.karneval.cz * epel: mirror.awanti.com * extras: mirror.karneval.cz * rpmforge: mirror.awanti.com * updates: mirror.karneval.cz 408 packages excluded due to repository priority protections Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package yum-cron.noarch 0:3.2.29-30.el6.centos will be installed --> Processing Dependency: yum-plugin-downloadonly for package: yum-cron-3.2.29- 30.el6.centos.noarch --> Running transaction check ---> Package yum-plugin-downloadonly.noarch 0:1.1.30-14.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: yum-cron noarch 3.2.29-30.el6.centos base 35 k Installing for dependencies: yum-plugin-downloadonly noarch 1.1.30-14.el6 base 20 k Transaction Summary ================================================================================ Install 2 Package(s) Total download size: 55 k Installed size: 47 k Is this ok [y/N]: y Downloading Packages: (1/2): yum-cron-3.2.29-30.el6.centos.noarch.rpm | 35 kB 00:00 (2/2): yum-plugin-downloadonly-1.1.30-14.el6.noarch.rpm | 20 kB 00:00 -------------------------------------------------------------------------------- Total 56 kB/s | 55 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : yum-plugin-downloadonly-1.1.30-14.el6.noarch 1/2 Installing : yum-cron-3.2.29-30.el6.centos.noarch 2/2 Verifying : yum-plugin-downloadonly-1.1.30-14.el6.noarch 1/2 Verifying : yum-cron-3.2.29-30.el6.centos.noarch 2/2 Installed: yum-cron.noarch 0:3.2.29-30.el6.centos Dependency Installed: yum-plugin-downloadonly.noarch 0:1.1.30-14.el6 Complete!
Конфигурация yum-cron
Увы man yum-cron не содержит никакой справки (No manual entry for yum-cron) и конфигурационный файл yum-cron пришлось искать врукопашную:
updatedb locate yum-cron /etc/rc.d/init.d/yum-cron /etc/rc.d/rc0.d/K01yum-cron /etc/rc.d/rc1.d/K01yum-cron /etc/rc.d/rc2.d/S50yum-cron /etc/rc.d/rc3.d/S50yum-cron /etc/rc.d/rc4.d/S50yum-cron /etc/rc.d/rc5.d/S50yum-cron /etc/rc.d/rc6.d/K01yum-cron /etc/sysconfig/yum-cron /usr/share/doc/yum-cron-3.2.29 /usr/share/doc/yum-cron-3.2.29/COPYING /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/checksum_data /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/checksum_type /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/command_line /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/from_repo /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/from_repo_revision /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/from_repo_timestamp /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/installed_by /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/reason /var/lib/yum/yumdb/y/aee00bf28191d4dfb7c38c68a5ab37b6653461fc-yum-cron-3.2.29-30 \ .el6.centos-noarch/releasever /var/lock/subsys/yum-cron
Вот он наш файл конфигурации /etc/sysconfig/yum-cron:
vi /etc/sysconfig/yum-cron # Don't install, just check (valid: yes|no) CHECK_ONLY=yes # by default MAILTO is unset, so crond mails the output by itself # example: MAILTO=root MAILTO=mymail@gmail.com
Потому как мы привыкшие устанавливать все обновления вручную, то в примере выше мы установили соответствующую настройку в CHECK_ONLY=yes, по умолчанию CHECK_ONLY=no обновления будут устанавливаться автоматически.
Запуск/автозапуск yum-cron
Перед запуском нужно проверить не установлен ли в системе service yum-updatesd status и если результатом будет started|stoped, то или удаляем его yum remove yum-updatesd или останавливаем service yum-updatesd stop и выключаем chkconfig yum-updatesd off, а уже потом добавляем yum-cron в автозапуск и запускаем соответственно:
chkconfig yum-cron on service yum-cron start
Автоматическое обновление CentOS ака yum-cron будет выполнятся ежедневно /etc/cron.daily/0yum.cron, в полночь.
Проверить выполнялся ли и когда именно выполнялся /etc/cron.daily/0yum.cron можно в лог файле grep yum /var/log/cron