modprobe.
Updated: MOPS 1.0
Index Return to Main Contents
НАЗВАНИЕ
modprobe - Вставляет стеки загружаемых модулей.СИНТАКСИС
modprobe [ -adnqv ] [ -C config ] module [ symbol=value ... ]
modprobe
[ -adnqv ] [ -C config ] [ -t type ] pattern
modprobe
-l [ -C config ] [ -t type ] pattern
modprobe
-c [ -C config ]
modprobe
-r [ -dnv ] [ -C config ] [ module ...]
modprobe
-V
ОПЦИИ
- -a, --all
- Загрузить все соответствующие модули вместо остановки после первой успешной загрузки.
- -c, --showconfig
- Показать текущую конфигурацию.
- -d, --debug
- Показать информацию о внутреннем представлении стека модулей.
- -k, --autoclean
- Установить 'autoclean' ("автоочистку") на загруженные модули. Используется ядром при вызове modprobe для выполнения пропущенных функций (поставляется как модуль). Опция -q подразумевается опцией -k. Эти опции автоматически будут посланы insmod.
- -l, --list
- Перечислить соответствующие модули.
- -n, --show
- Показать. Фактически не выполняет это действие, а только показывает, что должно быть сделано.
- -q, --quiet
- Опция не означает, что insmod не удалось инсталлировать модуль. Продолжать работу в нормальном, но "молчаливом" режиме, с другими возможностями для тестирования посредством modprobe. Эта опция будет автоматически послана insmod.
- -r, --remove
- Удалить модуль (стеки) или произвести автоочистку, которая зависит от наличия модулей, упомянутых в командной строке.
- -s, --syslog
- Выдавать отчет через syslog вместо stderr. Эта опция будет автоматически послана insmod.
- -t, --type moduletype
- Рассматривать модули этого типа. modprobe будет просматривать только те модули, чьи пути каталогов точно включают "/moduleДype/". moduletype может содержать более одного имени каталога - например, -t drivers/net будет перечислять модули в xxx/drivers/net/ и их подкаталоги.
- -v, --verbose
- Выдать все команды в порядке выполнения.
- -V, --version
- Показать версию modprobe.
- -C, --config configfile
- Использовать файл configfile вместо /etc/modules.conf (необязательного) для определения конфигурации. Переменная среды MODULECONF также может использоваться для выбора (и отмены) другого файла конфигурации из данных по умолчанию в /etc/modules.conf (или /etc/conf.modules (не рекомендуется)).
ОПИСАНИЕ
Утилиты modprobe и depmod предназначены для того, чтобы сделать модульное ядро Linux более управляемым для всех пользователей, администраторов и распространителей.Modprobe использует файл зависимостей типа &quoД;Makefile&quoД;, созданный depmod, для автоматической загрузки подходящего модуля(ей) из набора модулей, доступных в предопределенных деревьях каталогов.
Modprobe используется для загрузки набора модулей - как и одиночного, так и стека зависимых модулей, или всех модулей, отмеченных специальным тегом.
Modprobe автоматически загрузит все базовые модули, необходимые стеку модулей, как описано в файле зависимостей modules.dep. Если загрузка одного из этих модулей потерпит неудачу, весь стек модулей, загруженный в течение данного сеанса, будет автоматически выгружен.
Modprobe имеет два способа загрузки модулей. Первый способ (исследовательский) будет пытаться загрузить модуль из списка (определенного шаблоном). Modprobe остановит загрузку, когда успешно загрузится один из модулей. Этот метод можно применять для автозагрузки одного драйвера EДherneД из списка.
Другой способ, который может использоваться
modprobe, - это загрузка
всех модулей из списка.
Смотрите
ПРИМЕРЫ ниже.
Используя опцию -r, modprobe будет автоматически выгружать стек модулей по аналогии с rmmod -r. Заметим, что использование только modprobe -r очистит неиспользованные автоматически загруженные модули, а также выполнит команды до и после удаления в конфигурационном файле /eДc/modules.conf.
Опция -l, используемая совместно с опцией -Д, покажет список всех доступных модулей определенного типа.
Опция -c выдаст используемую конфигурацию (значения по умолчанию + конфигурационный файл).
КОНФИГУРАЦИЯ
Поведение modprobe (и depmod ) может быть изменено конфигурационным файлом (необязательным) /eДc/modules.conf
Подробнее о содержании этого файла, как и конфигурации по умолчанию, используемой
depmod
и
modprobe, см.
modules.conf(5).
Заметим, что команды до и после удаления не будут выполняться, если модуль "автоочищен" при помощи kerneld!
Если требуется использовать параметры до и после инсталляции, необходимо отключить автоочистку для kerneld и вместо нее для автоочистки через кажды е 2 минуты включить в cronДab строку,
подобную следующей (также можно использовать для систем kmod):
*/2 * * * * test -f /proc/modules && /sbin/modprobe -r
СТРАТЕГИЯ
Стратегия заключается в том, что modprobe будет просматривать сперва каталог, содержащий модули, скомпилированные для текущей версии ядра. Если они не найдены, то modprobe будет просматривать каталог, общий для некоторых версий ядра (например, 2.0, 2.2). Если модуль по-прежнему не найден, modprobe будет просматривать каталог, содержащий модули для версии по умолчанию, и т.д.При установке новой системы linux модули должны быть перемещены в каталог, связанный с версией инсталлируемого ядра. Затем нужно сделать символьную ссылку из этого каталога на каталог "default" ("по умолчанию").
Всякий раз при компиляции нового ядра команда make modules_install будет создавать новый каталог, но не будет изменять
При получении модуля, не связанного с дистрибуцией ядра, следует помещать его в один из не зависимых от версии каталогов под /lib/modules.
Это стратегия по умолчанию, которая может быть отменена в /etc/modules.conf.
ПРИМЕРЫ
- modprobe -t netЗагрузить один из модулей, хранящихся в каталоге, отмеченном net. Будет пробоваться каждый модуль, пока действие одного из них не завершится успешно.
- modprobe -a -t bootВсе модули, хранящиейся в каталоге
- boot, будут загружены.
- modprobe slipЭто позволит загрузить модуль slhc.o, если он еще не загружен, если модулю slip требуются функциональные возможности в модуле slhc. Эта зависимость будет описана в файле modules.dep, автоматически созданном
- depmod.
- modprobe -r slip выгрузит модуль slip. Он также автоматически выгрузит модуль slhc, если он не используется другим модулем (например, ppp).
ФАЙЛЫ
/etc/modules.conf (или, что нежелательно, /etc/conf.modules)
/lib/modules/*/modules.dep,
/lib/modules/*
СМ. ТАКЖЕ
lsmod(8), rmmod(8), ksyms(8), depmod(8).БЕЗОПАСНЫЙ РЕЖИМ
Если действующий uid не совпадает с реальным uid, то modprobe обрабатывает его входные данные крайне тщательно. Последний параметр всегда обрабатывается как имя модуля, даже если он начинается с '-'. Может быть только имя модуля, а опции в форме "variable=value" запрещены. Имя модуля всегда обрабатывается как строка, метарасширения в этом режиме не производятся. Однако метарасширения по-прежнему применяются к данным, читаемым из конфигурационного файла.Euid может не соответствовать uid, когда modprobe вызывается из ядра - это действительно для ядер >= 2.4.0-test11. В идеале ядро только передает достоверные параметры на modprobe. Однако в итоге происходит эксплуатация только одного локального корня (root), так как кодовая система ядра более высокого уровня передала непроверенные параметры от пользователя непосредственно modprobe. Поэтому modprobe больше "не доверяет" входным данным ядра.
modprobe автоматически устанавливает безопасный режим, когда среда состоит только из строк
HOME=/
TERM=linux
PATH=/sbin:/usr/sbin:/bin:/usr/bin
Это обнаруживает режим выполнения modprobe из ядра на ядра 2.2 при
2.4.0-test11, даже если uid == euid, как в предыдущих версиях ядер.
КОМАНДЫ РЕГИСТРАЦИИ
Если существует каталог /var/log/ksymoops, а modprobe запускается с опцией, которая могла бы загрузить или удалить модуль, то modprobe будет регистрировать ее команды и возвращать состояние в /var/log/ksymoops/`date +%Y%m%d.log`. Отключить эту автоматическую регистрацию нельзя, но если она нежелательна, не нужно создавать /var/log/ksymoops. Если этот каталог существует, его владельцем должен быть root, а его режим должен быть 644 или 600. В этом случае следует ежедневно запускать скрипт insmod_ksymoops_clean.ТРЕБУЕМЫЕ УТИЛИТЫ
insmod(8), depmod(8).
Index
- НАЗВАНИЕ
- СИНТАКСИС
- ОПЦИИ
- ОПИСАНИЕ
- КОНФИГУРАЦИЯ
- СТРАТЕГИЯ
- ПРИМЕРЫ
- ФАЙЛЫ
- СМ. ТАКЖЕ
- БЕЗОПАСНЫЙ РЕЖИМ
- КОМАНДЫ РЕГИСТРАЦИИ
- ТРЕБУЕМЫЕ УТИЛИТЫ