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

Как скрыть обновления ядра в Ubuntu

4 min read Ubuntu Обновлено 22 Nov 2025
Как скрыть обновления ядра в Ubuntu
Как скрыть обновления ядра в Ubuntu

Зачем это нужно

Ubuntu обновляет пакеты через APT. Обновления ядра иногда ломают нестандартные драйверы, кастомные сборки ядра или создают длинный список пунктов в загрузочном меню GRUB. Если вы хотите получать обновления приложений и безопасности, но временно пропустить обновления ядра, можно «зафиксировать» текущую версию ядра, чтобы менеджер обновлений её не предлагал.

Краткая методика

  1. Узнать текущую версию метапакета ядра (linux-generic).
  2. Создать правило в /etc/apt/preferences (или файл в /etc/apt/preferences.d/) с Pin: version <ваша-версия> и высокой приоритетностью.
  3. Сохранить — Update Manager перестанет показывать обновления ядра.

Пошаговое руководство

  1. Найдите текущую версию ядра (через Synaptic или командную строку).
  • Через графику: откройте Synaptic (System > Administration). В поле Quick search введите linux-generic и нажмите Enter.

Окно Synaptic с поиском пакета linux-generic

Synaptic: результат поиска linux-generic с колонкой «Installed Version»

Запомните номер версии, указанный в колонке «Installed Version».

  • Через командную строку: выполните одну из команд:
dpkg -l 'linux-*' | grep linux-generic
apt-cache policy linux-generic
uname -r   # покажет текущую запущенную версию ядра
  1. Откройте файл /etc/apt/preferences для редактирования с правами администратора. В старых Ubuntu можно вызвать окно «Run Application» (Alt+F2) и ввести:
gksudo gedit /etc/apt/preferences

Run Application: команда для открытия /etc/apt/preferences через gedit

Если файла нет, он будет создан пустым. Вставьте (замените на вашу точную версию из шага 1):

Package: linux-generic linux-headers-generic linux-image-generic linux-restricted-modules-generic
Pin: version 
Pin-Priority: 1001

Пример заполненного /etc/apt/preferences с фиксацией версии ядра

Сохраните файл и закройте редактор.

  1. Откройте Update Manager — обновления ядра больше не будут отображаться как доступные.

Update Manager: ядро скрыто из списка обновлений

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

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

  • apt-mark hold
sudo apt-mark hold linux-generic linux-image-generic linux-headers-generic

Эта команда помечает пакеты как «удерживаемые», и APT не будет их обновлять до снятия hold командой sudo apt-mark unhold ....

  • Размещение файла в /etc/apt/preferences.d/

Создайте отдельный файл, например /etc/apt/preferences.d/hold-kernel.pref, с тем же содержимым — это удобнее для управления и автоматизации.

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

  • Если вы указали неполную или неточную версию (например, пропустили имя релизного суффикса), фиксация не сработает. Убедитесь в точном совпадении версии.
  • Пакеты, не перечисленные в правиле (Package:), не будут зафиксированы.
  • Автоматизированные скрипты администрирования, которые принудительно обновляют пакетную базу или удаляют файлы в preferences.d, могут отменить фиксацию.

Как отменить фиксацию (откат)

  • Через файл: удалите или отредактируйте правило в /etc/apt/preferences (или удалите файл в /etc/apt/preferences.d/).
  • Через apt-mark: выполните
sudo apt-mark unhold linux-generic linux-image-generic linux-headers-generic

После этого Update Manager снова начнёт предлагать обновления ядра.

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

  • Update Manager не показывает обновления ядра.
  • Команда apt-get upgrade не обновляет пакеты ядра, если версия зафиксирована.
  • Вы можете отменить фиксацию и вернуться к нормальным обновлениям.

Роли и чек-листы

  • Для десктоп-пользователя:

    • Снимите снимок/резервную копию важных данных перед изменениями.
    • Проверили точную версию через Synaptic или apt-cache policy.
    • Применили правило или apt-mark hold и подтвердили визуально в Update Manager.
  • Для администратора:

    • Поместите правило в /etc/apt/preferences.d/ с комментариями и датой.
    • Обновляйте политику фиксации при изменении процессов CI/CD.
    • Запланируйте периодическую проверку безопасности ядра.

Минимальная методология для автоматизации

  1. Скрипт собирает текущую версию через apt-cache policy linux-generic.
  2. Скрипт генерирует файл /etc/apt/preferences.d/hold-kernel.pref с той версией.
  3. В Jenkins/Ansible добавьте задачу, которая раз в N месяцев проверяет необходимость обновления ядра и снимает hold по расписанию.

Факты и пояснения

  • Pin-Priority 1001 означает, что пакет с указанной версией будет выбран даже если это понижает версию пакета — это принудительная фиксация.
  • apt-mark hold и APT pinning работают на разном уровне; pinning через preferences даёт более тонкий контроль.

Безопасность и рекомендации

  • Кратковременная фиксация допустима, но долгосрочно не рекомендуется игнорировать обновления ядра из соображений безопасности.
  • Документируйте причину фиксации (например, «кастомные драйверы»), дату и план пересмотра.

Часто задаваемые вопросы

Как быстро вернуть показ обновлений ядра?

Удалите правило из /etc/apt/preferences или выполните sudo apt-mark unhold ....

Подходит ли этот способ для серверов?

Да, но на серверах рекомендована строгая политика безопасности: фиксируйте только при необходимости и с планом тестирования и обновления.

Краткое резюме

  • Зафиксировать ядро можно через APT pinning или apt-mark hold.
  • Проверяйте точную версию и документируйте изменения.
  • Не забывайте периодически обновлять ядро ради безопасности.

1-line glossary:

  • APT: система управления пакетами в Ubuntu.
  • Pin: механизм фиксации версии пакета в APT.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Как разделить содержимое ячеек в Excel
Productivity

Как разделить содержимое ячеек в Excel

ERR_HTTP2_PROTOCOL_ERROR: как исправить ошибку HTTP/2
Техподдержка

ERR_HTTP2_PROTOCOL_ERROR: как исправить ошибку HTTP/2

FirstVet — онлайн‑ветеринар для питомцев
Ветеринария

FirstVet — онлайн‑ветеринар для питомцев

Заполнение пропусков в pandas: способы и методология
Аналитика данных

Заполнение пропусков в pandas: способы и методология

Как отменить подписку в Google Play
Инструкции

Как отменить подписку в Google Play

Cockpit для администрирования Linux
Администрирование

Cockpit для администрирования Linux