Как использовать команду Modprobe в Linux

Ядро Linux имеет модульную конструкцию. Функциональность можно расширять с помощью модулей или драйверов. Чтобы добавить или удалить модули в Linux, используйте команду modprobe. Команда работает интеллектуально и добавляет все зависимые модули автоматически.

Ядро использует modprobe для запроса модулей. Команда modprobe просматривает стандартные каталоги установленных модулей, чтобы найти необходимые драйверы.

В этой статье объясняется, как использовать modprobe для добавления или удаления модулей ядра.

Объяснение синтаксиса команды modprobe

Все команды modprobe требуют привилегий sudo. Общий синтаксис для использования modprobe следующий:

По умолчанию команда modprobe добавляет один модуль.

Для добавления нескольких модулей используйте опцию -a или -all:

Опции для команды modprobe

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

Опции управления

Опции управления позволяют использовать различные ситуации с модулями при вставке или удалении модулей с помощью команды modprobe.

--all
-a
Позволяет одновременно вставлять или извлекать несколько модулей.
--remove
-r
Удалить модуль. Применяется также к --remove-dependencies. Полезно для удаления неработающих модулей.
--remove-dependencies Удаляет зависимые модули.
--resolve-alias
-R
Поиск и печать всех имен модулей, соответствующих псевдониму. Полезно для отладки проблем с псевдонимами.
--first-time Выводит ошибку для уже вставленных или удаленных модулей.
--ignore-install
--ignore-remove
-i
Игнорирует команды install/remove, записанные в модуле, при вставке/удалении модуля.
--use-blacklist
-b
Заносить разрешенные псевдонимы в черный список. Модули из черного списка не загружаются автоматически.
--force
-f
Принудительная вставка или удаление модуля при появлении ошибок версии. Применяется как к --force-modversion, так и к --force-vermagic. Используйте с осторожностью.
--force-modversion Игнорировать версию модуля при вставке или удалении. Использовать с осторожностью.
--force-vermagic Игнорировать магию версии модуля при вставке или удалении. Используйте с осторожностью.

Параметры запроса

Параметры запроса для modprobe показывают информацию о конфигурации и зависимостях.

--show-depends
-D
Выводит список модуля с файлами зависимостей, если таковые имеются. Зависимости, устанавливаемые вместе с модулем, имеют префикс «install».
--showconfig
--show-config
-c
Выводит текущую конфигурацию и существующие версии.
--show-modversions
--dump-modversions
Выводит зависимости от версии модуля.

Общие параметры

Общие параметры настраивают параметры вывода modprobe, расположение модулей и их версии.

--dry-run
--show
-n
Не выполняйте вставку/удаление, а выведите результат. Используется для отладки.
--config=<имя файла>
-C
Заменяет конфигурационную зависимость по умолчанию (/etc/modprobe.d) на <имя файла>.
--dirname=<директория>
-d
Использовать <директорию> в качестве корня файловой системы для /lib/modules.
--set-version=<версия>
-S
Использовать указанную <версию> ядра вместо использования uname.
--syslog
-s
Выводить сообщения об ошибках через syslog вместо стандартной ошибки (stderr). Если stderr недоступен, ошибки автоматически выводятся в syslog.
--quiet
-q
Отключить отображение сообщений об ошибках.
--verbose
-v
Включает показ большего количества сообщений, если они доступны. modprobe печатает сообщения только в том случае, если что-то пошло не так.
--version
-V
Показывает версию modprobe.
--help
-h
Показывает сообщение справки со всеми перечисленными командами.

Примеры команды modprobe

Все модули ядра по умолчанию перечислены в системе каталогов /lib/modules в файлах .ko (kernel object).

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

Добавление модулей ядра с помощью команды modprobe

Добавьте модуль с помощью команды modprobe

Например:

Добавление модуля с помощью команды modprobe в терминале

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

Вывод выдает ошибку, так как модуль уже находится в ядре.

В качестве альтернативы найдите модуль в списке активных загруженных модулей с помощью lmod:

Например:

Удаление модулей ядра с помощью команды modprobe

Удалите модуль с помощью команды modprobe -r:

Например:

Убедитесь, что модуль удален, выполнив команду:

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

Заключение

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий