1,查看现在内核加载的模块
#lsmod
命令是通过读取/proc/modules/中的内容来查看的
2,载入模块
当内核所需要的扩展功能不存在时,内核模块管理守护进程kmod执行modprobe去加载内核模块,两种类型的参数可以传给modprobe
a.模块的名字,像softdog
b.通用识别符,像char-major-10-30
当传给modprobe的参数是通用识别符时,modprobe首先在/etc/modprobe.conf中查找该字符串,如果它发现有一行像
alias har-major-10-30 softdog
说明要加载的是softdog.so模块
然后modprobe读取/lib/moudles/(uname -r)/modules.dep来判断是否有其他内核模块需要在加载此模块前加载。该文件是由命令depmod -a来创建的,保存着内核模块的依赖关系。
最终modprobe调用insmod来先加载需要依赖的模块,然后加载此模块。insmod将指向/lib/modules/(uname -r)/kernel/目录,为模块的专门存放的目录。
如果想要载入一个模块有两种办法:
方法1:insmod /lib/modules/(uname -r)/kernel/fat/fat.o #必须要写明全部的路径,因为insmod是很呆板的。
方法2:modprobe -a fat #modprobe会调用insmod来加载模块。
modprobe, insmod及depmod在一个名为modutils的工具包内。
3,卸载模块
#rmmod sysdog
使用“rmmod 模块名”来卸载相应的模块。
和modules有关的命令有:
- lsmod: 列出已被内核调入的模块
- insmod: 将某个module插入到内核中
- rmmod: 将某个module从内核中卸载
- depmod: 生成依赖文档,告诉将来的 insmod 要从哪儿调入 modules。这个依赖文档就在/lib/modules/[您的kernel版本]/modules.dep。
- Kerneld: 负责自动的将模块调入内核和把模块从内核中卸载。
暂无评论
写评论