modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-o ] [parameters...]
modprobe -r [-n] [-i] [-v] ...
modprobe -l -t [ -a ...]
功能
从linux内核中添加和移除模块的程序。
举例
查看 modules 的配置文件
$modprobe -c
这里,可以查看 modules 的配置文件,比如模块的别名是什么等。会打印许多行信息,例如其中的一行会类似如下:
alias symbol:ieee80211_remove_wds_addr wlan
列出内核中所有已经或者未挂载的所有模块
$modprobe -l
这里,我们能查看到我们所需要的模块,然后根据我们的需要来挂载;其实 modprobe -l 读取的模块列表就位于 /lib/modules/`uname -r` 目录中;其中 uname -r 是内核的版本.例如输出结果的其中一行是:
/lib/modules/2.6.27-7-generic/kernel/arch/x86/oprofile/oprofile.ko
挂载vfat模块
#modprobe vfat
这里,使用格式 modprobe 模块名 来挂载一个模块。挂载之后,用 lsmod 可以查看已经挂载的模块。模块名是不能带有后缀的,我们通过 modprobe -l 所看到的模块,都是带有 .ko 或 .o 后缀。
移除已经加载的模块
#modprobe -r 模块名
这里,移除已加载的模块,和 rmmod 功能相同。注意:模块名是不能带有后缀的,我们通过 modprobe -l 所看到的模块,都是带有 .ko 或 .o 后缀.
描述
modprobe 会从linux内核中智能地添加或者移除模块。
注意,为了方便,在 module 名称中的 _ 和 - 是一样的。 modprobe 在模块目录 /lib/modules/`uname -r` 中查找除了 /etc/modprobe.conf 配置文件和 /etc/modprobe.d 目录之外中的模块和其他文件。所有在 /etc/modprobe.d/arch/ 中的文件被忽略。
modprobe 需要一个实时更新的 modules.dep 文件,这个文件由 depmod 生成。这个文件列出了每个模块还需要依赖哪些其他的模块。 modprobe 利用这个文件来自动解决添加和删除模块时候的依赖关系。可以查看 depmod 和 modules.dep 的 man 手册。
如果在 modulename 后面还有其他的参数,那么它们会被传递给内核(同配置文件列出的选项一块)。
modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]
参数:
-
-a或--all载入全部的模块。 -
-c或--show-conf显示所有模块的设置信息。 -
-d或--debug使用排错模式。 -
-l或--list显示可用的模块。 -
-r或--remove模块闲置不用时,即自动卸载模块。 -
-t或--type指定模块类型。 -
-v或--verbose执行时显示详细的信息。 -
-V或--version显示版本信息。 -
-help显示帮助。
insmod 与 modprobe 都是载入 kernel module ,不过一般差别于 modprobe 能够处理 module 载入的相依问题。
比方你要载入 a module ,但是 a module 要求系统先载入 b module 时,直接用 insmod 挂入通常都会出现错误讯息,不过 modprobe 倒是能够知道先载入 b module 后才载入 a module ,如此相依性就会满足。
不过 modprobe 并不是大神,不会厉害到知道 module 之间的相依性为何,该程式是读取 /lib/modules/2.6.xx/modules.dep 档案得知相依性的。而该档案是透过 depmod 程式所建立。
补充说明: modprobe 可载入指定的个别模块,或是载入一组相依的模块。 modprobe 会根据 depmod 所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在 modprobe 会卸载整组的模块。
其他
参考网址:










网友评论