Linuxコマンド:#269 modprobe


modprobe コマンド

・ カーネルモジュールの組み込み(ロード)と取り外し(アンロード)を行う

・ モジュールの依存関係を確認し、必要なモジュールがあれば同時に組み込みを行う

・ root権限が必要

・ カーネルモジュール = Linuxカーネルの一部を、カーネル本体とは別にロード、アンロードできるように分離したサイズの小さいバイナリファイル

・ 多くの場合はドライバ部分がカーネルモジュール

・ 古い方式(ドライバ自体をカーネルに組み込む方式) = ハードウェア構成変更時にカーネルの再構築が必要
・ 新しい方式 = ハードウェア変更時に必要なカーネルモジュールをロード

書式

modprobe [オプション] [カーネルモジュール名...]

主なオプション:
オプション 説明
--remove (-r) モジュールを取り外す
--first-time 既に組み込まれているモジュールを組み込もうとしたり、組み込まれていないモジュールを取り外そうとしたりした場合、エラーで終了
--force (-f) モジュールのバージョンやマジック番号を無視
※ マジック番号 = バージョンを厳密にチェックするための文字列
--force-modversion モジュールのバージョンを無視
--force-vermagic モジュールのマジック番号を無視
表示関係
--show-depends (-D) モジュールの依存関係を表示
--show-config
--showconfig
(-c)
設定ファイルの内容を表示
--resolve-alias (-R) モジュールのエイリアスを探して表示
その他
--dry-run
--show
(-n)
モジュールの組み込みや取り外しを実際には実行せず実行内容の表示だけを行う
-v と組み合わせて使用
--config=ファイル (-C) 設定ファイルを指定
デフォルトは /etc/modprobe.conf または etc/modprobe.d/
--dirname=ディレクトリ (-d) モジュールのディレクトリを指定
デフォルトは /lib/modules
--set-version=バージョン (-S) カーネルのバージョンを指定
デフォルトは uname -r の実行結果
--syslog (-s) エラーを標準エラーstderrではなくsyslogに出力
--quiet (-q) メッセージを表示しない
--verbose (-v) 詳しいメッセージを表示
※ 不用意に--force系のオプションを付けるとシステムの停止やデータ損失の可能性あり

実行例

isofs(ISOイメージファイルのマウントに使用?) をロード (-n=表示のみ -v=詳細表示)
    [user@minipc ~]$ modprobe -n -v isofs
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/fs/isofs/isofs.ko.xz 
実際にロード
ロードには管理者権限が必要のためエラーとなった
    [user@minipc ~]$ modprobe isofs
    modprobe: ERROR: could not insert 'isofs': Operation not permitted  
→ sudoが使えるようにするには? 過去記事:CentOS 7:sudoが使えるようにする

既にロード済みであってもエラーにならない。
    [user@minipc ~]$ sudo modprobe isofs
    [user@minipc ~]$ sudo modprobe isofs    
  
ロード済みでエラーとするには --first-time オプションを付ける
    [user@minipc ~]$ modprobe --first-time isofs
    modprobe: ERROR: could not insert 'isofs': Module already in kernel    
  
アンロードは -r オプション
    [user@minipc ~]$ sudo modprobe -r isofs
    [user@minipc ~]$ sudo modprobe -r --first-time isofs
    modprobe: FATAL: Module isofs is not in kernel.  
依存関係を確認するには -D オプション
    [user@minipc ~]$ modprobe -D isofs
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/fs/isofs/isofs.ko.xz
    [user@minipc ~]$ modprobe -D xfs
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/lib/libcrc32c.ko.xz
    insmod /lib/modules/3.10.0-1160.el7.x86_64/kernel/fs/xfs/xfs.ko.xz      
  

関連

insmod:カーネルモジュールのロード (#271)
・ rmmod:カーネルモジュールのアンロード
・ lsmod:ロードされているモジュールの確認


Linux

0 件のコメント:

その他の記事