Автоматическое обновление пакетов в популярных дистрибутивах Linux

Когда число серверов — один или два, можно легко выполнять aptitude update && aptitude upgrade или yum update на каждом из них вручную. Когда серверов становится больше пяти — это начинает напрягать, когда их десятки — это уже не реально.

Во многих популярных дистрибутивах linux присутствуют средства автоматического обновления установленного ПО. О них и пойдет речь в этой заметке.

Debian/Ubuntu

Для Debian’на существует утилита cron-apt, с ее помощью можно автоматизировать скачивание, а при желании и установка обновлений. Автоматизация обновлений в промышленной среде не всегда хорошая идея, но практика показывает что установка security-обновлений не приводит к каким-либо мержам конфигов и тому подобным радостям.

Устанавливается cron-apt из стандартных репозиториев:

root@localhost:~$ aptitude install cron-apt

Теперь настроем автоматическую установку security-обновлений. Для этого создадим несколько конфигурационных файлов. Сначала создаем /etc/apt/sources.list.d/security.list, для Lenny он выглядит примерно так:

deb     http://security.debian.org/  lenny/updates  main contrib non-free
deb-src http://security.debian.org/  lenny/updates  main contrib non-free

Ну и собственно автоматизируем установку, создаем /etc/cron-apt/action.d/4-security:

upgrade -y -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list

Для того чтобы получать уведомления на электронную почту добавляем в /etc/cron-apt/config:

MAILTO="[email protected]"
MAILON="always"

Этих действий достаточно чтобы cron-apt каждый день самостоятельно устанавливал security-обновления и отправлял на электронную почту отчет о проделанной работе.

RHEL 5/CentOS 5

На платоформе RHEL 5/CentOS 5 по-умолчанию используется yum-updatesd. Однако, вместо него рекомендуется использовать yum-cron.

Для использования yum-cron необходимо сначала удалить yum-updatesd:

root@localhost:~$ service yum-updatesd stop
root@localhost:~$ rpm -e yum-updatesd

После этого устанавливаем yum-cron:

root@localhost:~$ yum install yum-cron
root@localhost:~$ chkconfig --level 35 yum-cron on
root@localhost:~$ service yum-cron start

После этих действий обновления будут скачиваться и устанавливаться автоматически.

5 комментариев “Автоматическое обновление пакетов в популярных дистрибутивах Linux”

Комментирование закрыто.