简介:
modprobe命令 用于向内核装在模块或从内核中移除模块。
modprobe可载入指定的个别模块儿,或是载入一组相依模块。modprobe会根据depmod(depmod是一个用来产生modules.dep和map文件的程序,depmod通过读取/lib/modules/version目录下的每一个模块来创建一个记录模块相依性的列表。这个列表就是/lib/modules/version目录下的modules.dep。)所产生的相依关系,决定载入哪些模块。如无法正确载入则modprobe会卸载整组模块。
为了一致性,modprobe不区分模块名字中包含的_和-。modprobe检查/lib/modules/`uname -r`下的所有模块,除了/etc/modprobe.conf配置文件和/etc/modprobe.d目录以外。所有/etc/modprobe.d/arch/目录下的文件将被忽略。值得注意的是现在modprobe不会对模块本身进行操作,解析symbols(linux核心模块可以提供服务给其他模块,称之为"symbols")和理解参数的工作都交由kernel来作,所以模块加载等错误有时将会包含在内核信息中,利用dmesg可以查看到,如果指定模块名,这些模块将会被传到核心中,当然还有它们对应的参数(记录在配置文件中).。
modprobe会根据modules.dep来添加或者删除模块。
通过了解modprobe的manpage 可以知道modprobe -l来显示当前可以加载的模块,所谓当前可以加载的模块实际上是modules.dep文件中包含的那些模块,而不是manpage里说的modprobe会加载/lib/modules/`uname -r`下的所有模块,modprobe加载某个模块是根据/lib/modules/`uname -r`目录下的modules.dep文件中的模块列表,这个文件中所有的模块modprobe会正确加载,否则就会出错。
用法及例子:
modprobe(选项)(参数—要加载或移除的模块名)
显示当前装入的内核模块:
$ lsmod|grep module_name
显示模块信息:
$ modinfo module_name
显示所有模块的配置信息:
$ modprobe -c | less
显示某个模块的配置信息:
$ modprobe -c | grep module_name
显示一个装入模块使用的选项:
$ systool -v -m module_name
显示模块的依赖关系:
$ modprobe --show-depends module_name
手动加载卸载
控制内核模块载入/移除的命令是kmod 软件包提供的, 要手动装入模块的话,执行:
# modprobe module_name
如果要移除一个模块:
# modprobe -r module_name
或者:
# rmmod module_name
查看modules的配置文件:
modprobe -c
可以查看modules的配置文件,比如模块的alias别名是什么等。
列出内核中所有已经或者未挂载的所有模块:
modprobe -l
能查看到所需要的模块,然后根据需要来挂载;其实modprobe -l读取的模块列表就位于/lib/modules/`uname -r`目录中;其中uname -r是内核的版本。
挂载vfat模块: modprobe vfat
使用格式modprobe [模块名] 来挂载一个模块。挂载之后,用lsmod可以查看已经挂载的模块。模块名是不能带有后缀的,我们通过modprobe -l所看到的模块,都是带有.ko或.o后缀。
Linux modprobe命令
未经允许不得转载:徐万新之路 » Linux modprobe命令
最新评论
这个牛
放下欲望,男人从来不醉,充分且必要
勇气、责任、自信、创新,为天下先!
软件即数据,软件即服务,软件即管理,软件就是对人类各种社会活动的仿真和记录。软件很重要,但软件不可能凌驾于业务之上,尤其不可能高人一等。