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

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

• 6 min read • Администрирование • Обновлено 25 Nov 2025
Обновление ядра Ubuntu до mainline (пример 4.11.2)
Обновление ядра Ubuntu до mainline (пример 4.11.2)

Введение

Ядро Linux — это ядро операционной системы Ubuntu. Оно монолитное и было разработано Линусом Торвальдсом. Все дистрибутивы Linux (Ubuntu, CentOS, openSUSE, Red Hat, Debian и др.) используют ядро Linux, но сборки и настройка могут отличаться.

В этом руководстве показано, как обновить ядро Ubuntu до последней mainline-сборки, предоставляемой Ubuntu Kernel Team. В качестве примера используется Ubuntu 16.04.2 Xenial Xerus с ядром 4.4, которое обновляется до 4.11.2.

Важно: mainline-ядро — это «ванильное» ядро с kernel.org, упакованное в .deb. Canonical выпускает свои стабильные production-ядра с дополнительной интеграцией и исправлениями; mainline полезен для тестов и для доступа к новым возможностям, но может быть менее стабилен.

Основная цель

Цель этой инструкции — показать безопасный, воспроизводимый путь обновления kernel до mainline, с проверками, откатом и удалением старых версий.

Что понадобится

  • Доступ по SSH к серверу Ubuntu (root или пользователь с sudo).
  • Интернет-доступ на сервере для скачивания пакетов.
  • Простая резервная политика (снапшот или бэкап конфигураций/данных) — всегда делайте бэкап перед обновлением ядра.

Список задач

  1. Обновить репозитории и пакеты.
  2. Проверить текущую активную версию ядра.
  3. Скачивание и установка mainline-ядра.
  4. Обновление GRUB и перезагрузка.
  5. Опциональное удаление старых ядер.

Шаг 1 — Обновление репозиториев и установленных пакетов

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

Подключитесь к серверу через SSH. Если вы не используете прямой root, выполните sudo -s или sudo -i.

ssh [email protected]

Обновите список пакетов:

sudo apt update

Обновление репозиториев Ubuntu

Затем обновите пакеты:

sudo apt upgrade -y

Перезагрузите сервер (если ядро уже обновлялось или были критические обновления):

sudo reboot

После перезагрузки проверьте, остались ли обновления:

sudo apt list --upgradeable

Убедитесь, что нет ожидающих критических обновлений перед установкой нового ядра.

Важно: на продакшн-системах планируйте окна обслуживания и уведомляйте пользователей.

Шаг 2 — Проверка текущей активной версии ядра

Определим текущую архитектуру и версию ядра:

uname -msr

Пример вывода:

Linux 4.4.0-78-generic x86_64

Это означает, что используется generic-ядро версии 4.4 на 64-битной архитектуре x86_64. Generic — это общее ядро. Для задач с низкой задержкой (аудио/видео, запись) существуют варианты lowlatency.

Шаг 3 — Установка новой версии ядра (mainline)

Mainline-сборки доступны на: http://kernel.ubuntu.com/~kernel-ppa/mainline/ . В примере мы обновляем до v4.11.2.

Создаём директорию для загрузки пакетов:

sudo mkdir -p ~/4.11.2
cd ~/4.11.2

Скачиваем соответствующие пакеты для generic-ядра (amd64 в примере):

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-headers-4.11.2-041102_4.11.2-041102.201705201036_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-headers-4.11.2-041102-generic_4.11.2-041102.201705201036_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.2/linux-image-4.11.2-041102-generic_4.11.2-041102.201705201036_amd64.deb

Загрузка mainline-ядра

Устанавливаем скачанные пакеты:

sudo dpkg -i *.deb

После установки обновляем конфигурацию загрузчика GRUB и перезагружаем систему:

sudo update-grub
sudo reboot

Обновление GRUB Ubuntu 16.04

После перезагрузки снова проверяем версию ядра:

uname -msr

Ожидаемый вывод:

Linux 4.11.2-041102-generic x86_64

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

Шаг 4 — Удаление старых ядер

Чтобы освободить место и убрать неиспользуемые ядра, используем утилиту byobu, которая содержит удобную команду purge-old-kernels.

Установка byobu:

sudo apt install byobu

Установка Byobu Ubuntu 16.04

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

dpkg -l | grep linux-image

Пример: на сервере установлены версии 4.4.62, 4.4.78 и 4.11.2, при этом активно 4.11.2. По умолчанию purge-old-kernels сохраняет как минимум 2 версии (для отката).

Удаляем старые:

sudo purge-old-kernels

Если система сообщает “No kernels are eligible for removal”, значит установлено всего две версии и по умолчанию ничего не удаляется. Чтобы оставить только одну (последнюю), выполните:

sudo purge-old-kernels --keep 1 -q

После очистки обновите GRUB:

sudo update-grub

Удаление старого ядра Ubuntu 16.04

Теперь на системе останется только выбранное вами ядро.

Важно: не удаляйте текущее активное ядро. byobu/purge-old-kernels предотвращают удаление запущенного ядра.

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

  • Сервер успешно загружается с новым ядром в течение нормального окна рестарта.
  • Ключевые сервисы (веб, БД, мониторинг) проходят smoke-тесты в течение проверочного окна (обычно 15–60 минут).
  • Нет критических ошибок в dmesg/syslog, связанных с драйверами или сетевыми интерфейсами.
  • Доступна опция отката (предыдущий kernel в GRUB или резервная копия).

План отката (инцидентный runbook)

  1. Если после обновления сервер не загружается, перезагрузите и в меню GRUB выберите предыдущую версию ядра.
  2. Если предыдущая версия отсутствует — загрузитесь с live-USB/режима восстановления, смонтируйте корневой раздел и переустановите нужное пакетом linux-image-<версия>.deb или через apt (если доступ к Интернету).
  3. Если сеть не работает из-за драйверов, загрузитесь в rescue mode и верните пакет модуля/драйвера.

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

sudo update-grub
# для восстановления конкретной версии (если она доступна в репозитории или локально)
sudo dpkg -i /path/to/linux-image-*.deb
sudo update-grub
sudo reboot

Совет: сохраняйте .deb-файлы старых ядер до тех пор, пока не подтвердите стабильность новой версии.

Риски и меры смягчения

РискВероятностьПоследствияМеры смягчения
Система не загружается с новым ядромСредняяВысокие (недоступность)Оставить резервное ядро, иметь консоль доступа или KVM/IPMI, тестировать в staging
Ошибки драйверов (NIC, RAID, GPU)СредняяСредние/ВысокиеТестировать критичные драйверы в staging, иметь доступ к локальным репозиториям старых модулей
Несовместимость с ПОНизкая/СредняяСредниеSmoke-тесты, мониторинг метрик после обновления

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

  • Использовать официальные ядра Ubuntu (рекомендуется для продакшна) и получать обновления через APT.
  • Инструменты вроде ukuu (уже не поддерживается) или его форка mainline/kernel-install helper (проверяйте совместимость с вашей версией Ubuntu).
  • Сборка ядра из исходников — даёт максимальную гибкость, но требует навыков и тестирования.

Когда mainline не подходит: для критичных production-серверов с высокой доступностью лучше использовать стандартные, поддерживаемые Canonical ядра и протестированные PPA.

Чек-листы по ролям

Администратор системы

  • Сделан бэкап конфигураций и важных данных.
  • Проверены зависимости и доступность репозиториев.
  • Скачаны .deb-файлы выбранной версии ядра.
  • Обновлён GRUB и протестирован выбор ядра в GRUB.

DevOps/Инженер тестирования

  • Запущены smoke-тесты приложений.
  • Проверены сетевые интерфейсы, драйверы диска и модулей.
  • Мониторинг настроен на алерты по ключевым метрикам после обновления.

Короткая методология обновления (SOP)

  1. Подготовка: уведомления и резервные копии.
  2. Обновление пакетов системы.
  3. Скачивание mainline-пакетов в отдельную директорию.
  4. Установка dpkg -i *.deb.
  5. Обновление GRUB и перезагрузка в контрольное окно.
  6. Выполнение smoke-тестов и мониторинг.
  7. Удаление старых ядер при успехе.

Совместимость и заметки по версиям

  • Mainline-ядра могут не включать дополнительные патчи и улучшения Canonical (например, специфические патчи безопасности для Ubuntu).
  • На старых версиях Ubuntu (например, 14.04) возможно отсутствие совместимости с новыми модулями — тестируйте в staging.
  • Архитектура имеет значение: скачивайте пакеты, соответствующие вашей архитектуре (amd64, i386, arm64 и т.д.).

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

  • Показать активное ядро:
uname -r
  • Список установленных ядер:
dpkg -l | grep linux-image
  • Проверить логи ядра:
dmesg | less
journalctl -k | tail -n 200

Глоссарий (одна строка)

  • mainline: «ванильная» сборка ядра с kernel.org, без добавочных патчей дистрибутива.
  • generic: стандартная конфигурация ядра для общего назначения.
  • lowlatency: ядро с настройками для низкой задержки, полезно для ауди/видео задач.

Частые вопросы (FAQ)

Q: Когда стоит использовать mainline-ядро?
A: Когда вам нужны новые функции или исправления, которых нет в текущей стабильной сборке, и вы готовы тестировать и при необходимости откатиться.

Q: Можно ли автоматизировать обновления mainline-ядра?
A: Обычно нет — mainline-ядра лучше устанавливать вручную и тестировать. Для автоматизации используйте проверенные репозитории и CI в контролируемой среде.

Q: Что делать, если сеть не поднимается после обновления?
A: Перезагрузитесь в предыдущую версию ядра через GRUB, проанализируйте dmesg/journalctl, проверьте модуль драйвера сетевой карты.


Итог

Обновление ядра до mainline даёт доступ к новым возможностям, но требует осторожности: предварительное тестирование, резервирование и план отката — обязательны. На продакшне чаще безопаснее оставаться на поддерживаемых Canonical ядрах и использовать mainline в тестовой среде.

Кратко: обновили пакеты, скачали .deb mainline, установили dpkg -i *.deb, обновили grub, перезагрузили, проверили uname, удалили старые ядра через purge-old-kernels.

Ресурсы

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