Смена ядра astra linux

Обновлено: 05.07.2024

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

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

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

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


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

kernel-ppa/mainline/. Здесь находятся все, собираемые командой Ubuntu ядра.

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


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

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

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

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

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

sudo apt install gdebi

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

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

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

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


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

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

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

kernel12

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

kernel13

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

sudo apt search linux-headers-5.8

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

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

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

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

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

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

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

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

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


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

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

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


Пакет 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 я писал в отдельной статье. Вроде все разобрали, если остались вопросы - пишите в комментариях.



Оцените статью:

(7 оценок, среднее: 5,00 из 5)

Об авторе

21 комментарий

Спасибо за статью.
Подписан на вашу рассылку, так что в качестве обратной связи с читателями передаю вам привет!

Система Минт 17.3 Роза, ядро 3.16. Делаю все как описано в статье - после рестарта ядро 3.16. Иду в диспетчер обновлений, вижу предлагаемые ядра для обновления, 4-ки нет ни одной, рекомендуемое ядро 3.19, устанавливаю - работает, 3.16 убиваю. Ошибок нигде не выдавало. Остался пока без 4.4.

Выполните в место: sudo dpkg -i linux*.deb - sudo dpkg -i *.deb И выполнять команду обязательно в папке, в которую были загружены установочные пакеты.

Установил ядро 4.4, но слетел Вайфай, запустить не смог, пока откатился на старое ядро.

Да у меня такая же беда, обновился на 4.2 правда, было 3.19. Теперь вай фай с блютузом, не запускаются, пока остался на 3.19.

Подожду уже выхода Ubuntu 16.04 посмотрим, что будет в релизе, должны пофиксить по идее.

Ребзя а чего у меня не хочет обновлять? Сейчас стоит на VPS Ubuntu Xenial (16.04 LTS) (GNU/Linux 4.5.7-std-3 x86_64). Пробую обновить до 4.7.3 и ошибку пишет:

Selecting previously unselected package linux-headers-4.7.3-040703-generic.
(Reading database . 20139 files and directories currently installed.)
Preparing to unpack linux-headers-4.7.3-040703-generic_4.7.3-040703.201609070334_amd64.deb .
Unpacking linux-headers-4.7.3-040703-generic (4.7.3-040703.201609070334) .
Selecting previously unselected package linux-image-4.7.3-040703-generic.
Preparing to unpack linux-image-4.7.3-040703-generic_4.7.3-040703.201609070334_amd64.deb .
Done.
Unpacking linux-image-4.7.3-040703-generic (4.7.3-040703.201609070334) .
dpkg: dependency problems prevent configuration of linux-headers-4.7.3-040703-generic:
linux-headers-4.7.3-040703-generic depends on linux-headers-4.7.3-040703; however:
Package linux-headers-4.7.3-040703 is not installed.

dpkg: error processing package linux-headers-4.7.3-040703-generic (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-4.7.3-040703-generic:
linux-image-4.7.3-040703-generic depends on initramfs-tools | linux-initramfs-tool; however:
Package initramfs-tools is not installed.
Package linux-initramfs-tool is not installed.

dpkg: error processing package linux-image-4.7.3-040703-generic (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
linux-headers-4.7.3-040703-generic
linux-image-4.7.3-040703-generic


Эти инструменты позволяют вам фактически выполнять работу, но они не могут ничего сделать без ядра.

Ядро операционной системы похоже на вашу сердечно-сосудистую систему.

Вы склонны забывать об этом, пока что-то пойдет не так.

Когда обновленное ядро не позволит вам использовать ваш компьютер, пришло время понизить версию.

Загрузитесь в старое ядро


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

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

В некоторых системах сразу будут показаны более старые ядра, в то время как в Ubuntu вам нужно будет выбрать «Advanced options for Ubuntu», чтобы найти более старые ядра.

Выбрав старое ядро, вы загрузитесь в свою систему.

Все должно работать как раньше.

Если проблема не устранена, значит она не в ядре.

Удалите проблемное ядро

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

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


Вы можете сделать это, используя инструменты управления пакетами вашего дистрибутива. Это будет отличаться в зависимости от системы, которую вы используете. Вам также необходимо знать версию ядра, которое вы хотите удалить. Версию можно найти во время загрузки на экране GRUB. Для Ubuntu и других основанных на apt дистрибутивов вы можете использовать команду, подобную следующей: Вам нужно заменить вышеприведенную VERSION точным номером версии проблемного ядра, которое вы хотите удалить. Если вы просто хотите отложить ядро на некоторое время, вы можете использовать следующую команду:


Как избежать таким проблем в будущем

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

Если вам важна стабильность, вы также можете использовать дистрибутивы LTS.

Эти обновления более редкие, за исключением обновлений безопасности.

Это означает, что вы можете рассчитывать на то, что они будут более стабильными, чем ваш стандартный дистрибутив.

Заключение

Хотя понижение версии является самым простым способом решения проблем, связанных с ядром, это не единственный способ.

Иногда это просто невозможно.

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

В этом случае вы должны собрать собственное ядро, а не полагаться на версию, поставляемую вашим дистрибутивом.


28 Мар 2021 00:03:05 | 0 comments

Изменение загружаемого по умолчанию ядра в Ubuntu

Исходные данные: ОС Ubuntu 18.04 и 20.04
Задача: Смена ядра по умолчанию в Ubuntu 18.04 и 20.04

Для достижения нашей цели мы будем редактировать файл /etc/default/grub, поэтому прежде чем его менять Вам нужно понимать что Вы меняете и для чего. Рекомендую для начала ознакомиться с официальной документацией на GRUB в части некоторых основных опций.

Все редактирование будет осуществляться с правами root, так что перейдите в консоль под пользователем root.

Откройте файл /etc/default/grub в привычном Вам редакторе, это может быть vim или например mcedit. Я использую vim.

Ниже представлен файл /etc/default/grub по умолчанию (комментарии удалены):

Добавим перед GRUB_DEFAULT опцию

Опция GRUB_SAVEDEFAULT=true заставляет сохранять выбранную в меню загрузчика запись как запись по умолчанию, но это работает только если GRUB_DEFAULT=saved

Далее изменим GRUB_DEFAULT=0 на

Опция GRUB_DEFAULT может быть числом или специальным типом saved. Число указывает номер элемента в списке меню (возможно указание номера под элемента, например так 1>2), по умолчанию стоит GRUB_DEFAULT=0

Далее изменим GRUB_TIMEOUT_STYLE=hidden на

Опция GRUB_TIMEOUT_STYLE указывает на тип меню выбора во время отчета времени указанном в GRUB_TIMEOUT по истечении которого будет загружена запись по умолчанию. По умолчанию меню загрузчика скрыто, но нам нужно чтобы оно отображалось для выбора ядра.

Далее изменим GRUB_TIMEOUT=0 на

Опция GRUB_TIMEOUT устанавливает таймаут показа меню загрузчика, мы поставили 30 секунд, этого нам хватит чтобы выбрать какое ядро загружать. Вы можете поставить и меньше, например 3 секунды.

Итого файл /etc/default/grub стал таким (комментарии удалены):

Далее нужно сохранить параметры загрузчика, вызываем команду:

После этого можно перезагрузить сервер и сразу после прохождения процедуры POST мы попадем в меню загрузчика GRUB, см. скриншот ниже:

Ubuntu 20.04 (GRUB)

Ubuntu 20.04 (GRUB)

Ubuntu 20.04 (GRUB submenu Advanced)

Ubuntu 20.04 (GRUB submenu Advanced)

Мы видим список доступных для загрузки Linux-ядер. Выбираем например ядро 5.4.0-52 и жмем Enter. В этот момент GRUB запомнит Ваш выбор и будет использовать его по умолчанию при следующих загрузках. А нам это и нужно.

После загрузки мы можем проверить, что действительно загрузилось ядро 5.4.0-52 командой uname:

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

Выбор ядра Linux по умолчанию

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

Так или иначе 100%-ой гарантии старта ОС с новым ядром никто дать не сможет. Хорошо когда под руками есть физическая консоль сервера и мы можем перезагрузив линукс в меню GRUB выбрать работоспособное ядро, но в случае с виртуальными частными серверами у клиента его купившего нет такой возможности.

После установки/обновления ядра, в большинстве ОС Linux, оно попадает в файл /etc/grub.conf, где также прописано загружаемое по умолчанию ядро (kernel). Файл /etc/grub.conf выглядит примерно следующим образом:

В примере выше при старте ОС всегда по умолчанию используется ядро под номером "0" (default=0). Для выбора ядра загружаемого единожды при старте Linux нужно выполнить одну из перечисленных ниже команд:

После старта проверяем версию ядра uname -a и если там указана именно та версия которую мы выбрали для загрузки единожды, то в файле vi /etc/grub.conf выбираем ядро для загрузки по умолчанию под нашим номером "1" (ака default=1), а если же сервер остался недоступен, то его нужно запустить/перезагрузить удалённо (через веб консоль) или локально (на физической консоли).

Подобные манипуляции помогут максимально безопасно удаленно сменить ядро Linux по умолчанию предварительно проверив его нормальную работу.

Рекомендуемый контент

Вы не любите рекламу!? Напрасно!:) На нашем сайте она вовсе ненавязчивая, а потому для нашего сайта можете полностью отключить AdBlock (uBlock/uBlock Origin/NoScript) и прочие блокировщики рекламы! AdBlock/uBlock может препятствовать нормальной работе системы поиска по сайту, отображению рекомендуемого контента и прочих сервисов Google. Рекомендуем полностью отключить блокировщик рекламы и скриптов, а также разрешить фреймы (aka iframe).

Читайте также: