Когда число серверов — один или два, можно легко выполнять 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”
А чем плох для CentOS вариант yum update -y по крону? Ничего дополнительно устанавливать ненужно.
А зачем нужна строчка?
chkconfig —level 35 yum-cron on
Официальное руководство по настройке Red Hat Linux
Значит «— level 35» означает 3 и 5 выставить в «On» ?
Именно