Я автоматизирую некоторые конфигурации в своих системах с помощью Puppet (однако, это не очень актуально здесь). Для группы машин я хочу загрузить модуль ядра во время загрузки. Кажется, самый элегантный способ - отредактировать /etc/modules
и добавить один в отдельной строке. Тем не менее, я хотел бы использовать отдельные файлы в структуре каталогов «.d
» для облегчения сопровождения, вместо того, чтобы Puppet редактировал файл.
Для modprobe и определения параметров или внесения в черный список модулей есть /etc/modprobe.d/
, но какой самый элегантный способ для фактической загрузки модулей во время загрузки с использованием одного нового файла? По сути, я ищу несуществующий каталог /etc/modules.d/
.
Есть предложения?
Вы должны иметь возможность помещать дополнительные файлы .conf в /etc/modprobe.d/, чтобы также выполнить загрузку модуля (даже при том, что файлы по умолчанию там все о черных списках).
Вы можете просто поместить имя модуля в строку, или, если вам нужно более сложное поведение, вы можете использовать «install» в начале строки. С man-страницы:
install modulename command...
This is the most powerful primitive: it tells modprobe to run your command
instead of inserting the module in the kernel as normal.
http://manpages.ubuntu.com/manpages/precise/man5/modprobe.conf.5.html
Вы ищете каталог
/etc/modules-load.d
Например, чтобы всегда загружать модуль ядра nf_conntrack_pptp
, добавьте nf_conntrack_pptp
в /etc/modules-load.d/pptp.conf
. Имя файла не имеет значения, но я предполагаю, что соглашение или требование заключается в том, что оно заканчивается на .conf
.
Это реализовано для более старых версий Ubuntu (без systemd) с использованием скрипта SysVinit в /etc/init.d/kmod
. Для более новых версий systemd (15.04+), systemd обрабатывает это. Прочитайте документацию man 5 modules-load.d
.
При использовании файла в каталоге /etc/modules.d необходимо использовать директиву install .
Поскольку "install" ожидает [имя_модуля] [команда]
install your_module /bin/true
добьется цели;)