Linux中的Modprobe命令

Linux內核是Linux操作系統的核心組件。 它管理系統的資源,並且是計算機硬件和軟件之間的橋樑。

Linux內核具有模塊化設計。 內核模塊(通常稱為驅動程序)是一段擴展內核功能的代碼。 模塊要麼編譯為可加載模塊,要麼內置在內核中。 可加載模塊可以根據需要在正在運行的內核中進行加載和卸載,而無需重啟系統。

通常,模塊是按需加載的 udev (裝置經理)。 但是,有時您可能需要微調模塊的加載方式。 例如,您可能需要使用其他參數加載模塊或防止自動加載模塊。

您可以使用手動將模塊加載到內核中 modprobe 命令,或在啟動時使用 /etc/modules 要麼 /etc/modules-load.d/*.conf 文件。

在本文中,我們將說明如何使用 modprobe 在Linux內核中添加和刪除模塊。 modprobe 是其一部分 kmod,該二進制文件實現了用於管理Linux內核模塊的多個程序。

添加內核模塊

內核模塊存儲在 /lib/modules/<kernel_version> 目錄。 您可以找到正在運行的內核的版本,使用 uname -r 命令。

只有具有管理特權的用戶才能管理內核模塊。

要加載模塊,請調用 modprobe 命令,後跟模塊名稱:

modprobe module_name

modprobe 命令將加載給定的模塊和任何其他模塊依賴項。 在命令行中只能指定一個模塊。

使用 lsmod 確認模塊已加載的命令:

lsmod | grep module_name

要使用其他參數加載模塊,請使用 parameter=value 句法:

modprobe module_name parameter=value

該命令接受多個 parameter=value 對用空格隔開。

通常,您需要在系統引導期間加載模塊。 您可以通過在模塊內的文件中指定模塊及其參數來實現 /etc/modules-load.d 目錄。 文件必須以結尾 .conf 並可以使用任何名稱:

/etc/modules-load.d/module_name.conf

option module_name parameter=value

這些文件中指定的設置由 udev,它會在系統啟動時使用加載模塊 modprobe

卸下內核模塊

要刪除模塊,請調用 modprobe 用命令 -r 選項,後跟模塊名稱:

modprobe -r module_name

modprobe 還將刪除未使用的模塊依賴項。

當與 -r,該命令接受多個模塊作為參數:

modprobe -r module_name1 module_name2

您也可以使用 rmmod 命令從Linux內核中卸載模塊。

如果要防止在啟動時加載內核模塊,請創建一個 .conf 文件中帶有任何名稱的文件 /etc/modprobe.d。 語法為:

/etc/modprobe.d/blacklist.conf

blacklist module_name

如果要將其他模塊列入黑名單,請在新行上指定模塊,或創建新模塊 .conf 文件。

結論#

modprobe 命令允許您添加和刪除Linux內核模塊。

如有任何疑問,請隨時發表評論。

modprobe內核終端

Sidebar