название
modprobe - обработка на высоком уровне загружаемых модулей
конспект
Modprobe -adnqv -C конфиг module symbol = value …Modprobe -adnqv -C конфиг -t тип шаблонModprobe -l -C конфиг -t тип шаблонModprobe -c -C конфиг Modprobe -r -dnv -C конфиг модуль …Modprobe -Vh
Опции
-a, --все
нагрузкавсе вместо того, чтобы останавливаться после первой успешной загрузки.
-с, --showconfig
Покажите текущую используемую конфигурацию.
-С, --config конфиг
Использовать файл конфиг вместо (необязательно) /etc/modules.conf для указания конфигурации. Переменная средыMODULECONF также может использоваться для выбора (и переопределения) другого конфигурационного файла по умолчанию /etc/modules.conf (или /etc/conf.modules (Устаревшее)).
Когда переменная средыUNAME_MACHINE , modutils будет использовать свое значение вместо машинного поля из unyscame () syscall. Это в основном используется при компиляции 64-битных модулей в 32-битном пользовательском пространстве или наоборот, в набореUNAME_MACHINE к типу модулей. Текущий modutils не поддерживает полный режим кросс-сборки для модулей, он ограничен выбором между 32 и 64-битными версиями архитектуры хоста.
-d, --debug
Показать информацию о внутреннем представлении стека модулей.
-час, --Помогите
Покажите сводку опций и немедленно выйдите.
-k, --Автоматическая очистка
Установите «autoclean» на загруженные модули. Используется ядром, когда он вызываетModprobe для удовлетворения отсутствующей функции (поставляемой в виде модуля).-q вариант подразумевается-k, Эти параметры будут автоматически отправленыinsmod.
-l, --список
Список соответствующих модулей.
-n, --шоу
На самом деле не выполняйте действие, просто покажите, что будет сделано.
-q, --тихо
Не жалуйтесь наinsmod не удалось установить модуль. Продолжайте, как обычно, но молча, с другими возможностями для тестирования modprobe. Этот параметр будет автоматически отправленinsmod.
-р, --Удалить
Удалите модуль (стеки) или выполните автозабор, в зависимости от того, имеются ли в командной строке какие-либо модули.
-s, --syslog
Сообщение через syslog вместо stderr. Эти параметры будут автоматически отправленыinsmod.
-t moduletype ; --тип moduletype
Учитывайте только модули этого типа. modprobe будет рассматривать только модули, путь каталогов которых включает в себя " / Moduletype / '. moduletype может содержать более одного имени каталога, например. "-t Драйверы / нетто «будет перечислять модули в ххх / драйверы / нетто / и его подкаталоги.
-v, --подробный
Распечатывайте все команды по мере их выполнения.
-V, --версия
Покажите версиюModprobe.
Замечания:
Имена модулей не должны содержать путей (нет «/»), и они не могут содержать конечный «.o». Например, slip является допустимым именем модуля дляModprobe, /lib/modules/2.2.19/net/slip и slip.o являются недопустимыми. Это относится к командной строке и к записям в конфиге.
Описание команды
Modprobe а такжеdepmod Утилиты предназначены для того, чтобы сделать модульное ядро Linux более управляемым для всех пользователей, администраторов и распространителей.
Modprobe использует файл зависимостей типа «Makefile», созданныйdepmod, для автоматической загрузки соответствующих модулей (модулей) из набора модулей, доступных в предопределенных деревьях каталогов.
Modprobe используется для загрузки одного модуля, стека зависимых модулей или всех модулей, отмеченных указанным тегом.
Modprobe автоматически загрузит все базовые модули, необходимые в стеке модулей, как описано в файле зависимостей modules.dep , Если загрузка одного из этих модулей выходит из строя, весь текущий стек модулей, загруженных в текущий сеанс, будет автоматически выгружен.
Modprobe имеет два способа загрузки модулей. Один из способов (режим зонда) попытается загрузить модуль из списка (определенный шаблон ). Modprobe прекращает загрузку, как только один модуль загружается успешно. Это можно использовать для автозагрузки одного Ethernet-драйвера из списка. Другой способModprobe можно использовать для загрузкивсе модулей из списка. УвидетьПРИМЕРЫ, ниже.
С опцией-р, modprobe автоматически выгрузит стек модулей, подобно тому, как "rmmod -r". Заметьте, что использование только"modprobe -r"очистит неиспользуемые автозагружаемые модули, а также выполнит команды до и после удаления в файле конфигурации /etc/modules.conf .
Объединение опций-l а также-t перечислены все доступные модули определенного типа.
вариант-с будет печатать текущую конфигурацию (файл конфигурации + по умолчанию).
конфигурация
ПоведениеModprobe (а такжеdepmod) можно изменить с помощью (необязательного) файла конфигурации /etc/modules.conf , Более подробное описание того, что может содержать этот файл, а также конфигурацию по умолчанию, используемуюdepmod а такжеModprobe, увидетьmodules.conf(5).
Обратите внимание, что команды pre- и post-remove будутне выполняться, если модуль «autocleaned» kerneld! Посмотрите на поддержку поддержки постоянного хранения модулей. Если вы хотите использовать функции предварительной и последующей установки, вам придется отключить автозагрузку для kerneld и вместо этого поместить что-то вроде следующей строки в вашемкронтаб (это также используется для систем kmod), чтобы делать авточист каждые 2 минуты: * / 2 * * * * test -f / proc / modules && / sbin / modprobe -r
стратегия
Идея состоит в том, чтоModprobe будет выглядеть сначала в каталоге, содержащем модули, скомпилированные для текущей версии ядра. Если модуль там не найден,Modprobe будет выглядеть в директории, общей для версии ядра (например, 2.0, 2.2). Если модуль все еще найден,Modprobe будет выглядеть в каталоге, содержащем модули для выпуска по умолчанию, и так далее.
Когда вы устанавливаете новый Linux, модули должны быть перемещены в каталог, связанный с выпуском (и версией) ядра, которое вы устанавливаете. Затем вы должны сделать символическую ссылку из этого каталога в папку «default».
Каждый раз, когда вы скомпилируете новое ядро, команда "make modules_install«создаст новый каталог, но не изменит ссылку« по умолчанию ».
Когда вы получаете модуль, не имеющий отношения к дистрибутиву ядра, вы должны поместить его в один из независимых от версии каталогов в / Библиотека / модули .
Это стратегия по умолчанию, которая может быть переопределена в /etc/modules.conf .
Примеры
modprobe -t net
Загрузите один из модулей, которые хранятся в каталоге с тегами «net». Каждый модуль проверяется до достижения успеха.
modprobe -a -t boot
Будут загружены все модули, которые хранятся в каталогах с тегами «boot».
modprobe slip
Это попытается загрузить модуль slhc.o, если он не был ранее загружен, поскольку модуль slip нуждается в функциональности в модуле slhc. Эта зависимость будет описана в файле modules.dep который был создан автоматическиdepmod.
modprobe -r slip
Это приведет к выгрузке модуля скольжения. Он также автоматически выгрузит модуль slhc, если он не используется каким-либо другим модулем (например, ppp).
Смотрите также:
depmod (8),lsmod(8), Kerneld(8), символьные(8), rmmod(8).
Безопасный режим
Если эффективный uid не равен вещественному uid, тогдаModprobe рассматривает его ввод с крайним подозрением. Последний параметр всегда рассматривается как имя модуля, даже если он начинается с '-'. Может быть только одно имя модуля, а опции формы «variable = value» запрещены. Имя модуля всегда обрабатывается как строка, мета-расширение не выполняется в безопасном режиме. Однако метаданные по-прежнему применяются к данным, считываемым из файла конфигурации.
euid не может быть равным uid, когда modprobe вызывается из ядра, это верно для ядер> = 2.4.0-test11. В идеальном мире,Modprobe может доверять ядру только передавать действительные параметры modprobe. Однако хотя бы один локальный корневой эксплоит произошел, потому что код ядра высокого уровня передавал непроверенные параметры прямо от пользователя к modprobe. Поэтому modprobe больше не доверяет вводам ядра.
Modprobe автоматически устанавливает безопасный режим, когда среда состоит только из этих строк
HOME = / TERM = linux PATH = / sbin: / usr / sbin: / bin: / usr / bin
Это определяет выполнение modprobe из ядра на ядрах 2.2, хотя 2.4.0-test11, даже если uid == euid, что он делает на ранних ядрах.
Команды ведения журнала
Если каталог / вар / Журнал / ksymoops существует иModprobe запускается с опцией, которая может загружать или удалять модуль, тогда modprobe будет регистрировать свою команду и вернуть статус в / var / log / ksymoops / `date +% Y% m% d.log` , Нет переключателя для отключения этого автоматического ведения журнала, если вы не хотите, чтобы это произошло, не создавайте / вар / Журнал / ksymoops , Если этот каталог существует, он должен принадлежать root и быть режимом 644 или 600, и вы должны запустить скриптinsmod_ksymoops_clean каждый день или около того.
Требуемые утилиты
depmod(8), insmod(8).
Важный: Использовать человек команда ( % человек ), чтобы увидеть, как команда используется на вашем конкретном компьютере.




