Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Ваша операционная система вот-вот получит мощнейший апгрейд, о котором вы даже не подозревали. Речь идет о самом сердце системы — ядре Linux. С каждой новой версией оно становится быстрее, стабильнее и умнее, добавляя поддержку новейшего железа и закрывая уязвимости безопасности.

Вы до сих пор работаете на устаревшем ядре? Тогда вы теряете в производительности и лишаете свою систему важных функций. Мы подготовили для вас исчерпывающее руководство, которое развеет весь страх перед этим процессом.

Вы узнаете, как безопасно обновить ядро в двух самых популярных дистрибутивах — Ubuntu и CentOS. Мы покажем, где взять готовые пакеты и как установить их в несколько команд. Вас ждут четкие инструкции, которые исключат ошибки. Мы даже разберем, что делать, если что-то пойдет не так и система не загрузится — у вас всегда будет запасной выход.

Хотите раскрыть полный потенциал своего Linux? Готовы заставить его работать с самым современным оборудованием? Тогда не откладывайте! Вся необходимая информация ждет вас в полной версии статьи. Переходите и сделайте ваш Linux по-настоящему современным!


В последнее время новые версии ядер выходят достаточно часто. Раз в несколько месяцев выходит стабильный релиз. Ну а нестабильные кандидаты в релизы выходят и того чаще. Линус Торвальдс и множество разработчиков по всему миру постоянно работают над улучшением новых ядер и добавлением в них все больше и больше функциональности.

С каждой новой версией в ядре Linux появляется поддержка нескольких новых устройств, например, новых процессоров, видеокарт или даже сенсорных экранов. За последнее время, поддержка нового оборудования очень сильно улучшилась. Также в ядро включаются новые файловые системы, улучшается работа сетевого стека, исправляются ошибки и баги.

Если вам нужна более подробная информация об изменениях в какой-то определенной версии ядра смотрите ее Changelog на kernel.org, а в этой статье мы рассмотрим обновление ядра Linux до самой новой версии. Я попытаюсь не привязывать инструкцию к определенной версии ядра, новые ядра выходят достаточно часто и она будет актуальна для каждого из них. Рассмотрим обновление ядра Ubuntu и CentOS. Сначала давайте рассмотрим как обновить ядро в Ubuntu.


Содержание статьи

Обновление ядра Ubuntu вручную

Давайте сначала посмотрим какое ядро у вас установлено. Для этого откройте терминал и выполните:

uname -r

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Например, у меня сейчас используется версия 5.4, и я могу обновиться к самой новой версии. Разработчики Ubuntu уже позаботились о том чтобы их пользователи не собирали ядро вручную и сделали deb пакеты новой версии ядра. Их можно скачать с официального сайта Canonical.

Я мог бы привести здесь команды wget для загрузки, если была бы известна версия ядра, но в нашем случае лучше будет использовать браузер. Откройте сайт http://kernel.ubuntu.com/~kernel-ppa/mainline/. Здесь находятся все, собираемые командой Ubuntu ядра.

Пролистайте вниз, именно там находятся более новые версии ядер:

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Кроме того, в самом верху есть папка daily/current, в которой находятся самые свежие, ночные сборки ядер. Выберите нужную версию ядра, затем выберите архитектуру. Для 64-битных систем вам понадобится архитектура amd64:

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Далее надо скачать четыре файла: два linux-headers, linux-image и linux-modules. Как видите, там есть несколько типов ядер: lowlatency и generic. Ядро lowlatency судя из названия имеет более низкие задержки при работе с прерываниями. Зато ядро generic имеет большую пропускную способность. В большинстве случаев достаточно ядра generic. Скачайте linux-headers для all и generic, а также linux-image-generic и linux-modules-generic:

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

После завершения загрузки можно переходить к установке. Перейдите в папку с установочными пакетами, например, ~/Downloads:

cd ~/Downloads

Запустите установку:

dpkg -i linux-headers* linux-image* linux-modules*

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Если эта команда не сработала, можно пойти другим путем. Установите утилиту gdebi:

sudo apt install gdebi

Затем с помощью нее установите ядро:

sudo gdebi linux-headers*.deb linux-image-*.deb linux-modules-*.deb

Ядро установлено, осталось обновить загрузчик:

sudo update-grub

Теперь можно перезагружать компьютер и смотреть что получилось. После перезагрузки убедимся, что обновление ядра Linux до самой новой версии прошло успешно:

uname -r

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Как видите ядро успешно установлено и работает. Но не спешите удалять старую версию ядра, рекомендуется иметь несколько версий ядра в системе, чтобы в случае неполадок иметь возможность загрузиться со старой рабочей версии. Если вы хотите настроить автоматическое обновление ядра в Ubuntu - используйте утилиту UKKU.

Если во время установки произошли какие-либо ошибки или ядро обновилось неправильно, и теперь система не загружается с новым ядром, вы можете использовать старое ядро. Также система может не запускаться, если вы используете проприетарный драйвер для видеокарты NVIDIA в таком случае не спешите качать самую новую версию ядра, используйте только стабильные ядра, в них, как правило, уже добавлена поддержка этого модуля.

А чтобы восстановить работу системы выберите пункт Advanced options for Ubuntu в меню Grub:

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

И запустите предыдущее работающее ядро:

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

После загрузки останется удалить неверно установленное ядро и еще раз обновить Grub. Найдите точное имя пакета ядра с помощью apt search. Например:

sudo apt search linux-headers-5.8

Затем удалите этот пакет:

sudo apt remove linux-headers-5.8-000055-generic

Аналогично надо поступить с ядром. После этого обновите конфигурацию Grub:

sudo update-grub

Теперь ваша система вернулась к прежнему состоянию. Вы можете попробовать устанавливать более старую версию ядра или попробовать еще раз.

Обновление ядра Linux до в CentOS

А теперь давайте рассмотрим как обновить ядро Linux самой новой версии в CentOS. Инструкция проверена на CentOS 8, но скорее всего, будет работать и на RHEL 8, Fedora и других подобных дистрибутивах.

Как правило, новые ядра не включены в официальные репозитории CentOS, поэтому чтобы получить последнюю стабильную версию нам необходимо будет добавить репозиторий ELRepo. Это репозиторий коммерческих пакетов (Enterprise Linux Packages) он также поддерживается в RHEL и Fedora.

Для добавления репозитория сначала необходимо импортировать ключ:

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Для того чтобы добавить репозиторий и необходимые компоненты в RHEL 7 и CentOS 7 выполните:

sudo yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

В CentOS 8 выполните:

sudo dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

В CentOS 6:

sudo yum install https://www.elrepo.org/elrepo-release-6.el6.elrepo.noarch.rpm

Готово, теперь посмотрим текущую версию ядра:

uname -r

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Можем устанавливать самую новую версию ядра Linux командой:

sudo yum --enablerepo=elrepo-kernel install kernel-ml

Обновляем ядро Linux: пошаговая инструкция для Ubuntu и CentOS

Пакет kernel-ml, это текущий стабильный mainline релиз, на данный момент, это 5.8. После того как установка нового ядра Linux завершена, обновите конфигурационный файл загрузчика:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Затем можете перезагружать систему. Обновление ядра в CentOS завершено.

Если после перезагрузки у вас возникли какие-либо проблемы с новым ядром, просто удалите его с помощью команды:

yum remove kernel-ml -y

Или:

dnf remove kernel-ml -y

И перезагрузите компьютер, чтобы вернуть систему к прежнему состоянию.

Выводы

В этой инструкции мы рассмотрели как обновить ядро Linux до 4.4 в Ubuntu и CentOS, но мы говорили только об обновлении ядра из бинарников. Также можно собрать ядро из исходных кодов, которые доступны для загрузки на официальном сайте ядра. О сборке ядра Linux я писал в отдельной статье. Вроде все разобрали, если остались вопросы - пишите в комментариях.

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив