是否有一个“.d”目录用于在启动时加载模块,与/ etc / modules相反?
我正在使用Puppet自动化我的系统上的一些配置(但是,这在这里并不真正相关)。 对于一组计算机,我想在启动时加载内核模块。 最优雅的方式似乎是编辑/etc/modules
并在单独的行上添加一个。 但是,我想在“ .d
”目录结构中使用单独的文件以便于维护,而不是让Puppet编辑文件。
对于modprobe并指定或列入黑名单模块的选项,有/etc/modprobe.d/
,但是使用单个新文件在启动时实际加载模块的最优雅方法是什么? 基本上,我正在寻找不存在的/etc/modules.d/
目录。
有什么建议?
您要查找的目录是
/etc/modules-load.d
例如,要始终加载nf_conntrack_pptp
内核模块,请将nf_conntrack_pptp
添加到/etc/modules-load.d/pptp.conf
。 文件名无关紧要,但我猜测它的约定或要求是以.conf
结尾。
这是使用/etc/init.d/kmod
的SysVinit脚本为较旧的Ubuntu版本(没有systemd)实现的。 对于较新的systemd版本(15.04+),systemd处理此问题。 阅读文档man 5 modules-load.d
。
您应该能够在/etc/modprobe.d/中添加额外的.conf文件来进行模块加载(即使其中的默认文件都是关于黑名单的内容)。
您可以将模块名称单独放在一行上,或者如果您需要更复杂的行为,可以在行的开头使用“install”。 从联机帮助页:
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.d目录中使用文件时,必须使用install指令。
由于“install”需要[module_name] [command]
install your_module /bin/true
会做的伎俩;)