Linux / Unix命令depmod

确保正确的模块总是加载Linux

Depmod处理为可加载依赖描述内核模块。

剧情简介

depmod(aa) [-ehnqrsuvV] [- cconfigfile][- fkernelsyms][- bbasedirectory][forced_version]depmod[-enqrsuv] [- fkernelsymsmodule1的。o module2。阿……

描述

depmodmodprobe实用程序旨在使Linux模块化内核管理所有用户、管理员和维护者。

Depmod创建一个“Makefile”式的依赖文件,根据设置的符号它发现模块提到在命令行上或在配置文件中指定的目录。这种依赖性文件后使用modprobe自动加载正确的模块或堆栈的模块。

Linux depmod命令

的正常使用depmod包括行吗

/sbin/depmod——

在rc文件/etc/rc.d,所以正确的模块依赖关系后立即将引导系统。如果您正在使用一个更完整的分布特征,像Ubuntu, Debian,或Fedora,这将为您完成。注意,选项——一个现在是可选的。为引导的目的,选择q可能更适合,因为这使得depmod沉默未解决符号。如果你想看什么是补充说,使用- v啰嗦地切换到运行该命令。

还可以创建依赖文件后立即编译一个新的内核。如果你“depmod——2.2.99“当你第一次编译内核2.2.99及其模块,同时还运行例如2.2.98,该文件将被创建在正确的地方。然而,在这种情况下,依赖于内核将不保证是正确的。看到选项- f,- c- b以上有关处理的更多信息。

在构建模块和导出的符号之间的关系由其他模块,depmod不考虑GPL的状态模块和导出的符号。即depmod不会标记错误,如果一个模块没有GPL许可证是指一个GPL兼容只能象征(EXPORT_SYMBOL_GPL内核)。然而,insmod只会拒绝解决GPL符号non-GPL模块的实际负载将会失败。

选项

——一个,——所有

搜索模块(可选)配置文件中指定的所有目录/

——一个,——快速

比较文件的时间戳和,如果有必要,就像depmod——。此选项仅更新依赖文件是否有变化。

- e,——errsyms

显示所有未解决符号为每个模块。

- h,——帮助

显示选项的摘要,并立即退出。

- n,——显示

写在标准输出,而不是依赖文件/lib/modules树。

q,——安静

告诉depmod保持安静,不要抱怨缺少符号。

- r,——根

一些用户编译模块在一个非根用户id,然后安装模块作为根。这个过程可以把模块属于非根用户标识,即使属于根模块目录。如果非根用户id被破坏,入侵者可以覆盖现有模块由用户标识和使用这种接触引导根访问。

默认情况下,modutils将拒绝尝试使用不属于根的一个模块。指定- r将抑制误差和允许根加载模块不属于根。

使用- r是一个主要的安全风险和不推荐。

- s,——syslog

编写所有错误消息通过syslog守护进程,而不是stderr。

- u,——unresolved-error

depmod2.4不设置一个返回代码当有任何未解决的符号。一些发行版希望非零返回代码在modutils 2.4但是这一变化可能会导致问题旧用户期望的行为。如果你想要一个非零返回代码在depmod 2.4中,指定- udepmod2.5将默默地忽略- u国旗和总是给一个非零返回代码未解决符号。

- v,- - -详细的

显示每个模块的名称,因为它正在处理。

- v,——版本

显示的版本depmod

管理分布

以下选项是有用的为人们管理分布:

- bbasedirectory,——basedirbasedirectory

如果目录树/lib/modules包含模块的点子树搬到其他地方为了处理模块为一个不同的环境,- b选项告诉depmod在哪儿找到的移动图像/lib/modules树。输出文件中的文件引用depmod建造,modules.dep不会包含basedirectory路径。这意味着,当文件树搬回来basedirectory / lib /模块/lib/modules在最后的分布,所有引用将是正确的。

- cconfigfile,——配置configfile

使用文件configfile而不是/。环境变量MODULECONF也可以用来选择一个不同的配置文件从默认吗/(或/etc/conf.modules(弃用))。

当环境变量UNAME_MACHINE设置,modutils将使用它的价值,而不是机器领域的uname()系统调用。这主要是使用当你在32位64位编译模块用户空间,反之亦然,集UNAME_MACHINE模块正在建设的类型。当前modutils不支持完全交叉模块构建模式,它是有限的选择32位和64位版本的主机架构。

- f kernelsyms,——filesymskernelsyms

当构建依赖文件不同于当前运行的内核,内核是很重要的depmod使用正确的内核符号来解决内核集在每个模块的引用。这些符号可以是一个副本System.map从另一个内核或输出的副本/proc/ksyms。如果您的内核使用版本化的符号,最好使用的一个副本/proc/ksyms输出,因为文件包含版本内核的符号象征。然而,您可以使用一个System.map即使版本化的符号。

配置

的行为depmodmodprobe可以调节(可选)配置文件/。看到modprobe(8)和modules.conf(5)为一个完整的描述。

策略

每次编译一个新内核,命令”使modules_install“将创建一个新目录,但不会改变默认的。

当你得到一个模块与内核分配无关,你应该把它放在一个无关的目录下/lib/modules

这是默认策略,可以覆盖/

使用男人。命令(%的人),看看如何使用一个命令在您的特定的计算机。

这个页面是有用吗?