linux内核模块的依赖性、查看、加载与删除


内核模块与依赖性:

    内核模块一般放置在/lib/modules/$(uname -r)/kernel目录下。

    文件/lib/modules/$(uname -r)/modules.dep,记录了内核所支持的各个模块的依赖性。

    depmod [-Ane]命令用来生成modules.dep文件。

        不加任何参数:depmod分析所有的内核模块,然后重新写入modules.dep文件。

        -A: 查找比modules.dep新的模块,如果找到新模块,才会更新modules.dep。

        -n: 不写入modules.dep文件,将结果直接显示在屏幕上。

        -e: 显示出目前已加载的,不可执行的模块名称。

内核模块的查看:

    lsmod: 查看目前内核加载了哪些模块。

    modinfo [-adln] [module_name]: 查看指定模块的信息。

        -a (author): 查看该模块的作者

        -d (description): 查看该模块的说明

        -l (license): 查看该模块的授权信息

        -n: 查看该模块的路径信息。

内核模块的加载与删除

    insmod /full_path/module_name: 加载指定模块。

        需输入模块的完整路径名。

        当待加载的模块存在依赖模块时,加载可能失败。

    rmmod [-fw] module_name: 删除指定模块。

        -f: 强制删除模块,不论模块是否正在被使用。

        -w: 如果模块正在被使用,则等待该模块使用完毕后再删除。

    modprobe [-lcfr] module_name

        -c: 列出目前系统所有的模块。

        -l: 列出目前在/lib/modules/$(uname -r)/kernel/中的所有模块的完整文件名。

        -f: 强制加载指定模块。

        -r: 删除指定模块。

        示例:

            modprobe ipv6.ko // 加载ipv6模块。不需要指定模块的完整路径名。

            modprobe -r ipv6.ko // 删除ipv6模块。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM