Linux kernel — это основа каждой системы Rocky Linux, управляющая оборудованием, памятью, процессами и безопасностью. Хотя Rocky Linux поставляется со стабильным, enterprise-протестированным ядром, вам могут понадобиться функции, поддержка оборудования или исправления безопасности, которые ещё не были перенесены в дистрибутивное ядро. Проект ELRepo предоставляет готовые пакеты mainline-ядра, которые дают вам доступ к последней стабильной версии с kernel.org без ручной компиляции.
💡 Если вам нужно самое свежее ядро для поддержки нового оборудования (Wi-Fi, GPU, NVMe), новейших функций или исправлений безопасности — ELRepo позволит установить mainline-ядро рядом со штатным, с возможностью выбора при загрузке.
В этом руководстве мы установим свежее ядро из репозитория ELRepo на Rocky Linux 8, 9 и 10. Вы узнаете:
- Что такое kernel-ml и kernel-lt, и какой выбрать
- Как подключить репозиторий ELRepo
- Как установить mainline-ядро (kernel-ml)
- Как переключаться между ядрами при загрузке
- Как вернуться к штатному ядру Rocky Linux
Для кого: сисадмины (нужна поддержка нового оборудования), разработчики (нужны новые функции ядра), энтузиасты (хотят самое свежее), пользователи с новым железом (Wi-Fi 7, GPU последних поколений).
1. Выбор ядра: kernel-ml vs kernel-lt vs штатное
ELRepo предоставляет две ветки ядер, каждая из которых подходит для разных задач.
| Ветка | Тип | Стабиль ность | Rocky 8 | Rocky 9 | Rocky 10 | Для кого |
|---|---|---|---|---|---|---|
| kernel-ml | Mainline (самое свежее) | Новейшие функции, свежие драйверы | ✅ Да | ✅ Да | ✅ Да | Новое оборудование, новейшие функции, разработчики |
| kernel-lt | Long-term support | Консервативные обновления, длительная поддержка | ✅ Да (5.4.x) | ✅ Да (6.1.x) | ❌ Нет | Продакшен-серверы, стабильность важнее новиз ны |
| Штатное ядро | RHEL-совместимое | Enterprise-протестированное, патчи Red Hat | ✅ Да | ✅ Да | ✅ Да | Большинство пользователей, кому не нужны новые функции |
💡 Вывод для новичка: Для большинства пользователей, которым нужны новые функции ядра, рекомендуется kernel-ml — он отслеживает последнюю стабильную версию с kernel.org. Если вы предпочитаете более консервативный путь обновления с длительным циклом поддержки, выбирайте kernel-lt (но на Rocky 10 он недоступен).
⚠️ Важно: ELRepo отключает репозиторий elrepo-kernel по умолчанию, чтобы случайно не обновить ядро при обычном dnf upgrade. При установке и обновлении ядра нужно явно включать репозиторий флагом --enablerepo=elrepo-kernel.
2. Подготовка системы
2.1 Обновление системы
sudo dnf upgrade --refresh -y
Что делает:
sudo— права суперпользователя.dnf upgrade— обновляет все пакеты до последних версий.--refresh— принудительно перекачивает метаданные репозиториев (игнорирует кэш).-y— автоматически отвечает «yes».
Зачем: Это стандартная практика безопасности перед установкой нового ПО. Если эта команда установит обновление ядра — перезагрузитесь перед продолжением, чтобы ваше работающее ядро совпадало с установленными пакетами.
2.2 Установка dnf-plugins-core (если ещё не установлен)
sudo dnf install -y dnf-plugins-core
Что делает: Устанавливает набор плагинов для DNF, включая команду config-manager.
Зачем: Понадобится для управления репозиториями (включение/отключение elrepo-kernel).
3. Импорт GPG-ключа и добавление репозитория ELRepo
3.1 Импорт GPG-ключа ELRepo
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
Что делает: Скачивает публичный GPG-ключ ELRepo и добавляет его в связку ключей RPM.
Зачем: DNF требует проверки GPG-подписи для пакетов из внешних репозиториев. Ключ позволяет проверить, что пакеты действительно происходят от ELRepo.
Проверка, что ключ импортирован:
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE} %{SUMMARY}\n' | grep -i elrepo
✅ Ожидаемый вывод:
gpg-pubkey-baadae52-6540544e gpg(elrepo.org (RPM Signing Key for elrepo.org) <secure@elrepo.org>)
3.2 Установка пакета ELRepo release
Выберите команду для вашей версии Rocky Linux.
Для Rocky Linux 10:
sudo dnf install -y https://www.elrepo.org/elrepo-release-10.el10.elrepo.noarch.rpm
Для Rocky Linux 9:
sudo dnf install -y https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
Для Rocky Linux 8:
sudo dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
Что делает: Устанавливает пакет elrepo-release, который создаёт файлы репозитория в /etc/yum.repos.d/, чтобы DNF мог находить пакеты ELRepo.
3.3 (Только для Rocky Linux 10) Обход проблемы с GPG-ключом
На Rocky Linux 10 из-за более строгих криптополитик может возникнуть ошибка импорта GPG-ключа:
error: Certificate 309BC305BAADAE52: Policy rejects 309BC305BAADAE52: Policy rejected asymmetric algorithm
Решение: Установите пакет elrepo-release с временно отключённой проверкой GPG:
sudo dnf install -y https://www.elrepo.org/elrepo-release-10.el10.elrepo.noarch.rpm --nogpgcheck
⚠️ Важно: Это отключает проверку только для установки пакета репозитория. Последующие установки пакетов из ELRepo будут проверять подписи нормально.
3.4 Проверка доступных ядер
dnf list available --disablerepo='*' --enablerepo=elrepo-kernel | grep -E '^kernel-(ml|lt)\.'
✅ Ожидаемый вывод для Rocky 9:
kernel-lt.x86_64 6.1.159-1.el9.elrepo elrepo-kernel
kernel-ml.x86_64 6.18.3-1.el9.elrepo elrepo-kernel
✅ Ожидаемый вывод для Rocky 10 (только kernel-ml):
kernel-ml.x86_64 6.18.3-1.el10.elrepo elrepo-kernel
Зачем: Убедиться, что репозиторий настроен правильно, и увидеть доступные версии ядер.
4. Установка mainline-ядра (kernel-ml)
4.1 Установка ядра
sudo dnf --enablerepo=elrepo-kernel install -y kernel-ml
Что делает: Устанавливает пакет kernel-ml (mainline-ядро) из репозитория ELRepo. Флаг --enablerepo=elrepo-kernel временно включает репозиторий для этой операции.
Зачем: Новое ядро устанавливается рядом со штатным, не удаляя его. При загрузке вы сможете выбрать, какое ядро использовать.
4.2 (Опционально) Установка дополнительных пакетов для разработки
Если вам нужно компилировать модули ядра (например, драйвер NVIDIA, VirtualBox), установите заголовочные файлы:
sudo dnf --enablerepo=elrepo-kernel install -y kernel-ml-devel kernel-ml-headers
Для установки дополнительных модулей и инструментов:
sudo dnf --enablerepo=elrepo-kernel install -y kernel-ml-modules-extra kernel-ml-tools
💡 Совет: Устанавливайте -devel и -headers только если они действительно нужны. Большинству пользователей, использующим готовое ПО, эти пакеты не требуются.
4.3 (Опционально) Установка kernel-lt (только для Rocky 8/9)
Если вы предпочитаете long-term support ядро вместо самого свежего:
sudo dnf --enablerepo=elrepo-kernel install -y kernel-lt
Зачем: kernel-lt получает патчи безопасности и исправления ошибок в течение длительного периода, но не включает новейшие функции kernel-ml. Выбирайте kernel-lt, если приоритет — стабильность, а не новизна.
5. Перезагрузка и выбор нового ядра
5.1 Перезагрузка системы
sudo reboot
Что делает: Перезагружает систему. Ядро работает на самом низком уровне ОС, поэтому изменения требуют полной перезагрузки.
5.2 Проверка версии загруженного ядра
uname -r
✅ Ожидаемый вывод (пример для Rocky 10):
6.18.3-1.el10.elrepo.x86_64
Более подробная информация:
uname -a
✅ Ожидаемый вывод:
Linux rocky10 6.18.3-1.el10.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 2 11:45:22 EST 2026 x86_64 x86_64 x86_64 GNU/Linux
Зачем: Убедиться, что загрузилось именно новое ядро (в версии есть elrepo).
6. Управление ядрами
6.1 Просмотр ядра по умолчанию
sudo grubby --default-kernel
✅ Ожидаемый вывод:
/boot/vmlinuz-6.18.3-1.el10.elrepo.x86_64
6.2 Список всех установленных ядер
sudo grubby --info=ALL | grep -E '^(index|kernel|title)'
✅ Ожидаемый вывод (пример):
index=0
kernel="/boot/vmlinuz-6.18.3-1.el10.elrepo.x86_64"
title="Rocky Linux (6.18.3-1.el10.elrepo.x86_64) 10.1 (Red Quartz)"
index=1
kernel="/boot/vmlinuz-6.12.0-124.21.1.el10_1.x86_64"
title="Rocky Linux (6.12.0-124.21.1.el10_1.x86_64) 10.1 (Red Quartz)"
Зачем: Показаны все ядра, доступные для загрузки, с их индексами и заголовками.
6.3 Смена ядра по умолчанию
По пути к файлу:
sudo grubby --set-default /boot/vmlinuz-6.12.0-124.21.1.el10_1.x86_64
По индексу (из списка выше):
sudo grubby --set-default-index=1
7. Обновление mainline-ядра
ELRepo обновляет пакеты kernel-ml при выходе новых стабильных ядер.
7.1 Проверка и установка обновлений
sudo dnf --enablerepo=elrepo-kernel upgrade kernel-ml
Что делает: Проверяет наличие новой версии kernel-ml в репозитории ELRepo и устанавливает её.
Зачем: Репозиторий elrepo-kernel отключён по умолчанию, поэтому обычная команда sudo dnf upgrade не обновит ядро. Нужно явно включать репозиторий.
7.2 (Опционально) Включение репозитория elrepo-kernel для автоматических обновлений
Если вы хотите, чтобы ядро обновлялось вместе с обычными dnf upgrade:
sudo dnf config-manager --set-enabled elrepo-kernel
⚠️ Внимание: Включение репозитория elrepo-kernel приведёт к тому, что при каждом dnf upgrade будет проверяться наличие новой версии ядра. Это может быть нежелательно на продакшен-серверах. Рекомендуется обновлять ядро явно, с флагом --enablerepo.
7.3 Перезагрузка после обновления ядра
sudo reboot
8. Возврат к штатному ядру
8.1 Выбор штатного ядра при загрузке
Если новое ядро вызывает проблемы, штатное ядро всё ещё установлено и доступно в GRUB.
- Перезагрузите систему и следите за появлением меню GRUB.
- Стрелками выберите запись со штатным ядром (в версии нет «elrepo»).
- Нажмите Enter.
8.2 Установка штатного ядра по умолчанию
После загрузки в штатное ядро выполните:
sudo grubby --set-default /boot/vmlinuz-$(rpm -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' kernel | head -1)
8.3 Удаление mainline-ядра (опционально)
⚠️ Перед удалением убедитесь, что вы загружены в штатное ядро (проверьте uname -r). Удаление работающего ядра невозможно и может привести к нестабильности системы.
sudo dnf remove kernel-ml kernel-ml-core kernel-ml-modules
Если устанавливали пакеты разработки:
sudo dnf remove kernel-ml-devel kernel-ml-headers
8.4 Отключение или удаление репозитория ELRepo (опционально)
Отключение репозиториев (без удаления):
sudo dnf config-manager --set-disabled elrepo
sudo dnf config-manager --set-disabled elrepo-kernel
Проверка, что репозитории отключены:
dnf repolist --all | grep elrepo
Полное удаление ELRepo:
sudo dnf remove elrepo-release
9. Диагностика проблем
9.1 Система не загружается после установки ядра
Решение: Штатное ядро остаётся доступным в GRUB.
- Перезагрузитесь и войдите в меню GRUB (клавиша Esc или Shift при загрузке).
- Выберите штатное ядро (без «elrepo» в названии).
- Загрузитесь и установите штатное ядро по умолчанию (см. раздел 8.2).
9.2 Перестали работать модули NVIDIA или VirtualBox
Причина: Модули, собранные под старое ядро, не работают с новым. DKMS-модули должны пересобраться автоматически, но иногда требуется ручное вмешательство.
Решение для драйверов NVIDIA из ELRepo:
sudo dnf --enablerepo=elrepo install kmod-nvidia
Решение для VirtualBox или других DKMS-модулей:
sudo dnf --enablerepo=elrepo-kernel install kernel-ml-devel
sudo dkms autoinstall
9.3 Репозиторий ELRepo не показывает пакеты
Проверка статуса репозитория:
dnf repolist --all | grep elrepo
Если репозиторий отключён — это нормально. Используйте --enablerepo=elrepo-kernel при установке.
Если репозиторий отсутствует — переустановите elrepo-release для вашей версии Rocky Linux.
9.4 Ошибка «No such command: config-manager»
Решение:
sudo dnf install -y dnf-plugins-core
Чек-лист: всё готово к работе
# 1. Проверка версии ядра
uname -r
# 2. Проверка, что загружено ядро из ELRepo
uname -r | grep elrepo
# 3. Проверка ядра по умолчанию
sudo grubby --default-kernel
# 4. Список установленных ядер
sudo grubby --info=ALL | grep -E '^(index|kernel|title)'
# 5. Проверка репозитория ELRepo
dnf repolist --all | grep elrepo
Заключение
Вы установили свежее mainline-ядро из ELRepo на Rocky Linux. Теперь ваша система имеет доступ к последним функциям ядра и поддержке нового оборудования.
Что теперь есть в системе:
- ✅ Новое ядро kernel-ml (или kernel-lt)
- ✅ Штатное ядро Rocky Linux осталось для отката
- ✅ Возможность выбора ядра при загрузке
- ✅ Инструменты для управления порядком загрузки
Что дальше:
- После установки драйверов NVIDIA или VirtualBox пересоберите модули под новое ядро
- Настройте автоматическую загрузку нужного ядра по умолчанию
- Периодически обновляйте ядро:
sudo dnf --enablerepo=elrepo-kernel upgrade kernel-ml - При проблемах — загрузитесь со штатным ядром через GRUB