Linux中的Modprobe命令

Linux内核是Linux操作系统的核心组件。 它管理系统的资源,并且是计算机硬件和软件之间的桥梁。

Linux内核具有模块化设计。 内核模块(通常称为驱动程序)是一段扩展内核功能的代码。 模块要么编译为可加载模块,要么内置在内核中。 可加载模块可以根据需要在正在运行的内核中进行加载和卸载,而无需重启系统。

通常,模块是按需加载的 udev (装置经理)。 但是,有时您可能需要微调模块的加载方式。 例如,您可能需要使用其他参数加载模块或防止自动加载模块。

您可以使用手动将模块加载到内核中 modprobe 命令,或在启动时使用 /etc/modules 要么 /etc/modules-load.d/*.conf 文件。

在本文中,我们将说明如何使用 modprobe 在Linux内核中添加和删除模块。 modprobe 是其一部分 kmod,该二进制文件实现了用于管理Linux内核模块的多个程序。

添加内核模块

内核模块存储在 /lib/modules/<kernel_version> 目录。 您可以找到正在运行的内核的版本,使用 uname -r 命令。

只有具有管理特权的用户才能管理内核模块。

要加载模块,请调用 modprobe 命令,后跟模块名称:

modprobe module_name

modprobe 命令将加载给定的模块和任何其他模块依赖项。 在命令行中只能指定一个模块。

使用 lsmod 确认模块已加载的命令:

lsmod | grep module_name

要使用其他参数加载模块,请使用 parameter=value 句法:

modprobe module_name parameter=value

该命令接受多个 parameter=value 对用空格隔开。

通常,您需要在系统引导期间加载模块。 您可以通过在模块内的文件中指定模块及其参数来实现 /etc/modules-load.d 目录。 文件必须以结尾 .conf 并可以使用任何名称:

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

option module_name parameter=value

这些文件中指定的设置由 udev,它会在系统启动时使用加载模块 modprobe

卸下内核模块

要删除模块,请调用 modprobe 用命令 -r 选项,后跟模块名称:

modprobe -r module_name

modprobe 还将删除未使用的模块依赖项。

当与 -r,该命令接受多个模块作为参数:

modprobe -r module_name1 module_name2

您也可以使用 rmmod 命令从Linux内核中卸载模块。

如果要防止在启动时加载内核模块,请创建一个 .conf 文件中带有任何名称的文件 /etc/modprobe.d。 语法为:

/etc/modprobe.d/blacklist.conf

blacklist module_name

如果要将其他模块列入黑名单,请在新行上指定模块,或创建新模块 .conf 文件。

结论#

modprobe 命令允许您添加和删除Linux内核模块。

如有任何疑问,请随时发表评论。

modprobe内核终端

Sidebar