Система работает, но новое железо не определяется, драйвер ведёт себя странно, а после очередного апдейта хочется понять: проблема в дистрибутиве или уже в ядре? В Linux это нормальный вопрос, потому что именно kernel управляет железом, памятью, планировщиком задач, файловыми системами и частью сетевого стека.
Ниже разберём, как узнать текущую версию ядра, где скачать Linux Kernel, когда обновлять его через пакетный менеджер, когда имеет смысл ставить specific kernel version вручную и как безопасно откатиться, если после смены ядра система перестала загружаться.
Что нужно знать перед установкой или обновлением ядра
Что такое версия ядра (linux kernel version)
Версия ядра — это номер ветки Linux Kernel, например 6.12, 6.18 или 6.19. Но для пользователя важен не только номер, а тип релиза: обычный stable, долгоживущий LTS/longterm и предварительный mainline/rc.
На практике это работает так: stable даёт свежие исправления и относительно быстро меняется, longterm дольше сопровождается и чаще подходит для рабочих машин, а mainline или release candidate выбирают в основном для тестов, нового оборудования и проверки багов.
| Тип ядра | Что это | Когда актуально | Главный риск |
|---|---|---|---|
| Stable | Текущая стабильная ветка с регулярными исправлениями | Домашний ПК, ноутбук, рабочая станция | Более частая смена ветки |
| LTS / longterm | Ветка с долгой поддержкой и важными backport-исправлениями | Сервер, продакшн, система “поставил и забыл” | Новые функции приходят медленнее |
| Mainline / RC | Самые свежие релизы и предрелизные сборки | Тесты, новое железо, отладка | Нестабильность и сюрпризы с драйверами |
Если у вас нет конкретной причины гнаться за самым новым kernel, longterm почти всегда рациональнее.
Когда стоит обновлять или менять kernel
Обновление ядра оправдано, когда система не видит новое устройство, не работает Wi-Fi, нестабильно ведёт себя видеодрайвер, нужен более свежий файловый драйвер или исправление безопасности. Ещё один частый сценарий — покупка нового ноутбука, где старое ядро не знает часть железа из коробки.
Менять kernel вручную имеет смысл не “на всякий случай”, а под задачу. Например, если вы тестируете новую платформу AMD, пытаетесь завести свежий GPU или хотите проверить, ушёл ли баг в новой ветке. В таких случаях полезно заранее понимать совместимость модулей и драйверов, особенно если система зависит от DKMS, VirtualBox, NVIDIA или специфичных out-of-tree модулей.
Если у вас как раз есть вопросы по видеодрайверу, логично сверить ожидания со статьёй про AMDGPU в Linux: проблема не всегда в самом обновлении ядра, иногда узкое место именно в модуле графики.
Риски и меры предосторожности
Главные риски три: система может не загрузиться, внешний модуль может не собраться под новую версию ядра, а производительность или энергопотребление могут измениться не в ту сторону. На ноутбуках это особенно заметно по suspend/resume, Wi-Fi и автономности.
- Не удаляйте старое рабочее ядро до проверки нового.
- Убедитесь, что меню GRUB показывается и вы умеете выбрать предыдущую запись.
- Проверьте свободное место в
/boot, особенно на старых установках. - Сделайте резервную копию важных данных и конфигов загрузчика.
- Если используете Secure Boot и сторонние модули, заранее проверьте подписи и DKMS.
- Подтверждено: новое ядро действительно часто решает проблемы с поддержкой свежего железа и уязвимостей.
- Подтверждено: обновление kernel не гарантирует прирост производительности во всех задачах.
- Слух/миф: “самое новое ядро всегда лучше для всех”. На практике для сервера это нередко худший выбор.
- Слух/миф: “если обновить kernel, драйверы сами всегда подстроятся”. Для DKMS-модулей это не так.
Как узнать текущую версию Linux Kernel
Команды для проверки версии
Базовая команда — простая и быстрая:
uname -rДополнительные варианты:
hostnamectl
cat /proc/versionДля списка установленных ядер в популярных дистрибутивах также полезны:
dpkg --list | grep linux-image
rpm -qa | grep kernel
ls /boot | grep vmlinuzРазбор вывода
Команда uname -r показывает именно запущенное сейчас ядро, например 6.8.0-57-generic или 6.12.0-xxx.el9uek.x86_64. Часть после дефиса часто указывает, что это не “чистое” upstream-ядро, а сборка вашего дистрибутива с его патчами и обозначениями.
Это важный момент: upstream Linux Kernel и пакет ядра от дистрибутива — не одно и то же. Даже если в основе одна ветка, Fedora, Ubuntu, Debian или Oracle Linux могут добавлять свои настройки, патчи, модули и политику сопровождения.
Смотреть нужно не только на номер версии, но и на суффикс сборки.
Где скачать Linux Kernel
Официальные источники
Главный источник — kernel.org. Это правильный выбор, если вам нужны исходники, changelog, patch-файлы, подписи и информация по активным веткам.
Git-зеркала и GitHub подходят для разработки и просмотра кода, но для обычной установки пользователю чаще нужны либо официальные tarball-архивы с kernel.org, либо пакеты из репозиториев самого дистрибутива.
Как выбрать нужную версию (latest / current)
Логика выбора простая:
- latest stable — когда нужен самый свежий стабильный релиз и вы готовы к более частым изменениям;
- longterm / LTS — когда важнее предсказуемость и длительная поддержка;
- mainline / rc — когда надо протестировать очень новую функцию или проверить баг на свежем коде.
Для продакшена, домашнего сервера и рабочей машины обычно разумнее брать longterm-ветку или штатное ядро вашего дистрибутива. Для свежего железа — смотреть, в какой ветке появилась нужная поддержка, и уже от этого решать, стоит ли идти в newer stable.
Если вам важен контекст по конкретной долгоживущей ветке, можно дополнительно посмотреть разбор что нового в Linux 6.18 — это помогает понять, ради чего вообще имеет смысл переходить на более новую ветку.
Форматы исходников
Чаще всего вы встретите такие форматы:
| Формат | Что внутри | Когда нужен |
|---|---|---|
| tar.xz | Полные исходники ядра | Сборка kernel из source |
| patch / inc. patch | Разница между релизами | Разработка и обновление дерева исходников |
| .deb / .rpm | Готовые пакеты ядра | Установка без ручной компиляции |
Практически: если вы не компилируете ядро сами, ищите пакет ядра в репозитории дистрибутива, а не tar.xz.
Установка Linux Kernel (общий способ)
Установка из исходников
Сборка из исходников нужна не большинству пользователей, а тем, кому важны кастомные опции: убрать лишние драйверы, включить редкий модуль, протестировать патч или собрать более свежую ветку раньше, чем она попадёт в репозиторий дистрибутива.
Базовая схема выглядит так:
wget https://cdn.kernel.org/pub/linux/kernel/.../linux-x.y.z.tar.xz
tar -xf linux-x.y.z.tar.xz
cd linux-x.y.zДальше нужно взять основу конфигурации. Самый безопасный путь — использовать конфиг текущего ядра как стартовую точку:
cp /boot/config-$(uname -r) .config
make oldconfigТак вы не начинаете с нуля и уменьшаете риск забыть критичный драйвер диска, файловой системы или сети.
Сборка ядра (compile)
Дальше идёт настройка и компиляция:
make menuconfig
make -j$(nproc)
sudo make modules_install
sudo make installmake menuconfig нужен, когда вы реально хотите менять kernel config. Если специальных задач нет, часто достаточно существующего .config и команды make oldconfig.
Сборка может занимать от нескольких минут до часа и больше — зависит от CPU, количества модулей и скорости диска. На ноутбуках важно следить за температурой и питанием: прерванная компиляция не опасна для системы, но забирает время и место.
- Используйте
make -j$(nproc)или чуть меньше потоков, если системе нужен запас. - Не включайте лишние модули и debug-опции без причины.
- Берите текущий конфиг системы вместо ручной настройки “с нуля”.
- Собирайте на SSD и следите, чтобы не забился
/tmpи рабочий каталог.
Установка и обновление загрузчика
После make install ядро и initramfs обычно добавляются в загрузчик автоматически, но это зависит от дистрибутива и способа сборки. Проверить это нужно обязательно, иначе новое ядро физически установится, но в меню загрузки не появится.
Для систем с GRUB часто используют:
sudo update-grubили:
sudo grub2-mkconfig -o /boot/grub2/grub.cfgЗдесь нет универсальной команды для всех систем. На Debian/Ubuntu чаще встречается update-grub, на Fedora/Oracle Linux — инструменты семейства grub2 и grubby.
Ручная установка из исходников — это путь для опытных пользователей. Для остальных почти всегда лучше пакетный менеджер.
Обновление Linux Kernel
Разница между install и update
Install — это ручная установка конкретного ядра: из исходников, готового пакета или внешнего репозитория. Update — это обычное обновление системы, при котором дистрибутив сам подтягивает новое ядро по своей политике сопровождения.
Для пользователя разница критична. При update вы получаете ядро, которое протестировано именно в контексте вашего дистрибутива. При install вручную вы берёте больше контроля, но и больше ответственности за загрузчик, модули и откат.
Обновление через пакетный менеджер
Это базовый и наиболее безопасный сценарий.
Debian / Ubuntu:
sudo apt update
sudo apt upgradeЕсли нужно подтянуть новые зависимости и метапакеты ядра более агрессивно:
sudo apt full-upgradeArch Linux:
sudo pacman -SyuFedora:
sudo dnf upgrade --refreshOracle Linux:
sudo dnf updateПлюс этого подхода в том, что система сама поставит нужные связанные пакеты: образ ядра, модули, initramfs и, как правило, обновит записи загрузчика. Минус в том, что вы ограничены политикой репозиториев своего дистрибутива.
Автоматические обновления
Автообновления удобны для безопасности, но не всегда хороши для машин, где важна строгая предсказуемость. На домашнем ПК это обычно плюс, на проде — зависит от окна обслуживания и критичности сервиса.
Имеет смысл разделять два сценария:
- обычные автоматические апдейты пакетов — обновляют ядро, но новая версия начнёт реально работать только после перезагрузки;
- live patching — закрывает часть критичных уязвимостей без reboot, но не заменяет полноценную смену ядра.
То есть ответ на вопрос “можно ли обновить kernel без перезагрузки” звучит так: полностью сменить ядро без reboot нельзя, но часть security-патчей можно применять через livepatch-инструменты. Для обычного пользователя это не альтернатива полноценному kernel upgrade, а отдельный сценарий для аптайма.
Как сменить (change) Linux Kernel
Выбор ядра при загрузке
Самый безопасный способ сменить ядро — не удалять старое, а выбрать нужное в меню GRUB при загрузке. Обычно нужный пункт находится в “Advanced options” или похожем подпункте.
Такой подход удобен в двух случаях: вы тестируете новую ветку и хотите сравнить поведение, либо после обновления система запускается нестабильно и нужно быстро вернуться на прошлое рабочее ядро.
Удаление старых версий
Удалять старые ядра стоит только после нескольких нормальных загрузок нового. Иначе вы сами отрежете себе путь к rollback.
Практическое правило простое: держите минимум одно предыдущее рабочее ядро. На серверах — иногда даже два, особенно если есть DKMS-модули, RAID, нестандартные HBA или чувствительные сетевые драйверы.
Риск: если у вас маленький раздел /boot, старые ядра занимают место. Но это всё равно лучше, чем остаться без рабочего варианта загрузки.
Откат (rollback) ядра
Rollback обычно выглядит так:
- В меню GRUB выбрать прежнее ядро.
- Проверить, что система снова работает штатно.
- Разобраться, что именно сломалось: модуль, initramfs, Secure Boot, конкретный драйвер или параметр ядра.
- Только потом удалить проблемное ядро или исключить его из загрузки по умолчанию.
Если система вообще не загружается, нужен recovery mode, live USB или доступ к консоли/ILO/IPMI. Именно поэтому совет “не удаляйте старое ядро сразу” — не формальность, а страховка, которая реально экономит часы.
- Ноутбук с новым Wi-Fi или GPU: сначала пробуйте более новую stable-ветку через репозитории дистрибутива.
- Сервер в работе: выбирайте longterm или штатное ядро дистрибутива, а не самый свежий mainline.
- Тест багфикса: ставьте specific kernel version рядом со старым и сравнивайте поведение.
- Проблема после апдейта: первым делом грузитесь в предыдущее ядро, а не пересобирайте систему вслепую.
Установка и обновление ядра в разных дистрибутивах
Ubuntu / Debian
Здесь ядро обычно обновляется вместе с системой через APT, и это лучший путь для большинства пользователей. В Debian часто используют метапакеты семейства linux-image-*, а в Ubuntu ядро обычно приходит как часть стандартного стека конкретного релиза.
Базовое обновление:
sudo apt update
sudo apt upgradeПроверка текущего ядра:
uname -rОбновление загрузчика при необходимости:
sudo update-grubУстановка specific kernel version здесь возможна, но только если нужный пакет реально есть в репозитории или в отдельной официальной сборке. Для обычной системы это уже продвинутый сценарий: легко получить несовпадение модулей, headers и DKMS.
Когда это актуально? Когда вам нужно новое оборудование, HWE-стек, тест бага или более предсказуемый longterm-подход. Когда не актуально? Когда система и так стабильна, а задача только “обновить ради обновления”.
Arch Linux
В Arch всё проще по логике, но требовательнее к дисциплине: это rolling release, поэтому ядро приходит часто и вместе с ним могут меняться связанные компоненты. Для пользователя это означает быстрый доступ к новому железу, но и более высокий риск поймать несовместимость.
Основные команды:
sudo pacman -Syu
sudo pacman -S linux
sudo pacman -S linux-ltsХорошая практика для Arch — держать и обычное ядро, и linux-lts как запасной вариант. Это особенно полезно на рабочих машинах и ноутбуках, где сбой suspend или графики ощущается сразу.
Когда это актуально? Когда вы хотите свежие ядра и умеете читать changelog. Когда нет? Когда вам нужна максимально спокойная система без частых изменений.
Fedora
Fedora обычно получает новые версии ядра быстрее консервативных дистрибутивов, но остаётся в рамках пакетной модели. Это удобный компромисс между свежестью и управляемостью.
Обновление делается через DNF:
sudo dnf upgrade --refreshСмена ядра по умолчанию и работа с boot-записями часто завязаны на grubby. Это полезно, когда нужно явно выбрать предыдущую версию ядра как дефолтную после неудачного апдейта.
Практический плюс Fedora — ядра обычно не “замещаются”, а устанавливаются рядом, поэтому rollback делать проще. Минус — очень свежий стек иногда раньше других дистрибутивов ловит edge-case проблемы на редком железе.
Oracle Linux
У Oracle Linux есть важная особенность: помимо совместимого ядра RHCK используется UEK — Unbreakable Enterprise Kernel. Это уже не просто “очередная версия ядра”, а отдельная логика выбора между совместимостью и enterprise-оптимизацией под экосистему Oracle.
Типовые команды:
sudo dnf update
sudo dnf install kernel-uekДля смены ядра по умолчанию здесь часто используют grubby. Это нормальный путь, если нужно переключиться между UEK и RHCK или зафиксировать конкретную запись загрузки.
Когда это актуально? Когда вы работаете с Oracle Linux, OCI, enterprise-сценариями или хотите именно UEK. Когда нет? Когда вам нужен просто “обычный Linux для дома” и вы не используете экосистему Oracle.
| Дистрибутив | Основной способ | Что выбрать в большинстве случаев | Особенность |
|---|---|---|---|
| Ubuntu / Debian | APT | Штатное ядро из репозитория | Удобно и предсказуемо для большинства |
| Arch Linux | pacman | linux + запасное linux-lts | Rolling release, быстрые обновления |
| Fedora | DNF | Обычное обновление через dnf | Свежий стек и удобный rollback |
| Oracle Linux | DNF + grubby | Выбор между RHCK и UEK под задачу | Enterprise-логика и UEK |
FAQ
Как выбрать между LTS и latest kernel?
Если вам важны стабильность, предсказуемость и длинный срок сопровождения — берите LTS/longterm. Если у вас новое железо или нужен свежий драйверный стек — смотрите на latest stable, но оставляйте старое ядро для отката.
Что делать, если система не загружается после обновления?
Загрузиться в предыдущее ядро через GRUB, проверить логи, initramfs, DKMS и параметры загрузки. Только после этого удалять проблемную версию. Самая частая ошибка — удалить старое рабочее ядро слишком рано.
Как настроить kernel parameters?
Временно — через редактирование записи GRUB при старте. Постоянно — через конфиг загрузчика, например /etc/default/grub, после чего нужно пересобрать конфигурацию GRUB. Это актуально для отладки ACPI, IOMMU, графики и энергосбережения.
Как установить specific kernel version?
Лучше всего — из официального репозитория дистрибутива, если нужный пакет там доступен. Ручная установка конкретной версии оправдана для теста бага, драйвера или воспроизведения проблемы, но требует аккуратности с зависимостями и загрузчиком.
Можно ли обновить kernel без перезагрузки?
Полноценную смену ядра — нет. Но часть security-исправлений можно применять через livepatch-решения без reboot. Это полезно для серверов, но не отменяет плановую перезагрузку при обычном kernel upgrade.
Как проверить совместимость драйверов?
Смотрите, есть ли у вас DKMS-модули, проприетарные драйверы, VirtualBox, нестандартные RAID/HBA-модули и Secure Boot. После установки нового ядра обязательно проверяйте, собрались ли модули и появился ли initramfs без ошибок.
Чем отличается generic kernel и custom kernel?
Generic kernel — это универсальная сборка дистрибутива для широкого набора систем. Custom kernel — сборка под ваши задачи: меньше лишнего, больше контроля, но и выше риск ошибок при конфигурации и поддержке.
Стоит ли компилировать ядро самому?
Только если у вас есть конкретная причина: патч, редкая опция, тест новой ветки или исследование бага. Для обычного пользователя пакетное ядро дистрибутива почти всегда даёт лучший баланс между безопасностью и удобством.
Итог
Самая безопасная стратегия выглядит так: сначала понять, какая версия ядра стоит сейчас, затем решить, нужна ли вам вообще смена ветки, и только после этого выбирать способ — пакетный менеджер или ручная установка. Для 90% пользователей правильный ответ — обновление штатного ядра через репозиторий дистрибутива.
Ручная компиляция Linux Kernel — это уже не “обычный апдейт”, а техническая работа с конфигом, модулями и загрузчиком. Она оправдана, когда вы точно знаете, зачем идёте в source build. Во всех остальных случаях выигрывает простой принцип: не ставить более сложное ядро, чем требует ваша задача.




