Jump to content

# Dynamic Kernel Module Support (Русский)

6 languages

- English
- Español
- Français
- 日本語
- Português
- 中文（简体）

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Dynamic Kernel Module Support. Дата последней синхронизации: 2024-01-16. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Из Википедии:

  Dynamic Kernel Module Support (DKMS) — это фреймворк, который используется для генерации тех модулей ядра Linux, которые в общем случае не включены в дерево исходного кода. DKMS позволяет драйверам устройств автоматически пересобираться, когда ядро уже установлено.

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

## Установка

Установите пакет dkms и заголовочные файлы требуемого ядра/ядер. Например, для ядра по умолчанию linux соответствует linux-headers. Другие ядра имеют собственные пакеты с заголовочными файлами.

Значительное число модулей, не включенных в ядро, имеют DKMS вариант; некоторые из них размещаются в официальных репозиториях, но большинство из них можно найти только в AUR.

## Обновления

Обычно пересборка модулей DKMS во время обновления ядра выполняется бесшовно, но что-то может пойти не так. Следует обратить особое внимание на вывод pacman! Это, в частности, относится к тем системам, которым требуется модуль DKMS для успешной загрузки и/или если вы используете DKMS с ядром не из официальных репозиториев.

Для того, чтобы следовать изменениям в ядре, исправить ошибки или добавить необходимый функционал, подумайте об обновлении соответствующего пакета DKMS перед перезагрузкой.

## Использование

Использование DKMS вручную.

Автозавершение по `Tab` будет доступно после выполнения команды:

    # source /usr/share/bash-completion/completions/dkms

### Список модулей

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

    # dkms status

### Пересборка модулей

Пересборка всех модулей для текущего ядра:

    # dkms autoinstall

или для конкретного ядра:

    # dkms autoinstall -k 3.16.4-1-ARCH

Сборка конкретного модуля для текущего ядра:

    # dkms install -m nvidia -v 334.21

или просто:

    # dkms install nvidia/334.21

Сборка модуля для всех ядер:

    # dkms install nvidia/334.21 --all

### Удаление модулей

Удаление модуля (старые автоматически не удаляются):

    # dkms remove -m nvidia -v 331.49 --all

или просто:

    # dkms remove nvidia/331.49 --all

Если пакет dkms удален, то теряется информация о предыдущих файлах сборки модуля. В этом случае, перейдите в директорию `/usr/lib/modules/kernel_release` и `/var/lib/dkms/package_name` и удалите все файлы и каталоги, которые больше не используются.

## Создание DKMS пакета

Смотрите руководство.

## Смотрите также

- Linux Journal: Exploring Dynamic Kernel Module Support

Category:

- Kernel (Русский)