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