Гид по технологиям

Автоматические обновления в CentOS 8 — настройка dnf-automatic и Cockpit

• 4 min read • Linux • Обновлено 18 Nov 2025
Автоматические обновления в CentOS 8
Автоматические обновления в CentOS 8

Центральный сервер с интерфейсом Cockpit

Обновления безопасности важны для защиты систем. Рекомендуется применять обновления в течение 30 дней после выхода патчей. В CentOS 8 есть два основных способа включить автоматические обновления: консольный dnf-automatic и веб-интерфейс Cockpit. В этой статье — пошаговая инструкция, рекомендации по выбору режима и чек-листы для системных администраторов.

Зачем включать автоматические обновления

Коротко: они уменьшают окно уязвимости и снижают ручную рутину. Определения:

  • dnf-automatic — системный пакет, который предоставляет systemd-таймеры для автоматической загрузки/установки обновлений.
  • Cockpit — веб-интерфейс для управления сервером, умеет включать автоматические обновления через dnf-automatic.

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

Требования и подготовка

  • Доступ root или привилегии sudo.
  • Активный репозиторий BaseOS/AppStream (dnf-automatic доступен из BaseOS).
  • Резервное копирование конфигураций и данных перед включением автоматической установки.
  • Убедитесь, что сервер может отправлять почту или выводить MOTD для уведомлений.

Настройка автоматических обновлений с помощью dnf-automatic

dnf-automatic предоставляет три таймера systemd, каждый с разной логикой:

  • dnf-automatic-download.timer — только загрузка пакетов
  • dnf-automatic-install.timer — загрузка и автоматическая установка
  • dnf-automatic-notifyonly.timer — только уведомления (через настроенный эмиттер)

Установка пакета:

sudo dnf install dnf-automatic

Файлы конфигурации находятся в /etc/dnf/automatic.conf. Откройте и отредактируйте файл:

cd /etc/dnf/
vim automatic.conf

В секции [commands] задайте желаемый тип обновлений (upgrade_type):

[commands]
upgrade_type = default
download_updates = yes

Опции:

  • default — обновлять все пакеты
  • security — обновлять только пакеты, связанные с безопасностью

В секции [emitters] можно включить отображение статистики в MOTD и задать имя системы:

[emitters]
system_name = my-centos8-host
emit_via = motd

emit_via поддерживает: stdio (по умолчанию), motd, email. Если выбираете email — настройте секцию [email]:

[email]
email_from = admin@example.com
email_to = root
email_host = localhost

Сохраните изменения.

Включение таймера для автоматической загрузки

Чтобы автоматически скачивать обновления и не устанавливать их сразу:

sudo systemctl enable --now dnf-automatic.timer

Проверить список таймеров:

sudo systemctl list-timers *dnf-*

В списке будут dnf-makecache.timer (обновление кеша) и dnf-automatic.timer (скачивание обновлений).

Конфигурация автоматических обновлений dnf

После этого при каждом логине вы увидите сводку скачанных обновлений через MOTD.

Сообщение о скачанных обновлениях при входе

Включение таймера для автоматической установки

Чтобы автоматически устанавливать обновления (более рисково):

sudo systemctl enable --now dnf-automatic-install.timer

Проверьте работу таймера:

sudo systemctl list-timers *dnf-*

Вы увидите dnf-automatic-install.timer в списке. После включения обновления будут не только скачиваться, но и устанавливаться автоматически.

Таймер установки обновлений

Настройка автоматических обновлений через Cockpit

Cockpit предоставляет удобный веб-интерфейс для настройки автоматических обновлений.

  1. Откройте браузер и перейдите по адресу сервера с портом 9090, например: https://10.5.5.70:9090/
  2. Авторизуйтесь под учётной записью с правами администратора.
  3. В меню выберите «Обновления ПО» (Software Updates) и включите параметр автоматических обновлений.

При включении Cockpit предложит установить dnf-automatic — нажмите Install.

Конфигурирование автоматических обновлений в Cockpit

После установки выберите тип обновлений и время выполнения (по расписанию). Таймеры dnf-makecache и dnf-automatic-install появятся в списке служб Cockpit → Services → Timers.

Установка dnf-automatic через Cockpit

Статус установки обновлений в Cockpit

Службы и таймеры в Cockpit

Как выбрать режим: скачать или установить автоматически

Модель решения (эвристика):

  • Если у вас критичные сервисы — выбирайте download-only и тестируйте обновления в staging перед установкой в проде.
  • Если инстансы легко восстанавливать (ephemeral), и вы хотите минимизировать окно уязвимости — включайте автоматическую установку.
  • Всегда включайте уведомления (motd или email), чтобы получать отчёты.

Проверка и устранение неполадок

Просмотр логов службы dnf-automatic:

sudo journalctl -u dnf-automatic.service --no-pager
sudo journalctl -u dnf-automatic-install.service --no-pager

Проверка последних установленных пакетов:

sudo dnf history

Если после обновления сервис не запустился — откатите пакет через dnf history rollback или восстановите из бэкапа. Всегда проверяйте зависимости и конфликты перед массовыми установками.

Риски и рекомендации по безопасности

  • Тестируйте обновления в staging перед продакшеном.
  • Держите регулярные резервные копии конфигураций и данных.
  • Используйте notify_via=email при наличии надежного почтового хоста для оперативных оповещений.
  • Не включайте автоматическую установку без плана отката для критичных сервисов.

Чек-лист для системного администратора

  • Установлен dnf-automatic и/или Cockpit
  • Настроен emit_via (motd или email)
  • Выбран upgrade_type: security или default
  • Созданы резервные копии конфигураций и данных
  • Проведено тестирование обновлений в staging
  • Мониторинг и оповещения настроены

Критерии приёмки

  • Таймер dnf-automatic.timer или dnf-automatic-install.timer активен и запускается при загрузке.
  • При логине отображается MOTD с информацией об обновлениях (если emit_via=motd).
  • При emit_via=email — письма приходят на указанный email.
  • Обновления соответствуют выбранному upgrade_type.

Когда автоматические обновления не подходят

  • Нельзя прерывать или автоматически изменять продакшен-сервисы без тестирования.
  • Сложные стековые приложения с нестандартными зависимостями требуют ручной проверки.
  • Если политика компании запрещает автоматические изменения в серверах.

Быстрые команды и шаблоны

Включить скачивание:

sudo systemctl enable --now dnf-automatic.timer

Включить установку:

sudo systemctl enable --now dnf-automatic-install.timer

Отключить таймер:

sudo systemctl disable --now dnf-automatic-install.timer

Посмотреть статус таймеров:

sudo systemctl list-timers *dnf-*

Проверить логи:

sudo journalctl -u dnf-automatic.service

Итог

Автоматические обновления в CentOS 8 можно безопасно настроить через dnf-automatic или Cockpit. Для production-сред придерживайтесь стратегии «скачать — протестировать — установить» и обеспечьте резервное копирование и уведомления. Для менее критичных систем допустима прямая автоматическая установка.

Ссылки

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро