modules-load.d 中文手册
名称
modules-load.d — 配置启动时加载哪些内核模块
大纲
/etc/modules-load.d/*.conf
/run/modules-load.d/*.conf
/usr/lib/modules-load.d/*.conf
描述
systemd-modules-load.service(8)从上述目录中读取 *.conf 文件,这些 *.conf 文件中静态的包含了需要在系统启动时无条件加载的内核模块列表。配置文件的名称必须符合
风格。注意,更好的做法是利用模块内基于 PCI ID, USB ID, DMI ID 之类的触发机制进行动态自动加载,而不是使用这些配置文件无条件的加载。实际上,绝大多数内核模块都可以被动态的自动加载。program
.conf
配置文件格式
配置文件应该简单的包含一系列需要加载的内核模块的名称,每个模块名称之间使用换行符分隔。空白行和以 # 或 ; 开头的行将被忽略。
配置目录及其优先级
配置文件依次从/etc/
, /run/
, /usr/lib/
目录中读取。配置文件的名称必须符合
格式。对于不同目录下的同名配置文件,仅以优先级最高的目录中的那一个为准。具体说来就是:filename
.conf/etc/
的优先级最高、/run/
的优先级居中、/usr/lib/
的优先级最低。
软件包应该将自带的配置文件安装在 /usr/lib/
目录中。/etc/
目录仅供系统管理员使用。所有的配置文件(无论位于哪个目录中),统一按照文件名的字典顺序处理。如果在多个配置文件中设置了同一个选项,那么仅以文件名最靠后(字典顺序)的那一个为准。为了便于排序,建议给所有配置文件都加上两位十进制数字的文件名前缀。
如果系统管理员想要屏蔽 /usr/lib/
目录中的某个配置文件,那么最佳做法是在 /etc/
目录中创建一个指向 /dev/null
的同名符号链接,即可彻底屏蔽 /usr/lib/
目录中的同名文件。如果软件包自带的某个配置文件位于 initrd 镜像中,那么还必须重新生成 initrd 镜像。
例子
例 1. /etc/modules-load.d/virtio-net.conf 文件:
# 在启动时无条件的加载 virtio-net.ko 模块 virtio-net
参见
systemd(1),systemd-modules-load.service(8),systemd-delta(1),modprobe(8)