日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux内核模块(二)

發布時間:2024/1/17 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux内核模块(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
·??? ko:kernel object

·??? so:shared object

[root@rhel6 ~]# ls /lib/modules/$(uname -r)/kernel/arch/x86/kvm

kvm-amd.ko? kvm-intel.ko? kvm.ko

? ·??? 通過移除內核模塊可達到禁用該模塊的作用

[root@rhel6 ~]# ls /lib/modules/$(uname -r)/kernel/drivers/usb/storage??????????? //移除usb-storage.ko即可禁用U

ums-alauda.ko?? ums-datafab.ko? ums-isd200.ko??? ums-karma.ko???? ums-sddr09.ko? ums-usbat.ko

ums-cypress.ko? ums-freecom.ko? ums-jumpshot.ko? ums-onetouch.ko? ums-sddr55.ko? usb-storage.ko

? ·??? 通過lsmod查看系統已加載的所有內核模塊

[root@rhel6 ~]# lsmod

模塊名稱??????????????? ??? 模塊大小??? 依賴關系

Module????????????????? Size? Used by

ipt_MASQUERADE????????? 2466? 0

ipt_REJECT????????????? 2383? 0

autofs4??????????????? 26888? 3

scsi_transport_fc????? 52241? 3 bnx2fc,fcoe,libfc

scsi_tgt?????????????? 12173? 1 scsi_transport_fc

8021q????????????????? 23575? 0

iptable_mangle????????? 3349? 1

iptable_filter????????? 2793? 0

iptable_nat???????????? 6158? 1

nouveau?????????????? 708444? 0

ext4????????????????? 364410? 2

mmc_core?????????????? 72991? 1 sdhci

video?????????????? ???21032? 2 nouveau,i915

? ·??? 通過modprobe添加/刪除內核模塊

modprobe命令主要用于在Linux2.6內核中加載和刪除Linux內核模塊,通過此命令可輕松加載和刪除Linux內核模塊,同時會自動解決內核模塊之間的依賴關系,并加載相互依賴的模塊。

·??? 添加vfat內核模塊

[root@rhel6 ~]# lsmod | grep vfat????????? ? ? ? ? ? ? ? ? ? //列出當前內存當中是否已加載vfat的內核模塊

[root@rhel6 ~]# modprobe vfat??????????????????? ? ? ? ? ? //不需加 .ko"

[root@rhel6 ~]# lsmod | grep vfat

vfat?????????????????? 46529? 0

fat??????????????????? 85873? 1 vfat

·??? 刪除vfat內核模塊

[root@rhel6 ~]# modprobe -r vfat

[root@rhel6 ~]# lsmod | grep vfat

? ·??? 通過insmod/rmmod 添加/刪除內核模塊

insmod命令主要用于在Linux2.4內核之前加載內核模塊,系統不僅不會自動解決內核模塊之間的依賴關系,而且還要求寫出詳細的模塊路徑

rmmod命令主要用于卸載正在使用的Linux內核模塊,modprobe -r命令相似

·??? 添加vfat內核模塊

[root@rhel6 ~]# insmod /lib/modules/2.6.32-220.el6.x86_64/kernel/fs/fat/fat.ko ??

[root@rhel6 ~]# insmod /lib/modules/2.6.32-220.el6.x86_64/kernel/fs/vfat/vfat.ko

[root@rhel6 ~]# lsmod | grep vfat

vfat?????????????????? 46529? 0

fat??????????????????? 85873? 1 vfat

·??? 刪除vfat內核模塊

[root@rhel6 ~]# rmmod vfat

[root@rhel6 ~]# rmmod fat

[root@rhel6 ~]# lsmod | grep vfat

? ·??? 通過 depmod 重新注冊內核模塊信息

(非系統自帶的內核模塊不能通過modprobe直接加載,可通過insmod手工加載或者將該內核模塊的*.ko文件拷貝到相應的目錄下通過depmod重新注冊內核模塊信息)

[root@rhel6 ~]# depmod [-ane]

-a???? :不加任何參數時, depmod 會主動的去分析目前核心的模塊,并且重新寫入/lib/modules/$(uname -r)/modules.dep 當中。

?????? ?若加入 -a 參數時,則 depmod會去搜尋比 modules.dep 內還要新的模塊,如果找到新模塊,才會升級。

-n? :不寫入 modules.dep ,而是將結果輸出到屏幕上(standard out)

-e? :顯示出目前已加載的不可運行的模塊名稱

? [root@rhel6 ~]# file /lib/modules/2.6.32-220.el6.x86_64/modules.dep????????

/lib/modules/2.6.32-220.el6.x86_64/modules.dep: ASCII text, with very long lines

[root@rhel6 ~]# rm -f /lib/modules/2.6.32-220.el6.x86_64/modules.dep

[root@rhel6 ~]# depmod ??????????????? ? ? ? ? ? ? ? ? ? ? ? //重新注冊當前系統的內核模塊信息并生成modules.dep文件

[root@rhel6 ~]# ls /lib/modules/2.6.32-220.el6.x86_64| grep modules.dep

modules.dep

modules.dep.bak

[root@rhel6 ~]# ls /lib/modules/2.6.32-220.el6.x86_64/modules.dep

/lib/modules/2.6.32-220.el6.x86_64/modules.dep

[root@rhel6 ~]# depmod -a ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//注冊/lib/modules/下所有內核的內核模塊信息

[root@rhel6 ~]# depmod `uname -r`????????????????? //只注冊當前系統中的內核模塊信息

·??? 通過 modinfo 查看內核模塊信息

[root@rhel6 ~]# modinfo vfat

filename:?????? /lib/modules/2.6.32-220.el6.x86_64/kernel/fs/fat/vfat.ko

author:???????? Gordon Chaffee

description:??? VFAT filesystem support

license:??????? GPL

srcversion:???? ACCC2F7E9526F402F526976

depends:??????? fat

vermagic:?????? 2.6.32-220.el6.x86_64 SMP mod_unload modversions

? ? ?

總結

以上是生活随笔為你收集整理的Linux内核模块(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。