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

Как предотвратить обновление ядра через yum

• 5 min read • Системное администрирование • Обновлено 22 Nov 2025
Как запретить обновление ядра через yum
Как запретить обновление ядра через yum

Быстрые ссылки

Сценарий

Вы настроили rpm‑основанный сервер, он работает стабильно и вы не ожидаете вмешательств в ближайшее время. Затем, выполняя команду от root в терминале, вы запускаете обновление в «автоматическом» режиме:

#yum -y -d0 update

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

Если у вас сейчас проблемы, стоит пересмотреть расписание обновлений, документацию и конфигурацию yum.

Почему не обновлять ядро

  • Модули или драйверы могут стать несовместимыми — устройства перестанут работать.
  • Нужно поддерживать одинаковые версии ядра на группе серверов для совместимости приложений и отладки.
  • Вы вручную скомпилировали ядро и не хотите, чтобы пакетное обновление перезаписало вашу конфигурацию.
  • Вы дорожите временем без перезагрузок: если система практически никогда не перезагружается, обновлять ядро бессмысленно.

Почему стоит обновлять ядро

  • В первую очередь — безопасность. Ядро может содержать уязвимости, и их исправления критичны.
  • Дистрибутивы выпускают патчи и проверяют их перед публикацией; отставание может усложнить будущее обновление до новой мажорной версии.
  • Новые функции или исправления существующих багов могут улучшить стабильность и производительность.

Как безопасно обновлять ядро

Лучше иметь контроль над процессом обновления. Запускайте yum без автоматических флагов, анализируйте список пакетов и выполняйте обновление в окне обслуживания:

#yum update

Следуйте подсказкам, проверяйте список обновляемых пакетов и перезагрузки, планируйте окно для перезагрузки.

Предотвращение обновления ядра

Если вы никогда не хотите, чтобы yum обновлял ядро автоматически, добавьте в /etc/yum.conf строку:

exclude=kernel*

Или при однократном запуске используйте CLI‑флаг:

#yum –exclude=kernel* update

Обе опции исключат пакеты, соответствующие шаблону kernel*, из списка обновлений.

Альтернативные подходы

  1. Плагин versionlock (yum): заблокировать конкретные версии пакетов.

#yum install yum-plugin-versionlock #yum versionlock add kernel*

Преимущество: вы удерживаете конкретную версию, а не полностью исключаете пакет из учёта.

  1. DNF (на современных системах): используйте dnf‑версию lock или аналогичные плагины.

#dnf install ‘dnf-plugins-core’ #dnf versionlock add kernel*

  1. Управление через конфигурационные системы: Ansible/Salt/Chef — явно исключайте пакеты при заявке на обновления.

  2. Политика installonly_limit: уменьшение числа одновременно установленных образцов ядра в /etc/yum.conf помогает управлять пространством, но не предотвращает обновление.

  3. Централизованные репозитории и управляемые обновления (Satellite, Spacewalk): применяйте обновления сначала к тестовой группе, затем к проду.

Когда это не сработает

  • Зависимости: мета‑пакет или обновление другого пакета может потребовать новый пакет ядра как зависимость. В редких случаях исключение может быть обойдено при неправильных масках пакетов.
  • Если вы используете автоматические инструменты, которые перезаписывают /etc/yum.conf или применяют свои фильтры, локальное исключение может быть удалено.
  • Неправильный шаблон исключения (опечатка) не сработает: убедитесь, что используете kernel*.

Важно: исключение ядра снижает оперативную гибкость в реакции на CVE. Перед удержанием оцените риски безопасности.

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

  1. После внесения exclude=kernel* в /etc/yum.conf команда yum update не включает пакеты ядра в список обновлений.
  2. yum –exclude=kernel* update временно исключает ядро при выполнении одной команды.
  3. Для versionlock: yum versionlock list показывает kernel* в зафиксированных пакетах.
  4. В тестовой среде успешное применение политики не привело к регрессиям в производительности и совместимости.

Проверки и откат

Проверки:

  • Просмотрите текущие установленные ядра:

#rpm -qa | grep ^kernel

  • Выполните имитацию обновления и проверьте, что ядро отсутствует в списке:

#yum check-update

Откат/отмена:

  • Удалите строку exclude=kernel* из /etc/yum.conf и сохраните файл.
  • Если вы использовали versionlock:

#yum versionlock delete kernel*

  • Протестируйте обновление в контролируемом окне и, при необходимости, выполните обычное обновление ядра.

Мини‑методология для удержания ядра (короткий план)

  1. Инвентаризация: перечислите все серверы и версии ядра.
  2. Оценка риска: проверьте CVE и критичность патчей для вашего окружения.
  3. Тестирование: примените исключение на тестовой группе; запустите регрессионные тесты.
  4. Документирование: зафиксируйте причину удержания и дату проверки.
  5. Мониторинг: настройте уведомления по критическим CVE, чтобы пересмотреть удержание при необходимости.

Контрольные чек‑листы для ролей

Системный администратор:

  • Проверить и добавить exclude в /etc/yum.conf при согласовании с командой безопасности.
  • Настроить versionlock при необходимости.

Инженер по безопасности:

  • Мониторить CVE и оповещать о критических патчах, которые требуют обновления ядра.

Оператор DevOps:

  • Применить изменения через CI/CD или Ansible, удостоверившись, что конфигурация не будет перезаписана.

Диаграмма принятия решения

flowchart TD
  A[Нужна высокая доступность без перезагрузок?] -->|Да| B[Исключить ядро или использовать versionlock]
  A -->|Нет| C[Обновлять ядро по расписанию]
  B --> D[Тестирование в стенде]
  D --> E{Безопасно?}
  E -->|Да| F[Применить в проде с мониторингом]
  E -->|Нет| G[Откат и анализ]

Резюме

  • Имеются простые способы предотвратить обновление ядра: конфигурация /etc/yum.conf и флаги CLI.
  • Используйте versionlock, если нужно зафиксировать конкретные версии, а не полностью исключать пакет.
  • Всегда тестируйте изменения, документируйте причины удержания и следите за публикациями о критических уязвимостях.

Важно: удержание ядра уменьшает риск незапланированных перезагрузок, но увеличивает риски безопасности. Решение должно быть взвешенным и задокументированным.

Ключевые команды для быстрого доступа:

#yum –exclude=kernel* update

В /etc/yum.conf добавьте: exclude=kernel*

#yum install yum-plugin-versionlock #yum versionlock add kernel*

Поделиться: 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 быстро