命令介紹
簡介
Linux命令:modprobe 。
功能說明:自動處理可載入模組。
語 法:modprobe [-acdlrtvV][--help][模組檔案][符號名稱 = 符號值]。
補充說明:modprobe可載入指定的個別模組,或是載入一組相依的模組。modprobe會根據depmod所產生的相依關係,決定要載入哪些模組。若在載入過程中發生錯誤,在modprobe會卸載整組的模組。
內容
1、modprobe 命令是根據depmod -a的輸出/lib/modules/version/modules.dep來載入全部的所需要模組。
2、刪除模組的命令是:modprobe -r filename。
3、系統啟動後,正常工作的模組都在/proc/modules檔案中列出。使用lsmod命令也可顯示相同內容。
4、在核心中有一個“Automatic kernel module loading"功能被編譯到了核心中。當用戶嘗試打開某類型的檔案時,核心會根據需要嘗試載入相應的模組。/etc/modules.conf或 /etc/modprobe.conf檔案是一個自動處理核心模組的控制檔案。
相關信息
參數
-a或--all 載入全部的模組。
-c或--show-conf 顯示所有模組的設定信息。
-d或--debug 使用排錯模式。
-l或--list 顯示可用的模組。
-r或--remove 模組閒置不用時,即自動卸載模組。
-t或--type 指定模組類型。
-v或--verbose 執行時顯示詳細的信息。
-V或--version 顯示版本信息。
-help 顯示幫助。
操作
insmod 與 modprobe 都是載入 kernel module,不過一般差別於 modprobe 能夠處理 module 載入的相依問題。
比方你要載入 a module,但是 a module 要求系統先載入 b module 時,直接用 insmod 掛入通常都會出現錯誤訊息,不過 modprobe 倒是能夠知道先載入 b module 後才載入 a module,如此相依性就會滿足。
不過 modprobe 並不是大神,不會厲害到知道 module 之間的相依性為何,該程式是讀取 /lib/modules/2.6.xx/modules.dep 檔案得知相依性的。而該檔案是透過 depmod 程式所建立。
The modprobe and depmod utilities are intended to make a Linux modular kernel more manageable for all users, administrators and distribution maintainers. Modprobe uses a "Makefile"-like dependency file, created by depmod, to automatically load the relevant module(s) from the set of modules available in predefined directory trees. Modprobe is used to load a single module, a stack of dependent modules, or all modules that are marked with a specified tag. Modprobewill automatically load all base modules needed in a module stack, as described by the dependency file modules.dep. If the loading of one of these modules fails, the whole current stack of modules loaded in the current session will be unloaded automatically. Modprobe has two ways of loading modules. One way (the probe mode) will try to load a module out of a list (defined by pattern). Modprobe stops loading as soon as one module loads successfully. This could be used to autoload one Ethernet driver out of a list. The other way modprobe can be used is to load all modules from a list. With the option -r, modprobe will automatically unload a stack of modules, similar to the way rmmod -r does. Note that using just modprobe -r will clean up unused autoloaded modules and also perform the pre-and post-remove commands in the configuration file /etc/modules, /etc/modprobe.d/*. Combining the options -l and -t lists all available modules of a certain type. Option -c will print the currently used configuration (default + configuration file). To do autoclean every 2 minutes:
'''/2 ''' * ''' ''' test -f /proc/modules && /sbin/modprobe -r