日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux內(nèi)核模塊管理(查看、添加和刪除)
linux 的內(nèi)核會在啟動過程中自動檢驗(yàn)和加載硬件與文件系統(tǒng)的驅(qū)動。一般這些驅(qū)動都是用模塊的形式加載的,使用模塊的形式保存驅(qū)動,可以不直接把驅(qū)動放入內(nèi)核,有利于控制內(nèi)核大小。

成都創(chuàng)新互聯(lián)是專業(yè)的永靖網(wǎng)站建設(shè)公司,永靖接單;提供做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行永靖網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

模塊的全稱是
動態(tài)可加載內(nèi)核模塊,它是具有獨(dú)立功能的程序,可以被單獨(dú)編譯,但不能獨(dú)立運(yùn)行。模塊是為內(nèi)核或其他模塊提供功能的代碼集合。這些模塊可以是 Linux 源碼中自帶的,也可以是由硬件廠商開發(fā)的(可以想象成驅(qū)動)。不過內(nèi)核因?yàn)榘l(fā)布時間較長,所以自帶的模塊可能版本較低,還有一些新硬件可能就不自帶模塊了,只能由硬件廠商在發(fā)布硬件的同時發(fā)布新模塊。

也就是說,安裝模塊一般有兩種方法:

  • 第一種方法在編譯內(nèi)核時,手工調(diào)整內(nèi)核模塊功能,加入所需的模塊。這種方法有一個問題,就是內(nèi)核必須支持這個硬件或功能才可以通過編譯內(nèi)核加入模塊。如果硬件比內(nèi)核新,內(nèi)核本身并不支持硬件,就不能通過重新編譯內(nèi)核來加入新的硬件的支持。
  • 第二種方法就是下載廠商發(fā)布的新硬件的驅(qū)動模塊,或下載驅(qū)動程序,再編譯成驅(qū)動模塊,然后手工安裝。

本節(jié)我們主要來學(xué)習(xí)第二種方法,也就是如果我已經(jīng)得到了一個模塊,該如何手工安裝?這個模塊該如何得到呢?

如果是新硬件的驅(qū)動,則可以到硬件官方網(wǎng)站下載內(nèi)核驅(qū)動或內(nèi)核模塊。如果下載的是內(nèi)核模塊,則直接安裝即可;如果下載的是內(nèi)核驅(qū)動源碼,則只需要編譯源碼包,就會生成模塊(具體編譯過程和源碼包安裝非常類似,可以查看驅(qū)動的說明)。如果需要加入的模塊不是硬件的驅(qū)動,而只是內(nèi)核中的某項(xiàng)功能,那么,只要部分重新編譯內(nèi)核,就可以生成新功能的模塊(我們會通過 NTFS 文件系統(tǒng)支持來學(xué)習(xí)這種方法),然后安裝這個模塊即可。

內(nèi)核模塊保存位置與模塊保存文件

內(nèi)核模塊的保存位置在什么地方?其實(shí)在 /lib/modules/ 內(nèi)核版本 /kernel/ 目錄中,在 CentOS 6.x 中這個目錄就是:

[root@localhost ~]# cd /lib/modules/2.6.32-279.el6. i686/kemel/
查看一下目錄內(nèi)容:
[root@localhost kernel]#ls
arch
與硬件相關(guān)的模塊
crypto
#內(nèi)核支持的加密技術(shù)的相關(guān)模塊
drivers
#硬件的驅(qū)動程序模塊,如顯卡、網(wǎng)卡等
fs
#文件系統(tǒng)模塊,如 fat、vfat、nfs等
lib
#函數(shù)庫
net
#網(wǎng)絡(luò)協(xié)議相關(guān)模塊
sound
#音效相關(guān)模塊

Linux 中所有的模塊都存放在 /lib/modules/2.6.32-279.el6.i686/modules.dep 文件中,在安裝模塊時,依賴這個文件査找所有的模塊,所以不需要指定模塊所在位置的絕對路徑,而且也依靠這個文件來解決模塊的依賴性。如果這個文件丟失了怎么辦?不用擔(dān)心,使用 depmod 命令會自動掃描系統(tǒng)中已有的模塊,并生成 modules.dep 文件。命令格式如下:

[root@localhost ~]# depmod [選項(xiàng)]
#不加選項(xiàng),depmod命令會掃描系統(tǒng)中的內(nèi)核模塊,并寫入modules.dep文件

選項(xiàng):

  • -a:掃描所有模塊;
  • -A:掃描新模塊,只有有新模塊時,才會更新modules.dep文件;
  • -n:把掃描結(jié)果不寫入modules.dep文件,而是輸出到屏幕上;

我們把 modules.dep 文件刪除,看看使用 depmod 命令是否可以重新生成這個文件。命令如下:

[root@localhost ~]# cd /lib/modules/2.6.32-279.el6.i686/
#進(jìn)入模塊目錄
[root@localhost 2.6.32-279.el6.i686]# rm -rf modules.dep
#刪除 modules.dep文件
[raot@localhost 2.6.32-279.el6.i686]# depmod
#重新掃描模塊
[root@localhost 2.6.32-279.el6.i686]# ls -l modules.dep
-rw-r--r--. 1 root root 191899 5 月 23 07:09 modules.dep
#再查看一下,modules.dep文件又生成了

depmod 命令會掃描系統(tǒng)中所有的內(nèi)核模塊,然后把掃描結(jié)果放入 modules.dep 文件。后續(xù)的模塊安裝或刪除就依賴這個文件中的內(nèi)容。也就是說,如果我們要手工安裝一個模塊,則需要先把模塊復(fù)制到指定位置,一般復(fù)制至 /lib/modules/2.6.32-279.el6.i686/kernel/ 目錄中,使用 depmod 命令掃描之后,才能繼續(xù)安裝。

內(nèi)核模塊的查看

使用 lsmod 命令可以查看系統(tǒng)中到底安裝了哪些內(nèi)核模塊。命令如下:

[root@localhost ~]# lsmod
Module Size Used by
autofs4 20981 3
sunrpc 215000 1
ipt_REJECT 1867 2
nf_conntrack_ipv4 7694 2
nf_defrag_ipv4 1039 1 nf_conntrack_ipv4
…省略部分輸出…

lsmod命令的指定結(jié)果共有三列。

  • Module:模塊名。
  • Size:模塊大小。
  • Used by:模塊是否被其他模塊調(diào)用。

我們還可以使用 modinfo 命令來查看這些模塊的說明,命令格式如下:

[root@localhost ~]# modinfo 模塊名 例如:
[root@localhost ~]# modinfo autofs4
filename:/lib/modules/2.6.32-279.el6.i686/kernel/fs/autofs4/autofs4.ko
license: GPL
srcversion: 4F798AD1AD66D2CBBB5D953
depends:
vermagic:2.6.32-279.el6.i686 SMP mod_unload modversions 686
#能夠看到模塊名,來源和簡易說明

內(nèi)核模塊的添加與刪除

其實(shí),如果模塊已經(jīng)下載到本機(jī)了,那么安裝模塊的方法非常簡單。首先需要把模塊復(fù)制到指定位置,一般復(fù)制到 /lib/modules/2.6.32-279.el6.i686/kemel/ 目錄中,模塊的擴(kuò)展名一般是 *.ko;然后需要執(zhí)行 depmod 命令掃描這些新模塊,并寫入 modules.dep 文件;最后就可以利用 modprobe 命令安裝這些模塊了。命令格式如下:

[root@localhost ~]# modprobe [選項(xiàng)] 模塊名

選項(xiàng):

  • -I:列出所有模塊的文件名,依賴 modules.dep 文件;
  • -f:強(qiáng)制加載模塊;
  • -r:刪除模塊;

舉個例子,我們需要安裝 vfat 模塊(fat32 文件系統(tǒng)的模塊),那么需要執(zhí)行如下命令即可:

[root@localhost ~]# modprobe vfat
#安裝vfat模塊
[root@localhost ~]# Ismod | grep vfat
vfat 8575 0
fat 47049 1 vfat

vfat 模塊是系統(tǒng)中的默認(rèn)模塊,所以不需要執(zhí)行 depmod 命令進(jìn)行掃描。如果是外來模塊,則必須執(zhí)行 depmod 命令。因?yàn)橐呀?jīng)把模塊的完整文件名寫入了 modules.dep 文件,所以安裝模塊的命令不需要寫絕對路徑。

那么,如何刪除這個模塊呢?命令如下:

[root@localhost ~]# modprobe -r vfat
[root@localhost ~]# lsmod | grep vfat
#查找為空


標(biāo)題名稱:Linux內(nèi)核模塊管理(查看、添加和刪除)
轉(zhuǎn)載來源:http://m.5511xx.com/article/dhsejeo.html