內核與內核模塊
先來看一下,內核與內核模塊放在哪?這里以centos6為例
- 內核: /boot/vmlinuz或/boot/vmlinuz-version
- 內核解壓所需要RAMDisk: /boot/initrc(/boot/initrc-version)
- 內核模塊:/lib/modules/version/kernel或/lib/modules/uname -r/kernel
- 內核源碼:/usr/src/linux (安裝過才會有,默認無)
- 內核版本:/proc/version
- 系統內核功能:/proc/sys/kernel
內核模塊
我們先來看一下內核文件
內核模塊的存放位置,打開/lib/modules/version/kernel或/lib/modules/uname -r/kernel
arch crypto drivers fs kernel lib mm net sound
(1)arch :與硬件平臺有關的選項,如 CUP等
(2)crypto:加密相關的技術
(3)drives:硬件驅動程序,如顯卡、網卡。
(4)fs:文件系統
(5)lib:函數庫
(6)net:網絡相關的各項協議數據,和防火墻模塊
(7)sound:聲音有關的模塊
內核模塊的查看
我們如何知道系統加載了哪些模塊
lsmod 命令
lsmod Module Size Used by nls_utf8 1455 0 fuse 79892 2 autofs4 27000 3 8021q 20475 0 garp 7152 1 8021q ... 部分省略 ... ib_mad 41340 3 ib_umad,ib_cm,ib_sa ib_core 82732 10 ib_ipoib,rdma_ucm,ib_ucm,ib_uverbs,ib_umad,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad ib_addr 8304 3 rdma_ucm,rdma_cm,ib_core ... 部分省略 ... e1000 134799 0 vmware_balloon 7199 0 sg 29350 0 i2c_piix4 11232 0 shpchp 29130 0 ext4 381065 3 ... 部分省略 ... dm_mirror 14864 0 dm_region_hash 12085 1 dm_mirror dm_log 9930 2 dm_mirror,dm_region_hash dm_mod 102467 2 dm_mirror,dm_log
其中我們可以看到我們已經見過的模塊,例如,e1000網卡驅動模塊,ext4文件系統模塊等等
如果想要看更詳細的模塊信息,我們可以使用modinfo命令
modinfo的用法格式
modinfo [ adln ] [ modulename|filename… ]
-a ;僅列出作者名稱 -d : 僅列出modules的說明 -l : 僅列出授權 -n : 僅列出指定模塊的詳細路徑
示例
[root@Centos6 ~]#modinfo ext4 filename: /lib/modules/2.6.32-696.el6.x86_64/kernel/fs/ext4/ext4.ko license: GPL description: Fourth Extended Filesystem author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others srcversion: 74AEE2BDA63AC8482A78F4D depends: mbcache,jbd2 vermagic: 2.6.32-696.el6.x86_64 SMP mod_unload modversions 我們可以看出這個模塊的來源,以及模塊的較為簡單的說明
模塊的加載與刪除
當我們想要自己加載需要的模塊,需要用到一個簡單的命令,modprobe
modprobe格式的用法
modprobe [-lcfr] module_name modprode 后直接指定模塊名即可,不用寫出其絕對路徑,十分簡單方便 相關參數
-l :列出當前系統中所有模塊完整文件名 -c :列出所有模塊 -f :強制加載模塊 -r :刪除指定模塊
示例
# 加載cifs模塊 [root@Centos6 ~]#modprobe cifs
# 刪除cifs模塊 [root@Centos6 ~]#modprobe -r cifs
原創文章,作者:M25_ymd,如若轉載,請注明出處:http://www.www58058.com/86283