К основному содержимому

Обновление ядра Linux: зачем и как делать безопасно

VDS / VPS · 19.04.2026 · 4 мин чтения
Иллюстрация к статье «Обновление ядра Linux: зачем и как делать безопасно»

Ядро Linux (kernel) — ключевой компонент ОС. Регулярное обновление ядра закрывает критические уязвимости (Spectre, Meltdown, Dirty Cow), добавляет поддержку нового железа и улучшает производительность.

Проверка текущей версии ядра

# Версия ядра
uname -r

# Полная информация
uname -a

# Все установленные ядра
dpkg --list | grep linux-image

# Пример вывода:
# 6.5.0-26-generic  — текущее
# 6.5.0-21-generic  — старое (будет удалено)

Обновление ядра через apt (Ubuntu/Debian)

# Стандартное обновление включает ядро
sudo apt update
sudo apt full-upgrade -y

# Проверить доступные версии ядра
apt-cache search linux-image | grep generic

# Установить конкретную версию
sudo apt install linux-image-6.8.0-31-generic -y

# ОБЯЗАТЕЛЬНО перезагрузить для применения
sudo reboot

Проверка после перезагрузки

# Убедиться что загрузилось новое ядро
uname -r

# Проверить, нет ли проблем с модулями
dmesg | grep -i error | head -20

Откат к предыдущему ядру через GRUB

Если новое ядро вызвало проблемы:

  1. При перезагрузке зажмите Shift (Legacy BIOS) или Esc (UEFI) для входа в GRUB
  2. Выберите Advanced options for Ubuntu
  3. Выберите предыдущую версию ядра
  4. После успешной загрузки — удалите проблемное ядро:
sudo apt remove linux-image-6.8.0-31-generic
sudo update-grub

Установка mainline-ядра (для опытных)

# Ubuntu Mainline Kernel PPA (Canonical)
# Позволяет устанавливать новейшие ядра
sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline

# Через GUI утилиту выбрать и установить нужную версию
⚠️ На продакшн-серверах: Обновляйте ядро только из официальных репозиториев дистрибутива. Mainline/Liquorix ядра не рекомендуются для серверов — они менее стабильны и не имеют долгосрочной поддержки.
💡 livepatch (Ubuntu): Ubuntu Pro предлагает Livepatch — установку патчей безопасности ядра БЕЗ перезагрузки. Критично для серверов с высокими требованиями к uptime.

Разбор типичных ошибок обновления ядра

После обновления ядра сервер не грузится, останавливается в GRUB rescue — чаще всего это признак того, что новое ядро не смогло собрать initramfs с нужными модулями (например, драйвером виртуального диска virtio на VPS).

error: no such device: /dev/sda1
Entering rescue mode...
grub rescue>

Через консоль хостинга (VNC/KVM) загрузитесь со старым ядром через меню GRUB, затем пересоберите initramfs для нового: sudo update-initramfs -u -k 6.8.0-31-generic, и только после успешной пересборки пробуйте грузиться с новым ядром снова.

"Warning: Kernel is too old" или модуль не грузится после обновления — сторонние модули ядра (VirtualBox, NVIDIA, ZFS через DKMS) собираются под конкретную версию заголовков и не пересобираются автоматически при обновлении через apt, если пакет заголовков не совпадает.

modprobe: ERROR: could not insert 'zfs': Invalid argument
dmesg | tail
ZFS: module license 'CDDL' taints kernel

Установите заголовки для новой версии (sudo apt install linux-headers-$(uname -r)) и пересоберите модуль: sudo dkms autoinstall. Без этого шага DKMS-модули остаются привязанными к старому ядру.

Способы обновления ядра: сравнение

СпособИсточник ядраСтабильностьDowntime
apt full-upgradeОфициальный репозиторий дистрибутиваВысокая, протестировано вендоромТребуется перезагрузка
Ubuntu LivepatchПатчи безопасности без замены ядраВысокая для критичных CVEБез перезагрузки
Mainline PPAСборки с kernel.org, не тестированы CanonicalНиже, возможны регрессииТребуется перезагрузка
Сборка из исходниковИсходный код с произвольными патчамиЗависит от квалификацииТребуется перезагрузка

Когда обновление ядра стоит отложить

  • Сервер использует специфичные модули ядра (проприетарные драйверы, ZFS, кастомные сетевые модули) без готовой сборки под новую версию — сначала проверьте совместимость модулей на тестовом окружении.
  • Ближайшее время — пиковая нагрузка (распродажа, релиз) — перезагрузка для применения нового ядра создаёт риск простоя именно в критичный момент.
  • Нет доступа к консоли хостинга (VNC/KVM) на случай, если сервер не поднимется после перезагрузки — без такого доступа восстановление после неудачного апдейта ядра может потребовать обращения в поддержку хостинга и долгого ожидания.

Проверка результата

  1. Проверьте активную версию: uname -r должен совпадать с версией, которую вы устанавливали.
  2. Убедитесь, что старое ядро осталось в GRUB как запасной вариант: awk -F"'" '/menuentry / {print $2}' /boot/grub/grub.cfg должен содержать обе версии.
  3. Проверьте отсутствие ошибок модулей: dmesg | grep -iE "error|fail" | head -20 — критичных сообщений о драйверах быть не должно.
  4. Проверьте ключевые сервисы после перезагрузки: systemctl --failed должен вернуть пустой список.

Обновление ядра часто идёт вместе с обновлением всей системы — см. статью про переход между версиями Debian и общее руководство по обновлению ОС на VDS.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке