MODULES-LOAD.D(5)

NAME
modules-load.d - 配置启动时加载哪些内核模块

SYNOPSIS

/etc/modules-load.d/*.conf

/run/modules-load.d/*.conf

/usr/lib/modules-load.d/*.conf

描述

systemd-modules-load.service(8) 从上述目录中读取 *.conf 文件，这些 *.conf 文件中静态的包含了 需要在系统启动时无条件加载的内核模块列表。 配置文件的名称必须符合 program.conf 风格。 注意，更好的做法是利用模块内基于 PCI ID, USB ID, DMI ID 之类的触发机制 进行动态自动加载，而不是使用这些配置文件无条件的加载。 实际上，绝大多数内核模块 都可以被动态的自动加载。

配置文件格式

配置文件应该简单的包含一系列需要加载的 内核模块的名称，每个模块名称之间使用换行符分隔。 空白行和以 # 或 ; 开头的行 将被忽略。

配置目录及其优先级

配置文件依次从 /etc/, /run/, /usr/lib/ 目录中读取。 配置文件的名称必须符合 filename.conf 格式。 对于不同目录下的同名配置文件，仅以优先级最高的目录中的那一个为准。 具体说来就是： /etc/ 的优先级最高、 /run/ 的优先级居中、 /usr/lib/ 的优先级最低。

软件包应该将自带的配置文件安装在 /usr/lib/ 目录中。 /etc/ 目录仅供系统管理员使用。 所有的配置文件(无论位于哪个目录中)，统一按照文件名的字典顺序处理。 如果在多个配置文件中设置了同一个选项， 那么仅以文件名最靠后(字典顺序)的那一个为准。 为了便于排序，建议给所有配置文件 都加上两位十进制数字的文件名前缀。

如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件， 那么最佳做法是在 /etc/ 目录中 创建一个指向 /dev/null 的同名符号链接， 即可彻底屏蔽 /usr/lib/ 目录中的同名文件。 如果软件包自带的某个配置文件位于 initrd 镜像中， 那么还必须重新生成 initrd 镜像。

例子

Example 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)