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

Материал из ALT Linux Wiki
Версия от 11:41, 4 апреля 2018; Asy (обсуждение | вклад) (Зачем dist-upgrade !? Ядра даже из Сизифа иногда (даже часто) ставить можно.)

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

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

apt-get update
apt-get install update-kernel

update-kernel

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

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


Перед обновлением ядра следует не забыть про обновление индексов, если это ещё не сделано ранее в день обновления:

 apt-get update

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

Обновление модулей ядра

Частая ошибка пользователей -- установка модуля от более нового ядра. Установлено более старое ядро, чем в репозитории, и при этом вы устанавливаете необходимый модуль ядра, не обновив ядро. В результате в систему устанавливается новое ядро с одним-единственным модулем, который вы установили. Для того, чтобы не было такой проблемы, надо вначале обновить ядро, а потом устанавливать необходимые модули ядра.


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

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

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

update-kernel -t un-def
apt-get install kernel-modules-fglrx-un-def