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


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

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

/

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

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

[email protected]:~$ 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/ 5

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

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

[email protected]:~$ service yum-updatesd stop
[email protected]:~$ rpm -e yum-updatesd

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

[email protected]:~$ yum install yum-cron
[email protected]:~$ chkconfig --level 35 yum-cron on
[email protected]:~$ service yum-cron start

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


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

  • Владимир

    А чем плох для CentOS вариант yum update -y по крону? Ничего дополнительно устанавливать ненужно.

  • Евгений

    А зачем нужна строчка?
    chkconfig —level 35 yum-cron on

    • Rascal От автора

      Команда chkconfig используется для запуска и остановки службы. Если вы выполните команду chkconfig —list, на экране появится список системных служб и тип запуска (on — включены) или (off — отключены) для уровней выполнения 0-6 (в отдельном разделе в конце списка перечислены службы, управляемые xinetd, которые будут обсуждены в этом разделе позже).

      Официальное руководство по настройке Red Hat Linux

      • Евгений

        Значит «— level 35» означает 3 и 5 выставить в «On» ?

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