帶有有用示例的 Linux modprobe 命令

Linux 內核是 Linux 操作系統的核心組件。 Linux 內核採用模塊化設計,允許在功能方面進行擴展。 模塊是可以由內核加載和卸載而無需重新啟動計算機的小段代碼。 內核模塊可以手動或自動加載/刪除。

當連接/移除新設備(例如 USB 或 PCI)時,內核會發送 uevents。 uevents 包含有關設備的信息,例如供應商和型號詳細信息。 Udev(設備管理器)正在監聽這個 uevents 並將它們傳遞給 modprobe。 探頭 通過在模塊目錄/lib/modules/下搜索智能識別請求的驅動程序uname -r 並將模塊文件加載到內核中。 成功加載模塊後,它會出現在 lsmod 命令的列表中。 此外,modprobe 用於從內核手動添加或刪除可加載模塊。

Modprobe 作為 kmod 包的一部分分發。 在本教程中,我們將學習如何使用 modprobe 命令 在 Linux 內核中添加和刪除模塊。

modprobe 命令語法

讓我們檢查 modprobe 命令的語法:

$ sudo modprobe [options] [Module Name]

modprobe 命令添加內核模塊

內核模塊位於以下子目錄中 /lib/modules/$(uname -r). 命令 uname -r 可用於確定當前內核版本。

添加模塊時 modprobe 智能地檢查模塊依賴項,而 insmod 不這樣做。 文件 /lib/modules/$(uname -r)/modules.dep 中列出的依賴項和模塊名稱的引用在 /etc/modules 文件。

要列出內核模塊所在的目錄,請鍵入:

$ ls /lib/modules/$(uname -r)

您可以在目錄中找到所有設備驅動程序 /lib/modules/$(uname -r)/kernel/drivers/.

通常,內核模塊文件有 .ko 擴展名。 你可以列出所有 .ko 文件由:

$ find /lib/modules/$(uname -r) -type f -name *.ko*

您可以使用 modprobe 命令以及模塊名稱將模塊添加到 Linux 內核。

$ sudo modprobe img_i2s_in

添加後,您可以通過列出當前加載的內核模塊的 lsmod 命令進行確認。

$ sudo lsmod | grep img_i2s_in

輸出:

img_i2s_in 16384 0

modprobe 命令刪除內核模塊

要刪除模塊,請使用帶有 -r 選項和模塊名稱的 modprobe 命令。

為了 example, 刪除名為的模塊 img_i2s_in, 類型:

$ sudo modprobe -r img_i2s_in

modprobe 選項

modprobe 命令有幾個選項,根據它們的用例分為三類。

管理選項

使用 modprobe 命令添加或刪除模塊時,管理參數啟用多個模塊處理方案。

選項描述
-一個
-全部
一次刪除或添加多個模塊
– 消除
-r
移除模塊,同樣適用於–remove-dependencies
–刪除依賴項移除依賴模塊
–解析別名
-R
識別並打印與別名匹配的名稱
– 第一次添加或刪除模塊的打印錯誤
–忽略安裝
–忽略-刪除
-一世
插入或移除模塊時忽略模塊中寫入的安裝或移除命令
–使用黑名單
-b
黑名單解析別名
– 力量
-F
當顯示版本錯誤時,強制添加或移除模塊。 這適用於 –force-modversion 和 –force-vermagic。
–force-modversion添加或刪除模塊時忽略模塊版本。
–force-vermagic在添加或刪除模塊時忽略模塊版本魔法。

modprobe 命令的管理選項

查詢選項

modprobe 命令的查詢選項提供有關配置和依賴項的信息。

選項描述
–show-depends
-D
如果有任何具有依賴文件的模塊,它會顯示該模塊
–showconfig
–show-config
-C
顯示當前配置並退出
–show-modversions
–dump-modversions
顯示模塊版本依賴

modprobe 命令的查詢選項

常規選項

modprobe 命令中的常規選項配置輸出選項、模塊位置和版本。

選項描述
–試運行
– 展示
-n
打印輸出但不要添加或刪除任何內容。
–配置=[Filename]
-C
使用以下內容覆蓋默認配置依賴項,即 /etc/modprobe.d [Filename]
–目錄名=[Directory]
-d
對於 /lib/modules 使用 [Directory] 作為文件系統根
–set-version=[version]
-S
而不是指定的內核 uname, 使用 [version] 核心
–系統日誌
-s
通過 Syslog 顯示錯誤消息
– 安靜的
-q
不顯示錯誤信息
–詳細
-v
允許顯示更多消息
– 版本
-V
顯示版本 modprobe
– 幫助
-H
顯示幫助消息和命令

modprobe 命令的一般選項

結論

在本教程中,我們學習了 modprobe 命令來在 Linux 內核中添加或刪除模塊。

感謝您的閱讀,請提供您的反饋和建議。