· 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
· <b>通過移除核心子產品可達到禁用該子產品的作用</b>
[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
· <b>通過</b><b>lsmod</b><b>檢視系統已加載的所有核心子產品</b>
[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
· <b>通過</b><b>modprobe</b><b>添加</b><b>/</b><b>删除核心子產品</b>
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
· <b>通過</b><b>ins</b><b>mod</b><b>/</b><b>rmmod </b><b>添加</b><b>/</b><b>删除核心子產品</b>
insmod指令主要用于在Linux2.4核心之前加載核心子產品,系統不僅不會自動解決核心子產品之間的依賴關系,而且還要求寫出詳細的子產品路徑
rmmod指令主要用于解除安裝正在使用的Linux核心子產品,與modprobe -r指令相似
[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 ~]# rmmod vfat
[root@rhel6 ~]# rmmod fat
· <b>通過</b><b> </b><b>depmod </b><b>重新注冊核心子產品資訊</b>
(非系統自帶的核心子產品不能通過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` //隻注冊目前系統中的核心子產品資訊
· <b>通過</b><b> </b><b>modinfo </b><b>檢視核心子產品資訊</b>
[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
本文轉自Vnimos51CTO部落格,原文連結:http://blog.51cto.com/vnimos/1102390,如需轉載請自行聯系原作者