Linux作業系統的核心具有子產品化的特性,在編譯核心時,我們可以将系統功能編譯成一個個單獨的子產品,待需要時再分别載入。
lsmod
lsmod指令用于顯示已經加載到核心中的子產品的狀态資訊。執行lsmod指令後會列出所有已載入系統的子產品。
insmod
insmod指令用于将給定的子產品加載到核心中。
文法:insmod
可選參數:-f:不檢查目前kernel版本與子產品編譯時的kernel版本是否一緻,強制将子產品載入;
-k:将子產品設定為自動卸除;
-m:輸出子產品的載入資訊;
-o:指定子產品的名稱,可使用子產品檔案的檔案名;
-p:測試子產品是否能正确地載入kernel;
-s:将所有資訊記錄在系統記錄檔案中;
-v:執行時顯示詳細的資訊;
-x:不要彙出子產品的外部符号;
-X:彙出子產品所有的外部符号,此為預設定。
rmmod
rmmod指令用于從目前運作的核心中移除指定的核心子產品。執行rmmod指令,可删除不需要的子產品。
文法:rmmod
可選參數:-v:顯示指令執行的詳細資訊;
-f:強制移除子產品,使用此選項比較危險;
-w:等待着,直到子產品能夠被除時在移除子產品;
-s:向系統日志(syslog)發送錯誤資訊。
modprobe
modprobe指令用于智能地向核心中加載子產品或者從核心中移除子產品。
modprobe可載入指定的個别子產品,或是載入一組相依的子產品。modprobe會根據depmod所産生的相依關系,決定要載入哪些子產品。若在載入過程中發生錯誤,在modprobe會解除安裝整組的子產品。
文法:modprobe
可選參數:-a或--all:載入全部的子產品;
-c或--show-conf:顯示所有子產品的設定資訊;
-d或--debug:使用排錯模式;
-l或--list:顯示可用的子產品;
-r或--remove:子產品閑置不用時,即自動解除安裝子產品;
-t或--type:指定子產品類型;
-v或--verbose:執行時顯示詳細的資訊;
-V或--version:顯示版本資訊;
-help:顯示幫助。
子產品黑名單
有些子產品會随系統啟動自動加載,這個時候我們需要将子產品加入黑名單中,禁止子產品自啟動。
通過文法 blacklist 加入到 /etc/modprobe.d/blacklist.conf 檔案中即可。echo 'blacklist ' >> /etc/modprobe.d/blacklist.conf