man modprobe.conf(5) - конфигурационный файл/каталог для modprobe

Rusty Russell, “man modprobe.conf(5) - Configuration file/directory for modprobe”, public translation into Russian from English More about this translation.

Translate into another language.

НАЗВАНИЕ

modprobe.conf - конфигурационный файл/каталог для modprobe

ОПИСАНИЕ

Поскольку команда modprobe при разрешении зависимостей модуля может добавлять или удалять дополнительно более одного модуля, нам требуется способ указать, какие опции должны быть использованы с этими модулями. /etc/modprobe.conf (или, если он не существует, все файлы в каталоге /etc/modprobe.d) указывает требуемые опции. Он также может использоваться для создания удобных псевдонимов: альтернативных имён модуля. Наконец, он может также заменять обычное поведение modprobe, в соответствии с особыми требованиями (такими как вставка более одного модуля).

Отметим, что имя модуля и псевдоним (как и другие имена модуля) может содержать любой из знаков "-" или "_": они оба взаимозаменяемы во всех командах модулей.

Формат modprobe.conf и файлов в каталоге modprobe.d прост: по одной команде в строке, пустые строки и строки, начинающиеся с символа "#" игнорируются (полезно для добавления комментариев). Конец строки заставляет программу продолжить со следующей строки, что делает файл немного аккуратнее.

Синтаксис файла является упрощением modules.conf, использовавшегося в ядрах 2.4 и более ранних.

КОМАНДЫ

alias шаблон имя_модуля

Это позволяет вам задавать альтернативные имена для модуля. Например: "alias my-mod really_long_modulename" означает, что вы можете использовать "modprobe my-mod" вместо "modprobe really_long_modulename". Вы можете также использовать шаблоны, подобные шаблонам оболочки, так что "alias my-mod* really_long_modulename" означает, что "modprobe my-mod-something" окажет тот же эффект. Вы не можете иметь псевдонимы для других псевдонимов (это приведет к безумию), но псевдонимы могут иметь опции, которые будут добавлены к любым другим опциям.

Отметим, что модули также могут содержать свои собственные псевдонимы, которые вы можете узнать при помощи modinfo. Эти псевдонимы используются в последнюю очередь (то есть, если нет настоящего модуля или команды install, remove или alias в конфигурации).

options имя_модуля опция ...

Эта команда позволяет вам добавить опции к модулю имя_модуля (это может быть псевдонимом) при каждой вставке в ядро: непосредственно (используя modprobe имя_модуля), или если модуль был вставлен как зависимость этого модуля.

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

install имя_модуля команда ...

Это наболее мощный примитив в modprobe.conf: он сообщает modprobe запустить вашу команду вместо обычной вставки модуля в ядро. Командой может быть командна оболочки: это позволяет вам выполнить любую разновидность сложной обработки, которую вы могли бы пожелать. Например, если модуль "fred" работает лучше вместе с уже установленным модулем "barney" (но не зависит от него, так что modprobe не захочет загружать его автоматически), вы должны указать команду "install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred", которая сделает то, что вы хотите. Отметим, что --ignore-install предотвратит перезапуск второй командой modprobe этой же команды install. Смотри также команду remove ниже.

Вы также можете использовать install для подгрузки модулей, которые могут и не существовать. Например, если вы выполните "modprobe probe-ethernet", команда "install preobe-ethernet /sbin/modprobe e100 || /sbin/modprobe eepro100" попытается сначала загрузить драйвер e100, затем драйвер eepro100.

Если вы воспользуетесь строкой "$CMDLINE_OPTS" в команде, она будет заменена любыми опциями, указанными в командной строке modprobe. Это может быть полезно, потому что пользователи ожидают, что "modprobe opt=1" передаст аргумент "opt=1" в модуль, даже если для этого модуля в конфигурационном файле указана команда install. Указанный выше пример примет вид "install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred $CMDLINE_OPTS".

remove имя_модуля команда ...

Эта команда подобна команде install, описанной выше, за исключением того, что она вызывается при запуске "modprobe -r". Для удаления контрпримерами двух вышеуказанных примеров будут: "remove fred /sbin/modprobe -r --ignore-remove fred && /sbin/modprobe -r barney" и "remove probe-ethernet /sbin/modprobe -r eepro100 || /sbin/modprobe -r e100".

include имя_файла

Используя эту команду, вы можете включить другие конфигурационные файлы, или целые каталоги, которые используются редко. Отметим, что псевдонимы во включаемых файлах заменят псевдонимы, уже объявленные в текущем файле.

blacklist имя_модуля

Модули могут содержать собственные псевдонимы: обычно эти псевдонимы описывают поддерживаемые устройства, например "pci:123...". Эти "внутренние" псевдонимы могут быть заменены обычными ключевыми словами "alias", но может случиться, что два или более модулей поддерживают одно и то же устройство, или в модуле неправильно указана поддержка устройства: ключевое слово blacklist означает, что все частные "внутренние" псевдонимы модуля будут проигнорированы.

ОБРАТНАЯ СОВМЕСТИМОСТЬ

Существует программа generate_modprobe.conf, которая может генерировать приемлемый modprobe.conf из модулей, установленных у вас в настоящее время (2.4 или 2.2).

Хотя синтаксис схож со старым modules.conf, здесь отсутствуют многие возможности. Есть две причины для этого: первая - команды install и remove, выполняющие всё необходимое, и вторая - module-init-tools modprobe спроектирована достаточно простой, чтобы её можно было легко заменить.

Действительная сложность вставки модулей уменьшена до трёх системных вызовов (open, read, init_module), и файл modules.dep стал прост и открыт, предлагая более мощный вариант modprobe, который может быть выполнен независимо, если это требуется.

АВТОРСКОЕ ПРАВО

Эта страница руководства: Copyright 2003, Расти Рассел (Rusty Russell), корпорация IBM

СМОТРИ ТАКЖЕ

modprobe(8), modules.dep(5)

Original (English): man modprobe.conf(5) - Configuration file/directory for modprobe

Translation: © Владимир Ступин, saturn721 .

translated.by crowd

Like this translation? Share it or bookmark!