Устанавливаем актуальную версию ядра в CentOS 7.
Добавляем репозиторий elrepo-kernel
из elrepo-release
:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Включаем репозиторий elrepo-kernel
:
yum install -y yum-utils
yum-config-manager --enable elrepo-kernel
Установка (какая сейчас актуальная версия смотреть тут https://www.kernel.org/)
Перед установкой важно понимать следующее:
Нет необходимости устанавливать пакет kernel-lt-firmware
или kernel-ml-firmware
. В дистрибутивном пакете linux-firmware
содержится больше файлов прошивки, чем в пакете kernel-lt-firmware
или kernel-ml-firmware
.
Нет необходимости устанавливать пакет kernel-lt-headers
или kernel-ml-headers
. Это необходимо, только если вы собираетесь пересобрать glibc
и следовательно, всю операционную систему.
Если необходимо, чтобы заголовки ядра были установлены, вы должны использовать текущий пакет kernel-headers
из вашего дистрибутива, поскольку это связано с текущей версией glibc
.
Текущая стабильная (latest stable mainline kernel) версия ядра:
yum install -y kernel-ml
LTS (Long Term Support) версия ядра (предпочтительнее):
yum install -y kernel-lt
Автозагрузка нового ядра
Необходимо убедиться в том, что новая версия ядра установлена и добавлена в загрузчик:
awk -F"'|\"" '/^menuentry/&&/elrepo/{print $2}' /boot/grub2/grub.cfg
Должно получиться примерно следующее:
CentOS Linux (4.4.70-1.el7.elrepo.x86_64) 7 (Core)
На всякий случай проверим какое ядро загружется по умолчанию, для этого проверим каким образом grub
выбирает ядро для загруки:
grep GRUB_DEFAULT /etc/default/grub
Должно быть: GRUB_DEFAULT=saved
, если отличается, приводим к этому виду. Это означает, что будет загружена последняя сохраненная версия.
Узнать какая версия ядра была загружена последней можно при помощи следующей команды:
grub2-editenv list
В ответ получим примерно следующее:
saved_entry=CentOS Linux (3.10.0-514.21.1.el7.x86_64) 7 (Core)
В моем случае грузится старое 3.10
.
Изменим загружаемое по умолчанию ядро на свеже-установленное (которое получали при помощи awk
):
grub2-set-default 'CentOS Linux (4.4.70-1.el7.elrepo.x86_64) 7 (Core)'
Убедимся, что grub
выберет правильную версию ядра загружаемого по умолчанию:
grub2-editenv list
В моем случае я получил то, что написал в grub2-set-default
:
saved_entry=CentOS Linux (4.4.70-1.el7.elrepo.x86_64) 7 (Core)
Сохраняем новую конфигурацию загрузчика:
grub2-mkconfig -o /boot/grub2/grub.cfg
Если ошибок небыло, то перезагружаем систему:
reboot
После того, как система перезагрузилась можно проверить текущую версию ядра:
uname -r
Если в ответ получим 4.4.70-1.el7.elrepo.x86_64
, значит все сделано верно.
Ссылки по теме:
Comments
comments powered by Disqus