Устанавливаем актуальную версию ядра в 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