Linuxコマンド辞典 modprobeコマンド(カーネル)

modules.depを利用してカーネルモジュールを読み込む/取り外す「modprobe」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

書式

$ modprobe [オプション] [モジュール名・・・] [モジュールオプション]

カーネルモジュールをロードしてカーネルに組み込んだり、取り外したり(アンロード)します。insmodコマンドやrmmodコマンドとは異なり、モジュールの依存関係を解決して、必要なモジュールも自動的にロードもしくはアンロードします。

modprobeは、depmodにより作成されたカーネルモジュールの依存関係ファイル(modules.dep)を利用し、カーネルモジュールを読み込みます。modules.depを利用するので依存関係を含めてカーネルモジュールを扱えます。利用するとカーネルモジュールは/lib/modules/’uname -r’/を参照します。モジュール名の「-」と「_」の違いは無視されます。modprobeは設定ファイルとして/etc/modules.confを読み込みます。モジュール読み込み/取り外しのエラーはログに記録されます。

オプション

-c
–showconfig
現在利用している設定を表示する
-d
–dirname
ルートディレクトリを指定する(デフォルトは「/」)
-n
–show,–dry-run
他のオプションの動作を実際に行わずに表示のみ行う
-r
–remove
モジュールを指定した場合はそれを取り外す
-s
–syslog
出力されるメッセージをsyslogに出力する(デフォルトは標準エラーに出力する)
-C 設定ファイル
–config
設定ファイルを指定する(デフォルトは/etc/modules.conf)
-D,
–show-depends
モジュールの依存関係のみ表示する

カーネルモジュールを指定して組み込む

-vオプションで組み込んだモジュールを表示する

$ modprobe -v モジュール名

実行結果

[root@centos ~]# modprobe -v 8139too
insmod /lib/modules/4.18.0-372.32.1.el8_6.x86_64/kernel/drivers/net/mii.ko.xz 
insmod /lib/modules/4.18.0-372.32.1.el8_6.x86_64/kernel/drivers/net/ethernet/realtek/8139too.ko.xz 
[root@centos ~]# 

カーネルモジュールを指定して取り除く

-vオプションで取り除いたモジュールを表示する

$ modprobe -v -r モジュール名

実行結果

[root@centos ~]# modprobe -v -r 8139too
rmmod 8139too
rmmod mii
[root@centos ~]# 

モジュールと依存関係にあるモジュールを表示する

$ modprobe -D モジュール名

実行結果

[root@centos ~]# modprobe -D xfs
insmod /lib/modules/4.18.0-372.32.1.el8_6.x86_64/kernel/arch/x86/crypto/crc32c-intel.ko.xz 
insmod /lib/modules/4.18.0-372.32.1.el8_6.x86_64/kernel/lib/libcrc32c.ko.xz 
insmod /lib/modules/4.18.0-372.32.1.el8_6.x86_64/kernel/fs/xfs/xfs.ko.xz 
[root@centos ~]#