Обновление ядра: различия между версиями
Asy (обсуждение | вклад) (→Доустановка модулей ядра: если необходимо доустановить модули для установленного старого ядра) |
м (+ссылка -,) |
||
Строка 31: | Строка 31: | ||
Иногда возникает необходимость доустановить модули. Сложностей нет, но есть ряд нюансов. | Иногда возникает необходимость доустановить модули. Сложностей нет, но есть ряд нюансов. | ||
{{Важно|Частая ошибка пользователей -- установка модуля от более нового ядра. Проблема возникает, когда установлено более старое ядро, чем в репозитории, а пользователь устанавливает необходимый модуль ядра, не обновив ядро. В результате в систему устанавливается новое ядро с одним-единственным модулем, установка которого запрошена. Для того, чтобы не было такой проблемы, надо вначале обновить ядро, а потом доустанавливать необходимые модули ядра. Если необходимо установить модули именно для старого ядра, можно воспользоваться архивом репозитория | {{Важно|Частая ошибка пользователей -- установка модуля от более нового ядра. Проблема возникает, когда установлено более старое ядро, чем в репозитории, а пользователь устанавливает необходимый модуль ядра, не обновив ядро. В результате в систему устанавливается новое ядро с одним-единственным модулем, установка которого запрошена. Для того, чтобы не было такой проблемы, надо вначале обновить ядро, а потом доустанавливать необходимые модули ядра. Если необходимо установить модули именно для старого ядра, можно воспользоваться [[archive|архивом репозитория]] аналогично ситуации с установкой старого ядра.}} | ||
{{Важно|Более редкая ошибка -- это установка модуля ядра другой сборочной ветки (std-def, un-def и т.п.) называемой в жаргоне флейвором (тип, вариант сборки ядра). Для предотвращения этого (если модуль есть только в другой ветке) надо перейти сначала на другую сборочную ветку с помощью команды {{prg|update-kernel}}.}} | {{Важно|Более редкая ошибка -- это установка модуля ядра другой сборочной ветки (std-def, un-def и т.п.) называемой в жаргоне флейвором (тип, вариант сборки ядра). Для предотвращения этого (если модуль есть только в другой ветке) надо перейти сначала на другую сборочную ветку с помощью команды {{prg|update-kernel}}.}} |
Версия от 11:51, 25 сентября 2018
APT в дистрибутивах ALT Linux и в Sisyphus автоматом не обновляет ядра вместе с обновлением системы, поскольку обновление такого критичного компонента системы может привести к нежелательным последствиям. Вместо этого в систему могут быть поставлены пакеты нескольких ядер и модулей к разным ядрам одновременно. И LiLo, и Grub можно настроить таким образом, что простая перезагрузка (в том числе по reset) будет возвращать старое ядро.
update-kernel
Для обновления ядра предлагается использовать утилиту update-kernel, находящуюся в одноимённом пакете. Установка, если ещё не установлено:
apt-get update
apt-get install update-kernel
Пример использования (не забываем про apt-get update, если индексы сегодня ещё не обновлялись):
update-kernel
или, если хотите обновить/установить другой тип ядра (например un-def):
update-kernel -t un-def
update-kernel обновляет и пакеты с модулями ядра, но исходя из списка установленных для текущего ядра пакетов. Следует понимать, что у ядер разных типов модули могут быть собраны по-разному, и, тогда, update-kernel может не доустановить нужное. Например, если у текущего ядра модуль собран в составе пакета с ядром, а у нового отдельно, то пакет с нужным модулем не будет доустановлен автоматически.
В некоторых дистрибутивах apt по умолчанию не содержит подключенных репозитариев. Для проверки и/или настройки можно воспользоваться утилитой apt-repo или просто проверить и отредактировать конфиги в /etc/apt/.
Обновление модулей ядра
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
Установка старого ядра
Иногда требуется установить старое ядро. Описание процесса.
Ссылки
- #35390: Обновление ядра на Таволге требует ручной доработки