modprobe − программа для добавления и удаления модулей из ядра Linux
modprobe [−v] [−V] [−C файл_конфигурации] [−n] [−i] [−q] [−b] [имя_модуля] [параметры_модуля...] |
|
modprobe [−r] [−v] [−n] [−i] [имя_модуля...] |
|
modprobe [−c] |
|
modprobe [−−dump−modversions] [имя_файла] |
modprobe аккуратно добавляет или удаляет модуль из ядра Linux: отметим, что для удобства не делается различий между символами _ и − в именах модулей (подчёркивания преобразуются автоматически). modprobe ищет в каталоге модулей /lib/modules/’uname −r’ имена всех модулей и других файлов, исключая необязательные файлы конфигурации в каталоге /etc/modprobe.d (смотри modprobe.conf(5)). modprobe также использует опции модуля, указанные в командной строке ядра в виде <модуль>.<опция> и чёрные списки в виде modprobe.blacklist=<модуль>.
Отметим, что эта версия modprobe, в отличие от серии ядер Linux 2.4, не делает что−либо с самим модулем: работа по связыванию и обработке параметров выполняется внутри ядра. Так что ошибки модулей иногда сопровождаются сообщениями ядра: обратитесь к dmesg(8).
modprobe ожидает актуальный файл modules.dep.bin, сгенерированный соответствующей утилитой depmod, поставляемой совместно с modprobe (смотри depmod(8)). Этот файл перечисляет, какие другие модули требуются каждому из модулей (если требуются). modprobe использует его для автоматического добавления или удаления этих зависимостей.
Если после имени_модуля указаны какие−либо аргументы, они передаются в ядро (в дополнение к опциям, перечисленным в файле конфигурации).
−a, −−all
Вставить все имена модулей в командную строку.
−b, −−use−blacklist
Эта опция заставляет modprobe применить соответствующим образом команды blacklist в файлах конфигурации (если они имеются) к именам модулей. Обычно это используется в udev(7).
−C, −−config
Эта опция заменяет конфигурационный каталог по умолчанию (/etc/modprobe.d).
Эта опция передаётся через команды install или remove другим командам modprobe в переменной окружения MODPROBE_OPTIONS.
−c, −−showconfig
Вывести результирующий файл конфигурации, собранный из файлов в каталоге конфигурации, и завершить работу.
−−dump−modversions
Вывести список с информацией о версиях модулей, требуемых указанным модулем. Эта опция обычно используется при распространении модулей ядра Linux в виде пакетов, для формирования которых используется информация о зависимостях и версиях модулей.
−d, −−dirname
Корневой каталог модулей, по умолчанию − /.
−−first−time
Обычно modprobe завершается успешно (и ничего не делает), если указанный для вставки модуль уже загружен, или модуль указанный для удаления уже отсутствует. Такое поведение идеально для простых сценариев, однако более сложные сценарии часто хотят знать: что в действительности сделал modprobe. Эта опция заставит modprobe в таких случаях завершиться с ошибкой.
−−force−vermagic
Каждый модуль содержит маленькую строку, содержащую важную информацию, такую как версии ядра и компилятора. Если модуль не удаётся загрузить и ядро жалуется на не совпадающий идентификатор версии, вы можете воспользоваться этой опцией для удаления этой строки. Обычно эта проверка выполняется для вашей безопасности, поэтому использование этой опции может быть опасным, если вы не уверены в своих действиях.
Эта опция применяется ко всем вставляемым модулям: к модулю (или псевдониму) в командной строке, и к любым модулям, от которых он зависит.
−−force−modversion
Когда модули скомпилированы с заданным CONFIG_MODVERSIONS, в модуле создаётся секция, содержащая версии каждого интерфейса, используемого (или предоставляемого) создаваемым модулем. Если модуль не удаётся загрузить и ядро жалуется, что модуль не соответствует версии некоторого интерфейса, вы можете воспользоваться этой опцией, чтобы удалить информацию о версии. Обычно эта проверка выполняется для вашей безопасности, поэтому использование этой опции может быть опасным, если вы не уверены в том, что делаете.
Опция применяется ко всем вставляемым модулям: и к модулям (или псевдонимам) из командной строки, и к модулям, от которых он зависит.
−f, −−force
Попытаться вырезать из модуля любую информацию о версии, которая может предотвратить его загрузку. То же самое произойдёт при использовании опций −−force−vermagic и −−force−modversion. Обычно эти проверки делаются для вашей безопасности, поэтому использование этой опции может быть опасным, если вы не уверены в том, что делаете.
Эта опция применяется ко всем вставляемым модулям: к модулю (или псевдониму) в командной строке, и к любым модулям, от которых он зависит.
−i, −−ignore−install, −−ignore−remove
Эта опция заставит modprobe игнорировать в файле конфигурации команды install или remove (если они есть), соответствующие модулю, указанному в командной строке (любые зависимые модули по−прежнему обрабатываются с использованием команд, заданных для них в файле конфигурации). В настоящее время обе команды install и remove будут проигнорированы, если эта опция используется без учёта того, какой из запросов соответствует указанной опции −−ignore−install или −−ignore−remove. Обратитесь к modprobe.d(5).
−n, −−dry−run, −−show
Эта опция при вставке или удалении модулей (или запуская команды установки или удаления) на самом деле ничего не делает. В сочетании с опцией −v, она полезна для поиска проблем. По историческим причинам обе опции −−dry−run и −−show означают одно и тоже и взаимозаменяемы.
−q, −−quiet
При использовании этой опции modprobe не сообщит об ошибках при попытке удалить или вставить модуль, который modprobe не может найти (и который не имеет псевдонима или команды install/remove). Однако, он по−прежнему будет возвращать не нулевой код завершения. В зависимости от обстоятельств ядро пробует модули, которые могут существовать при помощи request_module.
−R, −−resolve−alias
Вывести все имена модуля, совпадающие с псевдонимом. Может пригодиться для диагностики проблем с псевдонимом модуля.
−r, −−remove
Эта опция заставит modprobe удалить, а не вставить модуль. Если модули, зависящие от указанного также не используются, то modprobe попытается удалить их тоже. В отличие от вставки, при удалении в одной командной строке может быть указано несколько модулей (поскольку при удалении модулей не нужно указывать параметры).
Обычно нет причин удалять модули, но для некоторых неисправных модулей это необходимо. Однако, ваше ядро может быть собрано без поддержки удаления модулей.
−S, −−set−version
Задаёт версию ядра, вместо использования uname(2) для принятия решения о версии ядра (от которой зависит, где искать модули).
−−show−depends
Список зависимостей модуля (или псевдонима), включая сам модуль. Будет создан (возможно пустой) набор имён файлов модулей, по одному в строке, а каждый модуль будет предварён строкой "insmod". Обычно этот набор используется при создании дистрибутивов, чтобы определить, какие модули нужно включить в образ initrd/initramfs. Применяемые команды установки показываются с префиксом "install". Опция не запускает какую−либо из команд установки. Отметим, что modinfo(8) может использоваться для извлечения зависимостей модуля из самого модуля, но он ничего не знает о псевдонимах или командах установки.
−s, −−syslog
Эта опция заставляет выводить любые сообщения об ошибках через механизм syslog (как LOG_DAEMON с уровнем LOG_NOTICE), а не на стандартный поток диагностики. Эта опция включается автоматически, если стандартный поток диагностики недоступен.
Эта опция передаётся через команды install или remove другим командам modprobe в переменной окружения MODPROBE_OPTIONS.
−V, −−version
Отобразить версию программы и завершить работу.
−v, −−verbose
Выводить сообщения о том, что делает программа. Обычно modprobe печатает сообщения только если что−то пошло не так.
Эта опция передаётся через команды install или remove другим командам modprobe в переменной окружения MODPROBE_OPTIONS.
Переменная окружения MODPROBE_OPTIONS может использоваться для передачи аргументов в modprobe.
Эта страница руководства первоначально написана Copyright 2002, Расти Расселом (Rusty Russell), корпорация IBM. Поддерживается Джоном Мастерсом (Jon Masters) и другими.
modprobe.d(5), insmod(8), rmmod(8), lsmod(8), modinfo(8)
Джон Мастерс (Jon Masters) <jcm@jonmasters.org>
Разработчик
Робби Воркман (Robby Workman) <rworkman@slackware.com>
Разработчик
Лукас Де Марчи (Lucas De Marchi) <lucas.de.marchi@gmail.com>
Разработчик
Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.