insmod modprobe區別

來源:互聯網
上載者:User

在Linux中,modprobe和insmod都可以用來載入module,不過現在一般都推薦使用modprobe而不是insmod了。
modprobe和insmod的區別是什麼呢?
1.modprobe可以解決load module時的依賴關係,比如load moudleA就必須先load mouduleB之類的,它是通過/lib/modules/<kernel-version>/modules.dep檔案來尋找依賴關係的。而insmod不能解決依賴問題。
2.modprobe預設會去/lib/modules/<kernel-version>/下面尋找module,而insmod只在給它的參數中去找module(預設在目前的目錄找)。這樣,有時insmod也有它的有用之處,舉個例子吧。
有/root/my-mod.ko這個module,cd /root/,然後用insmod my-mod.ko(insmod /root/my-mod.ko)就可以insert這個module了,但是用modprobe
my-mod.ko(modprobe /root/my-mod.ko)卻提示"FATAL: Module my-mod.ko not found",這就是因為modprobe是到/lib/modules/`uname -r`/下去找module的,如果沒找到就是這樣了。

linux裝置驅動有兩種載入方式insmod和modprobe,下面談談它們用法上的區別
1、insmod一次只能載入特定的一個裝置驅動,且需要驅動的具體地址。寫法為:
insmod drv.ko
2. modprobe則可以一次將有依賴關係的驅動全部載入到核心。不加驅動的具體地址,但需要在安裝檔案系統時是按照make modues_install的方式安裝驅動模組的。驅動被安裝在/lib/modules/$(uname -r)/...下。寫法為:
modprob drv 
------
modprobe 和insmod一樣都是用來載入核心module的
不過modprobe比較智能,它可以根據module的依賴性來自動為你載入;
而insmod就做不到這點。

-------------分隔線------------------
比如說使用ipmitool這個工具需要在dev/中存在ipmi0的裝置,如果沒有的話就需要載入
modprobe ipmi_si
modprobe ipmi_devintf

讀取本地KCS介面的資料使用 -I open 例如
ipmitool -I open sensor

想要卸載module。使用rmmod

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.