Как обновить ядро альт линукс

Обновлено: 06.07.2024

Последние версии ядра Linux имеют драйверы для новых устройств и другие нововведения. К сожалению, многие популярные дистрибутивы Linux не спешат обновить ядро. Данная инструкция покажет, как легко, без компиляции, установить любую версию ядра Linux в Ubuntu и Linux Mint. Вы можете выбрать для установки как более новое ядро, так и более старое, чем предлагает репозиторий вашего дистрибутива.

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

Поскольку Linux Mint основана на Ubuntu, то данная инструкция в полной мере применима и к дистрибутивам Linux Mint, кроме LMDE. Для LMDE (Linux Mint Debian Edition) смотрите статью «Как установить последние версии ядра Linux в Debian и основанные на Debian дистрибутивы».

Предупреждение перед обновлением ядра

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

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

Проблемы могут вызвать проприетарные драйверы для видеокарт, поскольку старые версии могут быть не совместимы с последними версиями ядра без патча. Если у вас установлены проприетарные видео драйверы, то серьёзной подумайте, прежде чем следовать инструкциям ниже. Также подготовьтесь, поищите инструкции, как решить проблему при загрузки дистрибутива в чёрный экран.

Следует быть особенно осторожным владельцам старых дистрибутивов — настоятельно рекомендуется обновлять ядро только на последних версиях ОС.

Ещё одна вполне вероятная проблема, с которой вы можете столкнуться если установите ядро самой последней версии — проблема с неразрешёнными зависимостями и как следствие невозможность использования менеджера пакетов apt для обновления и установки программ. Если вы столкнулись с ситуацией, когда после успешной установки нового ядра не получается обновить пакеты с помощью apt, то попробуйте устанавливать более ранние версии ядра, которые вам подходят, а версии, вызывающие проблемы с зависимостями, удаляйте. Помните, что невозможно удалить ядро с которым вы загрузились — перед удалением загрузите компьютер с любой другой версией ядра.

mainline — репозиторий ядер Ubuntu

Для Ubuntu имеется репозиторий скомпилированных ядер mainline всех версий, в том числе самых последних, поэтому установка не вызывает особых сложностей — компилировать ядро Linux не нужно. Более того, имеются инструменты, в том числе с графическим интерфейсом для установки любых ядер.

На самом деле, если ядра уже скомпилированы, то достаточно скачать из одной папки с сервера файлы следующего вида:

  • linux-headers-*-generic_*_amd64.deb
  • linux-headers-*_all.deb
  • linux-image-unsigned-*-generic_*_amd64.deb
  • linux-modules-*-generic_*_amd64.deb

И установить их командой:

Но процесс можно упростить ещё больше, используя утилиты для работы с ядрами.

mainline (продолжение бесплатной версии ukuu) — программа с графическим и консольным интерфейсом для обновления ядра

Если вы предпочитаете графический интерфейс, то используйте Mainline.

Чтобы установить программу выполните следующие команды:

Для запуска графического интерфейса выполните:

Для запуска консольной версии выполните:

Использование графической версии не должно вызвать затруднений. При запуске будет получена информация о доступных ядрах, вы можете выбрать любое ядро и установить его, просто нажав на кнопку «Установка». Дополнительно доступны такие действия как удаление ядер и просмотр списков изменений для каждой версии ядра.


Использование консольной версии следующее:

Справка по опциям и командам:

(1) Строка версии должна браться из вывода --list

(2) Одна или более строк версий (разделённые запятыми) берутся из вывода --list

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

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


и выберите желаемую версию из установленных ядер.


Утилита ubuntu-mainline-kernel.sh

Последнюю версию ядра на Ubuntu и Linux Mint также можно установить с помощью утилиты командной строки ubuntu-mainline-kernel.sh.

Загружаем и устанавливаем скрипт ubuntu-mainline-kernel.sh:

Справка по ubuntu-mainline-kernel.sh

Пример установки последней версии ядра

Проверяем текущую версию ядра:


Ядро имеет версию 5.11.

Проверяем, какая версия ядра является последней:


Чтобы вывести список доступных для установки версий ядер выполните команду:

Например, мы хотим установить ядро версии v5.12.11, тогда команда следующая (префикс «v» указывать не надо):

Если вы хотите установить последнюю на данный момент версию, то запустите следующую команду:


Вам будет задан вопрос, хотите ли вы продолжить, введите «y»:

Программа завершила работу — чтобы изменения вступили в силу, требуется перезагрузка.


Опять проверяем версию ядра:


Как восстановить Linux после установки ядра

Если ваш компьютер загружается с чёрным экраном, зависает или что-то не работает после обновления ядра, перезагрузитесь и выберите Дополнительные параметры для вашего дистрибутива в меню GRUB:


Затем выберите предыдущую версию ядра и нажмите Enter:


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

Если вы не видите меню GRUB2, нажмите и удерживайте клавишу Shift или несколько раз нажмите клавишу Esc (это может варьироваться в зависимости от загрузки BIOS или UEFI и от используемой вами версии Ubuntu/Linux Mint) при загрузке GRUB. Должно появиться меню Grub, позволяющее выбрать предыдущую версию ядра.

APT в дистрибутивах ALT Linux и в Sisyphus автоматом не обновляет ядра вместе с обновлением системы (см. настройки hold в apt.conf), поскольку обновление такого критичного компонента системы может привести к нежелательным последствиям. Вместо этого в систему могут быть поставлены пакеты нескольких ядер и модулей к разным ядрам одновременно. И LiLo, и Grub можно настроить таким образом, что простая перезагрузка (в том числе по reset) будет возвращать старое ядро.

Содержание

Внимание! Запуск утилиты update-kernel должен производиться с правами root


Для обновления ядра предлагается использовать утилиту update-kernel , находящуюся в одноимённом пакете. Установка, если ещё не установлено:

Пример использования (не забываем про apt-get update , если индексы сегодня ещё не обновлялись):

или, если хотите обновить/установить другой тип ядра (например un-def):

Примечание: Ключ -t и тип ядра (std-def, un-def и т.п.) надо указывать только если вы решили обновить ядро другого типа, т.к. по умолчанию обновляется текущий тип ядра.


update-kernel обновляет и пакеты с модулями ядра, но исходя из списка установленных для текущего ядра пакетов. Следует понимать, что у ядер разных типов модули могут быть собраны по-разному, и, тогда, update-kernel может не доустановить нужное. Например, если у текущего ядра модуль собран в составе пакета с ядром, а у нового отдельно, то пакет с нужным модулем не будет доустановлен автоматически.

В некоторых дистрибутивах apt по умолчанию не содержит подключенных репозитариев. Для проверки и/или настройки можно воспользоваться утилитой apt-repo или просто проверить и отредактировать конфиги в /etc/apt/.

update-kernel обновляет и модули ядра, если в репозитории обновилось что-то из модулей без обновления ядра. Запуск как при обновлении ядра.

Иногда возникает необходимость доустановить модули. Сложностей нет, но есть ряд нюансов.

Частая ошибка пользователей -- установка модуля от более нового ядра. Проблема возникает, когда установлено более старое ядро, чем в репозитории, а пользователь устанавливает необходимый модуль ядра, не обновив ядро. В результате в систему устанавливается новое ядро с одним-единственным модулем, установка которого запрошена. Для того, чтобы не было такой проблемы, надо вначале обновить ядро, а потом доустанавливать необходимые модули ядра. Если необходимо установить модули именно для старого ядра, можно воспользоваться архивом репозитория аналогично ситуации с установкой старого ядра. Более редкая ошибка -- это установка модуля ядра другой сборочной ветки (std-def, un-def и т.п.) называемой в жаргоне флейвором (тип, вариант сборки ядра). Для предотвращения этого (если модуль есть только в другой ветке) надо перейти сначала на другую сборочную ветку с помощью команды update-kernel .

где <новый flavour> = std-def, un-def и т.п. См. kernel/Flavours

После этого уже можно обновлять модуль ядра. Например, мы хотим перейти на ветку un-def и установить модуль fglrx:

"Обновление системы. Подробное описание для новичков!"

Итак имеем проблемы с системой: не работают устройства, глючат программы и т.д. Погодите создавать новую тему на форуме, описывающую ваши трудности! Очень может быть, что ваша проблема уже решена! Нужно всего лишь обновить систему.

Далее описывается на примере дистрибутива Desktop 4.1, обновление которого производится через репозиторий 4.1 branch. С некоторыми оговорками его можно применить и для других дистрибутивов.

Внимание! Перед обновление убедитесь, что у вас имеется свободное место на том разделе где установлена ваша система.

1) Прописываем путь к репозиториям.

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

Наиболее удобный способ прописать путь к репозиториям для новичков это использовать - программу управления пакетами Synaptic. Запускается она так:

Меню (кнопка на панели задач, слева-снизу) > Система > Менеджер пакетов (Программа управления пакетами Synaptic).

Далее система просит вас ввести пароль пользователя root.

Вводим пароль пользователя root (root это имя пользователя, а не пароль! Этот пользователь является системными администратором с максимально возможными в операционной системе правами). Пароль вы дожны знать, у каждого он свой. Пароль вашего персонального пользователя здесь не подойдет.

В открывшемся окне Synaptic выбираем меню Параметры > Репозитории

В открывшемся окне Репозитории выбираем нужные репозитории, в случае с Desktop 4.1 это:

В случае с дистрибутивами 5-й платформы выбираем (или прописываем, если отсутствует в списке):

1. Обязательно должны быть выбраны оба репозитория, noarch и i586, в противном случае при обновлении ваша система с большой вероятностью разрушится и вам придется переустанавливать ОС с нуля.

2. Не стоит прописывать более одной пары репозиториев (исключением является прописанный путь к ATAPI CD/DVD приводу, но в любом случае в привод должен быть вставлен правильный диск, раз уже путь к нему прописан), т.е. не имеет смысла одновременно иметь подключенными и бранч 4.1 и бранч p5 — это приведет к конфликтам версий пакетов.

Нажимаем ОК и закрываем окно Synaptic. Можно конечно пакеты обновлять и через Synaptic, но там свои особенности. В основном Synaptic бывает удобен для поиска и установки программ, которые еще не стоят в вашей системе.

Следует заметить что альтернативой программы Synaptic является один из модулей Альтератора (он же «acc», он же «Центр управления системой»). Более подробную информацию вы можете прочесть в статье по ссылке:

2) Обновляем ядро!

Обязательно первым делом ядро. Почему? Потому что: новое программное обеспечение (приложения, софт, в общем сленговых названия много) на старом ядре либо не работает, либо работает очень плохо. Старое программное обеспечение тоже не всегда хорошо может работать на новом ядре, но вероятность этого намного ниже, чем при связке новое ПО+старое ядро.

Итак для обновления ядра нам нужна консоль:

Меню > Система > Терминал (Konsole)

На приглашение системы (вместо user будет имя вашего текущего пользователя в системе):

Вводим пароль пользователя root (root это имя пользователя, а не пароль! Этот пользователь является системными администратором с максимально возможными в операционной системе правами). Пароль вы должны знать, у каждого он свой. Пароль вашего персонального пользователя здесь не подойдет.

Перед обновлением ядра полезно обновить сведения о пакетах для apt-get:

apt-get update

Дальше идет некоторый текст выводимый системой:

Затем, когда система снова выдаст приглашение:

apt-get install update-kernel

Дальше идет некоторый текст выводимый системой, если пакет обновляющий ядро уже установлен, то система выдаст:

Reading Package Lists. Done
Building Dependency Tree. Done
update-kernel is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 0 not upgraded.

Затем, когда система снова выдаст приглашение:

update-kernel -t std-def

если в вашей системе установлено более 3 Гб (Гигабайт!) оперативной памяти (ОЗУ), то вам имеет смысл установить ядро с поддержкой PAE (Physical Address Extension):

update-kernel -t std-pae

Более подробную информацию о PAE можно прочитать по ссылке:

Более подробную информацию по выбору ядра можно почитать здесь:

Важно! Не закрывайте консоль и не завершайте работу системы до вывода приглашения:

1. Поддержка многоядерных процессоров встроена в ядро Linux и спрашивать об этом не имеет смысла — специально никто SMP не отключает, следовательно в ALT Linux оно работает также!

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

Если вам не нравится вид с «лишними» пунктами загрузочного меню в загрузчике Lilo, то вы можете отредактировать меню в одном из модулей Альтератора (он же «acc», он же «Центр управления системой»):

Меню > Настройка > Центр управления системой

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

После обновления ядра, можно приступать к обновлению дистрибутива.

3) Обновляем дистрибутив.

Если вы перед этим не обновляли ядро, то нужно ввести:

apt-get update

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

Далее на приглашение системы:

apt-get dist-upgrade

Если за прошедшее от последнего обновления системы не было обновлений, то система выдаст:

Reading Package Lists. Done
Building Dependency Tree. Done
Calculating Upgrade. Done
0 upgraded, 0 newly installed, 0 removed and 0 not upgraded.

Иначе, она будет обновлять все пакеты, для которых имеются новые версии. Будут обновлены те пакеты, которые установлены в системе.

Важно! Не закрывайте консоль и не завершайте работу системы до вывода приглашения:

Внимание! Обновление может потребовать очень большого количества сетевого трафика, особенно если вы обновляетесь в самый первый раз, то может потратиться до 500 Мб (Мегабайт!) или более. Все зависит от того, какие пакеты у вас установлены в системе.

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

Подробнее о структуре команд системы apt-get можно узнать введя в консоли:

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

С каждой новой версией в ядре 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

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