新聞中心
模塊是Linux內(nèi)核的一部分,它們提供了許多核心的功能。當(dāng)你在Linux系統(tǒng)中安裝硬件或軟件時(shí),這些模塊會(huì)自動(dòng)加載到內(nèi)核中。但是,在某些情況下,您可能需要卸載特定的模塊。本文將介紹。

10多年的昌黎網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整昌黎建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“昌黎網(wǎng)站設(shè)計(jì)”,“昌黎網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
1. 確定要?jiǎng)h除的模塊
在刪除模塊之前,您需要確定要?jiǎng)h除的模塊的名稱。您可以使用lod命令來(lái)查看當(dāng)前加載的所有模塊。
$ lod
這將列出當(dāng)前加載的所有模塊,包括模塊的名稱,使用模塊的次數(shù)以及依賴項(xiàng)。
2. 確定模塊沒(méi)有依賴項(xiàng)
在卸載模塊之前,您應(yīng)該確保它沒(méi)有與其他模塊存在依賴關(guān)系。您可以使用modprobe命令來(lái)檢查依賴項(xiàng)。
$ modprobe -R
如果沒(méi)有任何輸出,則表示該模塊沒(méi)有依賴項(xiàng)。
3. 卸載模塊
完成這兩個(gè)步驟后,您可以使用rmmod命令來(lái)卸載模塊。
$ sudo rmmod
如果該模塊成功卸載,則不會(huì)返回任何輸出。
如果您嘗試卸載具有依賴關(guān)系的模塊,則會(huì)返回一個(gè)錯(cuò)誤。
4. 防止模塊重新加載
盡管您已經(jīng)卸載了模塊,但是在重新啟動(dòng)系統(tǒng)后,該模塊可能會(huì)自動(dòng)重新加載。為了避免這種情況發(fā)生,您可以使用以下命令:
echo “blacklist ” >> /etc/modprobe.d/blacklist.conf
這將在黑名單中添加要卸載的模塊名稱,并防止它在系統(tǒng)重新啟動(dòng)時(shí)重新加載。
5. 永久刪除模塊
如果您已經(jīng)確定不再需要某個(gè)模塊,請(qǐng)使用rmmod命令的-M選項(xiàng)來(lái)永久刪除它。
$ sudo rmmod -f -M
此命令將永久刪除模塊,并在系統(tǒng)重新啟動(dòng)時(shí)阻止其重新加載。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220如何刪除linux中的服務(wù)如web服務(wù)器
使用RedHat光盤啟動(dòng),進(jìn)入時(shí)選擇修復(fù)系統(tǒng)選項(xiàng),他會(huì)提示你當(dāng)前系統(tǒng)安裝的一些服務(wù)沖燃模塊,將這些模塊去掉,再進(jìn)滲判含行修復(fù)就可以了,但是你卸載了Apache軟件一些依靠他的服務(wù)叢笑將被停止。
怎么查看linux下的模塊,很多命令的介紹
1、lod 列加以掛載的內(nèi)橡亮核模塊;
lod 是列出目前系統(tǒng)中已加載的模塊的名稱及大小等;另外我們還可以查看 /proc/modules ,我們一樣可以知道系統(tǒng)已經(jīng)加載的模塊;
代碼:
# lod
2、modinfo 查看模塊信息;
modinfo 可以查看模塊的信息,通過(guò)查看模塊信息來(lái)判定這個(gè)模塊的用途;
代碼:
# moinfo 模塊名
舉例:
代碼:
# modinfo ne2k-pcifilename: /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ne2k-pci.koauthor: Donald Becker / Paul Gortmakerdescription: PCI NE2023 clone driverlicense: GPLparmtype: debug:intparmtype: options:array of intparmtype: full_duplex:array of intparm: debug:debug level (1-2)parm: options:Bit 5: full duplexparm: full_duplex:full duplex setting(s) (1)vermagic: 2.6.11-1.1369_FC4 686 REGPARM 4KSTACKS gcc-4.0depends: 8390alias: pci:v000010ECdsv*sd*bc*sc*i*alias: pci:vdsv*sd*bc*sc*i*alias: pci:v000011F6dsv*sd*bc*sc*i*alias: pci:v00008E2Edsv*sd*bc*sc*i*alias: pci:v00004A14dsv*sd*bc*sc*i*alias: pci:vdsv*sd*bc*sc*i*alias: pci:v000010BDd00000E34sv*sd*bc*sc*i*alias: pci:vd00005A5Asv*sd*bc*sc*i*alias: pci:v000012C3dsv*sd*bc*sc*i*alias: pci:v000012C3dsv*sd*bc*sc*i*alias: pci:v00008C4Adsv*sd*bc*sc*i*srcversion: 6ACE95F441CD26DF9DC31C2
上 面的例子是我們查看 ne2k-pci 這個(gè)模塊的信息,通過(guò)查看,我們知道ne2k-pci 模塊是8029網(wǎng)卡(PCI NE2023 clone driver)的驅(qū)動(dòng);模塊是位于 /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ 中ne2k-pci.ko
我們現(xiàn)在常用的網(wǎng)卡也有8139的,8139網(wǎng)卡所用的驅(qū)動(dòng)是 8139too ;查查看?
代碼:
# modinfo 8139too
我們?cè)俨椴関fat 和ntfs 的模塊信息;
代碼:
# modinfo vfat# modinfo ntfs
自己嘗試梁枯寬一下;
注意: 模塊名是不能帶有后綴的,我們通過(guò)modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
3、modprobe 掛載新模塊以及新模塊相依賴的模塊
modprobe 我們常用的功能就是掛載模塊,在掛載某個(gè)內(nèi)核模塊的同時(shí),這個(gè)模塊所依賴的模塊也被同時(shí)掛載;當(dāng)然modprobe 也有敗中列出內(nèi)核所有模塊,還有移除模塊的功能;下在我們舉個(gè)例子說(shuō)一說(shuō)咱們常用的功能和參數(shù);
代碼:
modprobe
modprobe -r …
modprobe -l -t
上面是modprobe 的用法,具體更為詳細(xì)的幫助,我們可以查看 man modprobe ;
代碼:
# modprobe -c
modprobe -c 可以查看modules 的配置文件,比如模塊的別名是什么等;
代碼:
# modprobe -l
modprobe -l 是列出內(nèi)核中所有的模塊,包括已掛載和未掛載的;通過(guò)modprobe -l ,我們能查看到我們所需要的模塊,然后根據(jù)我們的需要來(lái)掛載;其實(shí)modprobe -l 讀取的模塊列表就位于 /lib/modules/’uname -r’ 目錄中;其中uname -r 是內(nèi)核的版本;
代碼:
# uname -r2.6.11-1.1369_FC4# ls /lib/modules/2.6.11-1.1369_FC4/
通過(guò)上面的命令,自己試試看?
代碼:
# modprobe 模塊名 注:掛載一個(gè)模塊;
舉例:
代碼:
# modprobe ne2k-pci 注:掛載 ne2k-pci 模塊;# modprobe vfat 注:掛載vfat 模塊# modprobe ntfs 注:掛載ntfs 模塊# lod 注:列出已掛載模塊, 我們會(huì)看到ne2k-pci ,vfat ,ntfs的模塊 ;
注意: 模塊名是不能帶有后綴的,我們通過(guò)modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
代碼:
# modprobe -r 模塊名 注:移除已加載的模塊,和rmmod 功能相同;
注意:模塊名是不能帶有后綴的,我們通過(guò)modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
代碼:
# modprobe -r 模塊名
舉例:
代碼:
# modprobe -r ne2k-pci
就說(shuō)這么多吧,更為詳細(xì)的還是用 man modprobe 來(lái)查看和嘗試;
4、rmmod 移除已掛載模塊;
命令格式:
代碼:
rmmod 模塊名
注意: 模塊名是不能帶有后綴的,我們通過(guò)modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
舉例:
代碼:
# rmmod vfat 注:移除已掛載的模塊vfat
5、depmod 創(chuàng)建模塊依賴關(guān)系的列表
這 個(gè)模塊管理工具是創(chuàng)建模塊依賴關(guān)系的列表,有幾個(gè)參數(shù)我們注意一下就行了,目前的的Linux 發(fā)行版所用的內(nèi)核是2.6x版本,是自動(dòng)解決依賴關(guān)系,所以這個(gè)命令知道就行了;模塊之前也有依賴關(guān)系,比如我們想驅(qū)動(dòng)USB 移動(dòng)硬盤,目前有兩種驅(qū)動(dòng),一種是udev ,在內(nèi)核中有,但目前不太穩(wěn)定;另一種辦法是用u-storage驅(qū)動(dòng),而u-storage 依賴的模塊是scsi 模塊,所以我們要用u-storage 的模塊,也得把scsi 編譯安裝;
再 舉個(gè)例子:sata的硬盤,在Linux中的設(shè)備表示的是/dev/sd* ,比如 /dev/sda,/dev/sdb 等… 系統(tǒng)要驅(qū)動(dòng) sata硬盤,則需要把sata在內(nèi)核中選中,或編譯成模塊,或內(nèi)置于內(nèi)核之中,在此同時(shí),還需要在內(nèi)核中選中ide ,scsi 的支持等;
depmod 工具的洋文原意:depmod — program to generate modules.dep and map files.(我譯的:為modules.dep 文件或映射文件創(chuàng)建依賴關(guān)系)
代碼:
# depmod -a 注:為所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有模塊創(chuàng)建依賴關(guān)系,并且寫(xiě)入到modules.dep文件;# depmod -e 注:列出已掛載但不可用的模塊;# depmod -n 注:列出所有模塊的依賴關(guān)系,但僅僅是輸出出來(lái) (Write the dependency file on stdout only)
注:modules.dep 位于 /lib/modules/內(nèi)核版本 目錄
比如 Fedora Core 4.0 中,系統(tǒng)默認(rèn)的內(nèi)核:
代碼:
# ls /lib/modules/2.6.11-1.1369_FC4/modules.dep/lib/modules/2.6.11-1.1369_FC4/modules.dep
6、inod 掛載模塊;
inod 這個(gè)工具,和modprobe 有點(diǎn)類似,但功能上沒(méi)有modprobe 強(qiáng),modprobe 在掛載模塊是不用指定模塊文件的路徑,也不用帶文件的后綴.o 或.ko ;而inod 需要的是模塊的所在目錄的絕對(duì)路徑,并且一定要帶有模塊文件名后綴的(modulefile.o 或modulesfile.ko );
對(duì)于這個(gè)工具,我們只是介紹一下, 并不推薦使用。因?yàn)槟K有依賴關(guān)系,對(duì)于新手來(lái)說(shuō),可能不知道這個(gè)模塊依賴和哪個(gè)模塊依賴;
舉例:
代碼:
# inod /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko
我們要到 /lib/modules/內(nèi)核版本 uname -r 的命令輸出/kernel/drivers 中找相對(duì)應(yīng)的模塊才行,要有絕對(duì)路徑,而且必須要用到文件名的全稱,不能把文件名的后綴省略;
四、與內(nèi)核模塊加載相關(guān)的配置文件;
1、模塊的配置文件 modules.conf 或 modprobe.conf
內(nèi) 核模塊的開(kāi)機(jī)自動(dòng)掛載模塊一般是位于一個(gè)配置文件,一般的Linux發(fā)行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如Fedora Core 4.0 內(nèi)核模塊開(kāi)機(jī)自動(dòng)加載文件是 /etc/modprobe.conf ;在這個(gè)文件中,一般是寫(xiě)入模塊的加載命令或模塊的別名的定義等;比如我們?cè)趍odules.conf 中可能會(huì)發(fā)行類似的一行 ;
代碼:
alias eth0 8139too
而8029的網(wǎng)卡應(yīng)該是
代碼:
alias eth0 ne2k-pci
這樣系統(tǒng)啟動(dòng)的時(shí)候,首先會(huì)modprobe 8139too ,然后再為8139too 指定別名為 eth0,然后我們?cè)诘卿浀臅r(shí)候,用 ifconfig 就會(huì)查看到網(wǎng)卡的IP 等情況,當(dāng)然您得為網(wǎng)卡設(shè)置IP 才行;
一 般的情況下,modproe.conf 或modules.conf的內(nèi)容 是我們用相應(yīng)的硬件配置工具而生成的;如果您的硬件驅(qū)動(dòng)是沒(méi)有被內(nèi)核支持,您自己到硬件的廠商下載而來(lái)的驅(qū)動(dòng)。一般的情況下都有安裝和幫助文件。他們的驅(qū) 動(dòng)在配置時(shí),他會(huì)寫(xiě)入硬件的支持到modules.conf 或modprobe.conf 文件中。
再比如我們的聲卡在modules.conf 或modprobe.conf 中也有相應(yīng)的內(nèi)容,這是由alsaconf 配置工具生成的,明白了吧;同理網(wǎng)卡在modprobe.conf 或modules.conf中的內(nèi)容也是由網(wǎng)卡的配置工具而來(lái)的。
有些硬件是以內(nèi)核模塊的方式驅(qū)動(dòng)的,模塊一旦加載上就能用,也沒(méi)有什么配置工具,比如vfat 和ntfs 的支持;如果是硬件驅(qū)動(dòng)不以模塊的方式支持,而是直接編入內(nèi)核,也不會(huì)用在modprobe.conf 或 modules.conf 中加入什么內(nèi)容;
如果您有些模塊不能開(kāi)機(jī)加載,您想讓一些模塊加機(jī)自動(dòng)加載,就可以把modprobe 模塊 直接寫(xiě)入配置文件;
2、內(nèi)核模塊其它配置文件
內(nèi)核模塊的其它配置文件還是需要了解的,比如 /lib/modules/內(nèi)核版本目錄下的幾個(gè)文件;了解一下就行;比如:
代碼:
# uname -r2.6.11-1.1369_FC4# ls /lib/modules/2.6.11-1.1369_FC4/build misc modules.ccwmap modules.ieee1394map modules.isapnpmap modules.symbols sourcekernel modules.alias modules.dep modules.inputmap modules.pcimap modules.umap
五、硬件驅(qū)動(dòng)在系統(tǒng)中的目錄;
硬件驅(qū)動(dòng)在內(nèi)核中以模塊支持的目錄;
硬 件驅(qū)動(dòng)是必須由內(nèi)核支持的,無(wú)論是我們自己安裝驅(qū)動(dòng),還是內(nèi)核自帶的驅(qū)動(dòng)都是如此。硬件驅(qū)動(dòng)如果是以內(nèi)核模塊支持的,驅(qū)動(dòng)目錄位于: /lib/modules/內(nèi)核版本/kernel/目錄 或 /lib/modules/內(nèi)核版本/kernel/drivers 目錄中;
代碼:
# uname -r2.6.11-1.1369_FC4# ls /lib/modules/2.6.11-1.1369_FC4/kernelarch crypto drivers fs lib net sound
注:只有驅(qū)動(dòng)在內(nèi)核中以模塊的方法支持,驅(qū)動(dòng)才位于 /lib/modules/相應(yīng)的目錄;如果是直接置入內(nèi)核的,不會(huì)出現(xiàn)在/lib/modules驅(qū)動(dòng)相關(guān)的目錄;
六、自己編譯驅(qū)動(dòng)的辦法;
通 過(guò)源碼編譯驅(qū)動(dòng)一般是./configure ;make;make install ,有時(shí)程序不提供./configure ,我們可以make或make install ,或者執(zhí)行make;make install ;如果不能make install ,則需要我們自己復(fù)制.o或者.ko文件到 /lib/modules/內(nèi)核版本/kernel/目錄 或 /lib/modules/內(nèi)核版本/kernel/drivers 目錄中相應(yīng)的驅(qū)動(dòng)目錄;
這個(gè)還是自己嘗試吧,說(shuō)也說(shuō)不清楚,遇到問(wèn)題后就知道怎么弄了;具體的還是驅(qū)動(dòng)的REAME和INSTALL為準(zhǔn);
linux內(nèi)核模塊卸載時(shí)會(huì)不會(huì)主動(dòng)釋放內(nèi)存
會(huì)不會(huì)釋放取決于你這個(gè)驅(qū)動(dòng)模塊remove函數(shù)歲裂森里有乎畝沒(méi)有free一源銷些你占用的內(nèi)存,如果沒(méi)實(shí)現(xiàn),則不會(huì)釋放。
關(guān)于刪除模塊linux的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌建站設(shè)計(jì),成都高端網(wǎng)站制作開(kāi)發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營(yíng)銷讓企業(yè)網(wǎng)站產(chǎn)生價(jià)值。
網(wǎng)站名稱:如何在Linux中刪除模塊(刪除模塊linux)
URL鏈接:http://www.dlmjj.cn/article/djogsch.html


咨詢
建站咨詢
