如何在Linux中使用Modprobe命令(用法示例指南)

Linux Modprobe命令使用教程介绍Linux如何使用Modprobe命令:Linux 内核采用模块化设计。功能可通过模块或驱动程序进行扩展。使用该modprobe命令在 Linux 上添加或删除模块。该命令可以智能地工作并自动添加任何依赖模块。
内核用于modprobe请求模块。该modprobe命令搜索标准安装的模块目录以查找必要的驱动程序。
本文解释了如何使用 modprobe 添加或删除内核模块,包括一些Linux Modprobe命令用法示例。
【如何在Linux中使用Modprobe命令(用法示例指南)】先决条件

  • 一个运行 Linux 的系统
  • 访问终端/命令行
  • 具有sudo或root权限的用户帐户
modprobe 命令语法解释所有modprobe命令都需要 sudo 权限。使用的一般语法modprobe是:
sudo modprobe < options> < module name>

默认情况下,该modprobe命令添加一个模块。
对于多个模块,使用选项-a或扩展-all
sudo modprobe < options> -a < first module name> < second module name>

modprobe 命令的选项Linux如何使用Modprobe命令:可用的modprobe命令选项根据其用例分为几类。
管理选项
使用命令插入或删除模块时,管理选项启用不同的模块处理情况modprobe
--all
-a
允许同时插入或移除多个模块。
--remove
-r
移除一个模块。也适用--remove-dependencies。用于移除损坏的模块。
--remove-dependencies删除依赖模块。
--resolve-alias
-R
查找并打印与别名匹配的所有模块名称。用于调试别名问题。
--first-time为已经插入或移除的模块打印错误。
--ignore-install
--ignore-remove
-i
插入/删除模块时忽略模块中编写的安装/删除命令。
--use-blacklist
-b
黑名单解析别名。列入黑名单的模块不会自动加载。
--force
-f
出现版本错误时强制插入或移除模块。适用于--force-modversion--force-vermagic。谨慎使用。
--force-modversion在插入或移除时忽略模块版本。谨慎使用。
--force-vermagic在插入或移除时忽略模块版本魔法。谨慎使用。
查询选项
用于modprobe显示有关配置和依赖项的信息的查询选项。
--show-depends
-D
列出具有依赖文件的模块(如果有)。与模块一起安装的依赖项具有“install”前缀。
--showconfig
--show-config
-c
打印当前配置并存在。
--show-modversions
--dump-modversions
转储模块版本依赖项。
常规选项
常规选项配置modprobe输出选项、模块位置和版本。
--dry-run
--show
-n
不要执行插入/删除,而是打印输出。用于调试目的。
--config=< file name>
-C
使用< file name> 覆盖默认配置依赖项 (  /etc/modprobe.d  )  。
--dirname=< directory>
-d
使用< directory> 作为/lib/modules 的文件系统根。
--set-version=< version>
-S
使用指定的内核< version> 而不是使用uname.
--syslog
-s
通过syslog而不是标准错误 (  stderr  )打印错误消息。当stderr不可用时,错误会自动打印到syslog
--quiet
-q
禁用错误消息的显示。
--verbose
-v
允许显示更多消息(如果可用)。modprobe仅在出现问题时才打印消息。
--version
-V
显示modprobe版本。
--help
-h
显示列出的所有命令的帮助消息。
Linux Modprobe命令用法示例默认情况下,所有内核模块都列在.ko(内核对象)文件的/lib/modules目录系统中。
Linux Modprobe命令使用教程:使用以下命令查找当前内核版本的所有可用模块:
find /lib/modules/$(uname -r) -type f -name '*.ko*' | more

如何在Linux中使用Modprobe命令(用法示例指南)

文章图片
注意:考虑删除旧的内核版本。查看我们关于如何在 Ubuntu上删除旧内核的指南。
Linux如何使用Modprobe命令:使用 modprobe 命令添加内核模块
1. 使用以下modprobe命令添加模块:
sudo modprobe < module name>

例如:
sudo modprobe torture

如何在Linux中使用Modprobe命令(用法示例指南)

文章图片
2. 确认模块加载:
sudo modprobe < module name> --first-time

输出会打印错误,因为该模块已在内核中。
如何在Linux中使用Modprobe命令(用法示例指南)

文章图片
或者,使用以下命令在活动模块加载列表中查找模块lmod
lsmod | grep < module name>

例如:
lsmod | grep torture

如何在Linux中使用Modprobe命令(用法示例指南)

文章图片
Linux如何使用Modprobe命令?使用 modprobe 命令删除内核模块
1. 使用以下modprobe -r命令删除模块:
sudo modprobe -r < module name>

例如:
sudo modprobe -r torture

2. 运行以下命令确认模块已移除:
sudo modprobe -r < module name> --first-time

出现一条错误消息,指出该模块不在内核中:
如何在Linux中使用Modprobe命令(用法示例指南)

文章图片
Linux Modprobe命令使用教程
或者,检查活动模块加载列表:
lsmod | grep < module name>

删除的模块不在模块加载列表中。
Linux Modprobe命令用法示例总结Linux 内核被创建为模块化且易于扩展。请务必研究要添加或删除的模块,以避免内核出现问题。
如需进一步阅读,请遵循我们关于如何从头构建 Linux 内核的指南。

    推荐阅读