Linux Modprobe命令使用教程介绍
Linux如何使用Modprobe命令:Linux 内核采用模块化设计。功能可通过模块或驱动程序进行扩展。使用该modprobe
命令在 Linux 上添加或删除模块。该命令可以智能地工作并自动添加任何依赖模块。
内核用于modprobe
请求模块。该modprobe
命令搜索标准安装的模块目录以查找必要的驱动程序。
本文解释了如何使用 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
注意:考虑删除旧的内核版本。查看我们关于如何在 Ubuntu上删除旧内核的指南。
Linux如何使用Modprobe命令:使用 modprobe 命令添加内核模块
1. 使用以下modprobe
命令添加模块:
sudo modprobe <module name>
例如:
sudo modprobe torture
2. 确认模块加载:
sudo modprobe <module name> --first-time
输出会打印错误,因为该模块已在内核中。
或者,使用以下命令在活动模块加载列表中查找模块lmod
:
lsmod | grep <module name>
例如:
lsmod | grep torture
Linux如何使用Modprobe命令?使用 modprobe 命令删除内核模块
1. 使用以下modprobe -r
命令删除模块:
sudo modprobe -r <module name>
例如:
sudo modprobe -r torture
2. 运行以下命令确认模块已移除:
sudo modprobe -r <module name> --first-time
出现一条错误消息,指出该模块不在内核中:
或者,检查活动模块加载列表:
lsmod | grep <module name>
删除的模块不在模块加载列表中。
Linux Modprobe命令用法示例总结
Linux 内核被创建为模块化且易于扩展。请务必研究要添加或删除的模块,以避免内核出现问题。
如需进一步阅读,请遵循我们关于如何从头构建 Linux 内核的指南。