modprobe — программа для добавления и удаления модулей из ядра Linux
modprobe [-v] [-V] [-C файл_конфигурации] [-n] [-i] [-q] [-o мя_модуля] [мя_модуля] [параметры_модуля ...]
modprobe [-r] [-v] [-n] [-i] [мя_модуля ...]
modprobe [-l] [-t каталог] [шаблон]
modprobe [-c]
modprobe [--dump-modversions]
modprobe аккуратно добавляет или удаляет модуль из ядра Linux: отметим, что для удобства не делается различий между символами _ и - в именах модулей. modprobe ищет в каталоге модулей /lib/modules/‘uname -r‘ имена всех модулей и других файлов, исключая необязательный файл конфигурации /etc/modules.conf и каталог /etc/modprobe.d (смотри modprobe.conf(5)). Все файлы в каталоге /etc/modprobe.d/arch/ игнорируются.
Отметим, что эта версия modprobe не делает что-либо с самим модулем: работа по связыванию и обработке параметров выполняется внутри ядра. Так что ошибки модулей иногда сопровождаются сообщениями ядра: обратитесь к dmesg(8).
modprobe ожидает актуальный файл modules.dep, сгенерированный depmod (смотри depmod(8)). Этот файл перечисляет какие другие модули требуются каждому из модулей (если требуются). modprobe использует его для автоматического добавления или удаления этих зависимостей. Смотри modules.dep(5).
Если после имени_модуля указан какой-либо аргумент, он передаётся в ядро (в дополнение к опциям, перечисленным в файле конфигурации).
-v --verbose Выводить сообщения о том, что делает программа. Обычно modprobe печатает сообщения только если что-то пошло не так. Эта опция передаётся через команды install или remove другим командам modprobe в переменной окружения MODPROBE_OPTIONS. -C --config Эта опция заменяет конфигурационный файл по умолчанию (/etc/modprobe.conf или /etc/modprobe.d/, если они не найдены). Эта опция передаётся через команды install или remove другим командам modprobe в переменной окружения MODPROBE_OPTIONS. -c --showconfig Вывести файл конфигурации и завершить работу. -n --dry-run Эта опция при вставке или удалении модулей (или запуская команды установки или удаления) на самом деле ничего не делает. В сочетании с опцией -v, она полезна для поиска проблем. -i --ignore-install --ignore-remove Эта опция заставит modprobe игнорировать в файле конфигурации команды install или remove (если они есть), соответствующие модулю, указанному в командной строке (любые зависимые модули по-прежнему обрабатываются с использованием команд, заданных для них в файле конфигурации). Обратитесь к modprobe.conf(5). -q --quiet Обычно modprobe сообщает об ошибках, если попытаться удалить или вставить модуль, который modprobe не может найти (и который не имеет псевдонима или команды install/remove). При указании данной опции, modprobe просто проигнорирует недействительные имена (ядро использует эту опцию для проверки существования модулей). -r --remove Эта опция заставит modprobe удалить, а не вставить модуль. Если модули, зависящие от указанного также не используются, то modprobe попытается удалить их тоже. В отличие от вставки, при удалении в одной командной строке может быть указано несколько модулей (поскольку при удалении модулей не нужно указывать параметры). Обычно нет причин удалять модули, но для некоторых неисправных модулей это необходимо. Ваше ядро может не поддерживать удаление модулей. -w --wait Эта опция применима только совместно с опциями -r или --remove. Она заставит modprobe заблокировать модуль в ядре (внутри ядра модуль обрабатывает код самостоятельно), ожидая когда счётчик ссылок на указанный модуль достигнет нуля. По умолчанию modprobe действует так же, как и rmmod, который завершается со статусом EWOULDBLOCK, если счётчик ссылок на модуль не равен нулю. -V --version Показать версию программы и завершить работу. Обратитесь к нижеследующим предостережения о запуске на старых ядрах. -f --force Попытаться вырезать из модуля любую информацию о версии, что в противном случае может предотвратить его загрузку: то же самое произойдёт при использовании опций --force-vermagic и --force-modversion. Обычно эти проверки делаются для вашей безопасности, поэтому использование этой опции опасно. Эта опция применяется ко всем вставляемым модулям: к модулю (или псевдониму) в командной строке, и к любым модулям, зависящим от него. --force-vermagic Каждый модуль содержит маленькую строку, содержащую важную информацию, такую как версии ядра и компилятора. Если модуль не удаётся загрузить и ядро жалуется на не совпадающий идентификатор версии, вы можете воспользоваться этой опцией для удаления этой строки. Обычно эта проверка выполняется для вашей безопасности, поэтому использование этой опции опасно. Эта опция применяется ко всем вставляемым модулям: к модулю (или псевдониму) в командной строке, и к любым модулям, зависящим от него. --force-modversion Когда модули скомпилированы с установленным CONFIG_MODVERSIONS, в модуле создаётся секция, содержащая версии каждого интерфейса, используемого (или предоставляемого) модулем. Если модуль не удаётся загрузить и ядро жалуется, что модуль не соответствует версии некоторого интерфейса, вы можете воспользоваться этой опцией, чтобы удалить информацию о версии. Обычно эта проверка выполняется для вашей безопасности, поэтому использование этой опции опасно. Опция применяется ко всем вставляемым модулям: и к модулям (или псевдонимам) из командной строки, и к модулям, зависящим от них. -l --list Список всех модулей, совпадающих с заданным шаблоном (или "*" если шаблон не задан). Эта опция введена для достижения обратной совместимости: обратитесь к find(1) и basename(1) за более гибкой альтернативой. -a --all Вставить все имена модулей в командную строку. -t --type Ограничить -l модулями из каталогов, совпадающих с заданным именем_каталога. Эта опция введена для достижения обратной совместимости: обратитесь к find(1) и basename(1) или более гибкой альтернативе. -s --syslog Эта опция заставляет выводить любые сообщения об ошибках через механизм syslog (как LOG_DAEMON с уровнем LOG_NOTICE), а не на стандартный поток диагностики. Эта опция включается автоматически, если стандартный поток диагностики недоступен. Эта опция передаётся через команды install или remove другим командам modprobe в переменной окружения MODPROBE_OPTIONS. --set-version Задаёт версию ядра, вместо использования uname(2) для принятия решения о версии ядра (которая определяет, где искать модули). Эта опция также отключает проверки обратной совместимости (так что modprobe.old(8) в этом случае не будет запущена). --show-depends Список зависимостей модуля (или псевдонима), включая сам модуль. Будет создан (возможно пустой) набор имён файлов модулей, по одному в строке, а каждый модуль будет предварён строкой "insmod". Применяемые команды установки показываются с префиксом "install". Опция не запускает какую либо из команд установки. Отметим, что modinfo(8) может использоваться для извлечения зависимостей модуля из самого модуля, но он ничего не знает о псевдонимах или командах установки. -o --name Эта опция пытается переименовать модуль, вставленный в ядро. Некоторые тестируемые модули можно вставлять несколько раз, но ядро не позволяет вставлять модули с одинаковыми именами. Если поддержка множественной вставки не реализована в самом модуле, модуль не должен требовать множественной вставки, потому что это может привести к его непригодности для использования. --first-time Обычно modprobe завершается успешно (и ничего не делает), если указанный для вставки модуль уже загружен, или модуль указанный для удаления уже отсутствует. Эта опция обратно совместима с modutils, и идеальна для простых сценариев. Однако, более сложные сценарии часто хотят знать что в действительности слелал modprobe: эта опция заставит modprobe в таких случаях завершиться с ошибкой. --dump-modversions Вывести список с информацией о версиях модулей, требуемых указанным модулем. Эта опция обычно используется для распространения модулей ядра Linux в виде пакетов, для этого используется информация о зависимостях от определённых версий. --use-blacklist Применить совпадение модуля с записью в чёрном списке к запрошенному имени, а не только к запрошенному псевдониму.
Эта версия modprobe предназначена для ядер версий 2.5.48 и выше. Если обнаружено ядро, поддерживающее модули в старом стиле (бОльшая часть работы по загрузке которых выполняется в пространстве пользователя), программа попытается запустить modprobe.old, что приводит к полной прозрачности поведения программы для пользователя.
Переменная окружения MODPROBE_OPTIONS может использоваться для передачи аргументов в modprobe.
Эта страница руководства: Copyright 2002, Расти Рассел (Rusty Russell), корпорация IBM.
Перевод на русский язык выполнил Владимир Ступин <wheelof@gmail.com>.
modprobe.conf(5), lsmod(8), modprobe.old(8)
modprobe (8) |