導航:首頁 > 編程系統 > linuxmodprobe

linuxmodprobe

發布時間:2023-08-20 20:36:49

『壹』 linux:命令modprobe主要的作用是什麼能不能說的通俗一點謝謝

這個要聊聊模塊了

初期linux的驅動程序是必須編譯在內核之中的(相應地驅動程序提供的是源程序以符合GNU規則,例如DFE530TX網卡的驅動就是ftp://www.scyld.com/pub/network/via-rhine.c),後來推廣使用以後一則感覺不方便、二則普通用戶也沒有能力自己編譯內核、三則當時內核不能太大,裡面驅動程序太多超過1M的話會癱掉,於是發明了模塊(moles),就是事先將驅動程序編譯成mole,使用時再將他們裝載到系統里以避免重新編譯內核。再經過發展以後,幾乎內核里的大多數功能都能以模塊形式存在,例如讀寫NTFS、支持PPP協議等等,所以模塊功能已經不局限於驅動程序了。

modprobe功能就是,對系統里的模塊進行增、減、安裝、刪除等等操作。

『貳』 如何使用modprobe命令來載入,卸載和查看模塊

1. 列出可用的內核模塊
使用 modprobe -l 命令可以列出所有可用的內核模塊

$ modprobe -l | less
kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko
kernel/arch/x86/kernel/cpu/cpufreq/e_powersaver.ko
kernel/arch/x86/kernel/cpu/cpufreq/p4-clockmod.ko
kernel/arch/x86/kernel/msr.ko
kernel/arch/x86/kernel/cpuid.ko
kernel/arch/x86/kernel/apm.ko
kernel/arch/x86/kernel/scx200.ko
kernel/arch/x86/kernel/microcode.ko
kernel/arch/x86/crypto/aes-i586.ko
kernel/arch/x86/crypto/twofish-i586.ko
2. 列出當前已載入的內核模塊
上面的modprobe命令列出了所有可用的內核模塊,我們可以使用lsmod命令列出當前Linux內核已載入的模塊。

$ lsmod | less
soundcore 7264 1 snd
ppdev 6688 0
snd_page_alloc 9156 1 snd_pcm
psmouse 56180 0
lp 8964 0
3. 安裝新模塊到內核
要向內核插入一個新模塊,使用modprobe加模塊名就行了:

$ sudo modprobe vmhgfs
當模塊被載入後,最好使用lsmod來驗證一下

$ lsmod | grep vmhgfs
vmhgfs 50772 0
模塊的名稱使用.ko後綴,如果你想知道特定的模塊文件到底存放在哪裡,可以使用modprobe命令並將輸出定向到grep命令即可:

$ modprobe | grep vmhgfs
misc/vmhgfs.ko

$ cd /lib/moles/2.6.31-14-generic/misc

$ ls vmhgfs*
vmhgfs.ko
註:也可以使用 insmod 命令安裝新模塊到內核。
. 使用另一個名字載入模塊來防止沖突
考慮下這個問題,有些情況下我們想要向內核載入一個新模塊,但是新模塊的名稱與一個已載入模塊相同,但是這兩個模塊的功能和作用並不相同。

由於一些很奇怪的原因,你想要載入到內核的模塊和別的已載入模塊重名,那麼這時候你需要使用另一個名字來載入你的模塊,可以使用 modprobe 命令的 -o 選項來達到這個目的:

$ sudo modprobe vmhgfs -o vm_hgfs

$ lsmod | grep vm_hgfs
vm_hgfs 50772 0
5. 卸載模塊
如果你已經載入一些模塊到內核中(比如測試用),你或許想要把它們從內核卸載(或刪除)。使用 modprobe 的 -r 選項可以達到這個目的:

modprobe -r vmhgfs

『叄』 linux操作系統中,載入和刪除內核模塊的命令是什麼

modprobe命令x0dx0aLinux命令:modprobe 。x0dx0a功能說明:自動處理可載入模塊。x0dx0a語法:modprobe [-acdlrtvV][--help][模塊文件][符號名稱 = 符號值]。x0dx0a補充說明:modprobe可載入指定的個別模塊,或是載入一組相依的模塊。modprobe會根據depmod所產生的相依關系,決定要載入哪些模塊。若在載入過程中發生錯誤,在modprobe會卸載整組的模塊。x0dx0ax0dx0a內容x0dx0a1、modprobe 命令是根據depmod -a的輸出/lib/moles/version/moles.dep來載入全部的所需要模塊。x0dx0a2、刪除模塊的命令是:modprobe -r filename。x0dx0a3、系統啟動後,正常工作的模塊都在/proc/moles文件中列出。使用lsmod命令也可顯示相同內容。x0dx0a4、在內核中有一個「Automatic kernel mole loading"功能被編譯到了內核中。當用戶嘗試打開某類型的文件時,內核會根據需要嘗試載入相應的模塊。/etc/moles.conf或 /etc/modprobe.conf文件是一個自動處理內核模塊的控制文件。x0dx0amodprobe命令主要用於在Linux 2.6內核中載入和刪除Linux內核模塊。通過此命令用戶可以輕松地載入和刪除Linux內核模塊,同時使用此命令載入Linux內核模塊時,Linux內核會自動解決內核模塊之間的依賴關系,將相互依賴的模塊自動載入,如下所示:x0dx0a1) 載入RAID1陣列級別模塊:x0dx0a[root@rhel5 boot]# modprobe raid1 x0dx0ax0dx0a2) 顯示已載入的RAID1陣列級別模塊:x0dx0a[root@rhel5 boot]# lsmod |grep raid1 raid1 25153 0 x0dx0ax0dx0a3) 刪除RAID1陣列級別模塊:x0dx0a[root@rhel5 boot]# modprobe -r raid1 x0dx0ax0dx0a4) 顯示RAID1陣列級別模塊:x0dx0a[root@rhel5 boot]# lsmod |grep raid1 x0dx0ax0dx0amodprobe命令在載入模塊時會自動解決依賴的模塊。當載入的模塊需依賴另一個模塊時,系統會自動將此模塊載入。而當用戶使用insmod命令載入模塊時,則不會自動解決相對應的依賴模塊。x0dx0amodprobe命令中的"-r"參數表示刪除指定模塊,"-c"參數表示顯示/etc/modprobe.conf配置文件的參數,"-C"參數表示指定內核配置文件,"-f"表示覆蓋,"-l"表示顯示模塊的絕對路徑。x0dx0a[root@rhel5 boot]# modprobe -l|grep raid /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid0.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid456.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid1.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid10.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_sas.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko x0dx0ax0dx0a以上命令表示顯示系統中所有的編譯模塊,並過濾包含有raid字元串的模塊。

『肆』 Linux 里的 modprobe 到底是幹嘛的說載入模塊,不懂這模塊指的都是什麼

為保持
linux
內核的穩定與可持續發展,內核在發展過程中引進了可裝載模塊這一特性。內核可裝載模塊就是可在內核運行時載入到內核的一組代碼。通常
,
我們會在兩個版本不同的內核上裝載同一模塊失敗,即使是在兩個相鄰的補丁級(patch
level)版本上。這是因為內核在引入可裝載模塊的同時,對模塊採取了版本信息校驗。這是一個與模塊代碼無關,卻與內核相連的機制。該校驗機制保證了內核裝載的模塊是用戶認可的,且安全的。

『伍』 linux綁定bond的七種模式

目前網卡綁定mode共有七種(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6

常用的有三種:

mode=0:平衡負載模式,有自動備援,但需要」Switch」支援及設定。

mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。

mode=6:平衡負載模式,有自動備援,不必」Switch」支援及設定。

Linux網口綁定:

通過網口綁定(bond)技術,可以很容易實現網口冗餘,負載均衡,從而達到高可用高可靠的目的。前提約定:

2個物理網口分別是:eth0,eth1

綁定後的虛擬口是:bond0

伺服器IP是:10.10.10.1

第一步,配置設定文件:

[root@woo ~]# vi  /etc/sysconfig/network-scripts/ifcfg-bond0  

DEVICE=bond0  

BOOTPROTO=none  

ONBOOT=yes  

IPADDR=10.10.10.1  

NETMASK=255.255.255.0  

NETWORK=192.168.0.0 

[root@woo ~]# vi  /etc/sysconfig/network-scripts/ifcfg-eth0  

DEVICE=eth0  

BOOTPROTO=none  

MASTER=bond0  

SLAVE=yes 

[root@woo ~]# vi  /etc/sysconfig/network-scripts/ifcfg-eth1  飢行

DEVICE=eth1  

BOOTPROTO=none  

MASTER=bond0  

SLAVE=yes  

第二步,修改modprobe相關設定文件,並載入bonding模塊:

1.在這里,我們直接創建一個載入bonding的襲肢毀專屬設定文件/etc/modprobe.d/bonding.conf  

[root@woo ~]# vi /etc/modprobe.d/bonding.conf  

alias bond0 bonding  

options bonding mode=0 miimon=200 

2.載入模塊(重啟系統後就不用手動再載入了)  

[root@woo ~]# modprobe bonding 

3.確認模塊是否載入成功:  

[root@woo ~]# lsmod | grep bonding  

bonding 100065 0  

第三步,重啟一下網路,然後確認一下狀拍備況:

[root@db01 ~]# service network restart  

Shutting down interface bond0:  [  OK  ]  

Shutting down loopback interface:  [  OK  ]  

Bringing up loopback interface:  [  OK  ]  

Bringing up interface bond0:  [  OK  ] 

[root@db01 ~]#  cat /proc/net/bonding/bond0  

Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008) 

Bonding Mode: fault-tolerance (active-backup)  

Primary Slave: None  

Currently Active Slave: eth0  

MII Status: up  

MII Polling Interval (ms): 100  

Up Delay (ms): 0  

Down Delay (ms): 0 

Slave Interface: eth0  

MII Status: up  

Speed: 1000 Mbps  

Duplex: full  

Link Failure Count: 0  

Permanent HW addr: 40:f2:e9:db:c9:c2 

Slave Interface: eth1  

MII Status: up  

Speed: 1000 Mbps  

Duplex: full  

Link Failure Count: 0  

Permanent HW addr: 40:f2:e9:db:c9:c3  

[root@db01 ~]#  ifconfig | grep HWaddr  

bond0     Link encap:Ethernet  HWaddr 40:F2:E9:DB:C9:C2    

eth0      Link encap:Ethernet  HWaddr 40:F2:E9:DB:C9:C2    

eth1      Link encap:Ethernet  HWaddr 40:F2:E9:DB:C9:C2    

從上面的確認信息中,我們可以看到3個重要信息:

1.現在的bonding模式是active-backup

2.現在Active狀態的網口是eth0

3.bond0,eth1的物理地址和處於active狀態下的eth0的物理地址相同,這樣是為了避免上位交換機發生混亂。

任意拔掉一根網線,然後再訪問你的伺服器,看網路是否還是通的。

第四步,系統啟動自動綁定、增加默認網關:

[root@woo ~]# vi /etc/rc.d/rc.local  

#追加  

ifenslave bond0 eth0 eth1  

route add default gw 10.10.10.1 

閱讀全文

與linuxmodprobe相關的資料

熱點內容
找同行工作在哪個網站 瀏覽:254
linuxdirfd 瀏覽:290
電腦列印一張文件多少錢 瀏覽:212
斗戰神遊戲修復工具 瀏覽:736
系統更新網路無法鏈接不上電腦沒反應 瀏覽:851
什麼是二層網路架構 瀏覽:402
中醫看書好的app 瀏覽:516
win10紙牌變成英文 瀏覽:135
源碼文件圖片路徑怎麼形成的 瀏覽:432
ai變數寬度配置文件點不了 瀏覽:460
強制安裝app去哪裡舉報 瀏覽:719
微信登錄數據保存在哪裡 瀏覽:321
pic編程哪裡下載 瀏覽:549
蘋果ipad官方壁紙 瀏覽:154
華創網路信號怎麼樣 瀏覽:495
共享單車網站源碼 瀏覽:281
a班練琴app下載不了怎麼回事 瀏覽:349
數控中怎麼編程 瀏覽:409
vm如何安裝linux系統 瀏覽:423
歌手實績數據在哪裡看 瀏覽:691

友情鏈接