📜  Linux 中的 depmod 命令示例(1)

📅  最后修改于: 2023-12-03 15:32:41.055000             🧑  作者: Mango

Linux 中的 depmod 命令

介绍

depmod 是 Linux 系统中用于维护内核模块依赖的命令。当新的内核模块被加载时,depmod 会分析模块中声明的依赖关系,生成模块依赖的快速搜索数据库。

使用方法

depmod 命令有以下常用选项:

| 选项 | 描述 | | --- | --- | | -a | 生成所有模块的 dependencies | | -A | 仅仅针对全部模块而非自动模块自动计算模块依赖关系 | | -E | 忽略 exclude 目录 | | -n | 仅对新模块自动计算依赖 | | -v | 显示详细信息 |

使用 depmod 时需要提供当前正在使用的内核版本号,例如:

depmod -a $(uname -r)

这样会生成针对当前正在使用的内核版本号的依赖搜索数据库。

示例

假设有如下两个内核模块,module1.ko 和 module2.ko,其中 module2.ko 依赖于 module1.ko。

首先需要加载 module1.ko:

insmod module1.ko

加载 module1.ko 同时会更新内核模块依赖数据库,但是需要使用 depmod 命令强制更新该数据库:

depmod -a $(uname -r)

然后再加载 module2.ko:

insmod module2.ko

module2.ko 执行时会检查 module1.ko 是否已加载,如果没有加载则会先加载 module1.ko。

总结

depmod 是 Linux 系统中一个非常重要的命令,它维护了内核模块之间的依赖关系,使得内核模块之间的加载以及卸载更加方便。如果使用了内核模块,那么了解和掌握 depmod 命令会对后续的模块维护工作有帮助。