名前
modprobe - Linux
カーネルにモジュールを追加したり削除したりするプログラム
書式
modprobe [ -v ] [ -V ] [ -C
config-file ] [ -n ] [ -i ] [ -q ] [ -o
modulename ] [ modulename ] [ module
parameters ... ]
modprobe [ -r ] [ -v ] [ -n ] [
-i ] [ modulename ... ]
modprobe [ -l ] [ -t dirname ] [
wildcard ]
modprobe [ -c ]
説明
modprobe は Linux
カーネルに賢くモジュールを追加したり削除したりする。
利便性のため、モジュール名において
_ と -
の違いはないことに注意。
modprobe は、
全てのモジュールと他のファイルを
モジュールディレクトリ
/lib/modules/`uname -r`
から参照する。
このほかに、もしあれば
/etc/modprobe.conf
設定ファイルと
/etc/modprobe.d
ディレクトリを参照する
(modprobe.conf(5) を参照) 。
このバージョンの
modprobe は、
自身ではモジュールに対して何もしないことに注意。
シンボルの解決やパラメータの解釈といった処理はカーネルの中で行なわれる。
そのため、モジュールの不具合はカーネルのメッセージとして報告されることもある。
dmesg(8) を参照。
modprobe
を実行するときは、
depmod (depmod(8) を参照)
で生成された modules.dep
が最新の状態になっていなければならない。
このファイルには、
それぞれのモジュールが
(もしあれば)
他のどのモジュールを
必要としているかが列挙されていて、
modprobe
はこれを使って依存するモジュールを自動的に追加したり削除したりする。
(modules.dep(5) を参照) 。
modulename
の後ろに指定された引数は、
カーネルに渡される
(設定ファイルに列挙されたオプションに追加される)
。
オプション
- -v --verbose
- プログラムが何をしているかに関するメッセージを表示する。
通常、 modprobe
は何かまずいことが起こった場合に限って
メッセージを表示する。
このオプションは
install および remove
コマンドを通じて、
MODPROBE_OPTIONS
環境変数にある modprobe
の他のコマンドに渡される。
- -C --config
- このオプションはデフォルトの設定ファイル
(/etc/modprobe.conf や /etc/modprobe.d/)
を無視する。
このオプションは
install および remove
コマンドを通じて、
MODPROBE_OPTIONS
環境変数にある modprobe
の他のコマンドに渡される。
- -c --showconfig
- 設定ファイルの内容を表示し、終了する。
- -n --dry-run
- このオプションは実際にモジュールを登録したり削除したりする
(あるいは install や remove
コマンドを実行する)
以外の、
全ての処理を行なう。
-v
と組み合わせて使うと、不具合をデバッグするのに便利である。
- -i --ignore-install
--ignore-remove
- このオプションを使うと、
modprobe は
コマンドラインで指定されたモジュールに対する
設定ファイル中の
install および remove
コマンドを
(もしあれば)
無視する
(ただし、依存するモジュールは設定ファイル中のコマンドに従う)
。 modprobe.conf(5) を参照。
- -q --quiet
- 通常、 modprobe は
見つからない
(かつエイリアスでもないか
install/remove
コマンドでもない)
モジュールを
削除したり登録したりしようとすると、エラーを通知する。
このフラグを使うと、
modprobe は
でたらめな名前は単に無視する
(カーネルはこの名前を使って
存在するかもしれないモジュールを日和見的にプローブする)
。
- -r --remove
- このオプションで
modprobe は
モジュールを削除する。
このオプションがない場合は登録する。
依存するモジュールも使われていない場合、
modprobe
はそれらも削除しようとする。
登録とは異なり、複数のモジュールをコマンドラインで指定することができる
(モジュールを削除するときにモジュールパラメータを指定するのは意味がない)
。
通常は、モジュールを削除する理由などないが、
不具合のあるモジュールには必要である。
使っているカーネルがモジュールの削除に対応していないかもしれない。
- -V --version
- プログラムのバージョンを表示し、終了する。
古いカーネルで実行する場合の注意については下を参照。
- -f --force
- モジュールからバージョンに関する情報を取り除こうとする
(そうしないとロードできないモジュールに対して)
。 このオプションは
--force-vermagic と --force-modversion
オプションの
両方を使ったのと同じである。
当然のことながら、
これらのチェックはあなたを守るために存在するのであって、
このオプションを使うのは危険である。
このオプションは登録されるすべてのモジュールに適用される。
つまり、
コマンドラインで指定したモジュール
(またはエイリアス)
だけでなく、
依存するモジュールにも有効である。
- --force-vermagic
- どのモジュールにも、
カーネルやコンパイラのバージョンといった、
重要な情報を持つ短い文字列がある。
モジュールがロードに失敗し、カーネルが
"version magic" が
一致しないと文句を言う場合、このオプションを使って
"version magic"
を削除することができる。
当然のことながら、
これらのチェックはあなたを守るために存在するのであって、
このオプションを使うのは危険である。
このオプションは登録されるすべてのモジュールに適用される。
つまり、
コマンドラインで指定したモジュール
(またはエイリアス)
だけでなく、
依存するモジュールにも有効である。
- --force-modversion
- モジュールが CONFIG_MODVERSIONS
をセットして
コンパイルされている場合、
モジュールが使っている
(または提供する)
ひとつひとつのインタフェースのバージョンを記したセクションが生成される。
モジュールがロードに失敗し、
カーネルがインタフェースのバージョンの一致しないものがあると文句を言う場合、
"--force-modversion"
を使ってバージョン情報をばっさり削除することができる。
当然のことながら、
これらのチェックはあなたを守るために存在するのであって、
このオプションを使うのは危険である。
このオプションは登録されるすべてのモジュールに適用される。
つまり、
コマンドラインで指定したモジュール
(またはエイリアス)
だけでなく、
依存するモジュールにも有効である。
- -l --list
- 指定されたワイルドカード
(あるいはワイルドカードが指定されない場合
"*") に一致する
すべてのモジュールを列挙する。
このオプションは下位互換性のために用意されている。
もっと柔軟性のある代替品として、
find(1) や basename(1)
を参照。
- -a --all
- 指定されたワイルドカードに一致する全てのモジュールを登録する。
このオプションは下位互換性のために用意されている。
もっと柔軟性のある代替品として、
find(1) や basename(1)
を参照。
- -t --type
- -l を 指定された dirname
に一致するディレクトリにあるモジュールに限定する。
このオプションは下位互換性のために用意されている。
もっと柔軟性のある代替品として、
find(1) や basename(1)
を参照。
- -s --syslog
- このオプションを使うと、
すべてのエラーメッセージが
syslog の仕組みで (LOG_NOTICE
というレベルの LOG_DAEMON
として)
通知されるようになる。
このオプションがない場合は標準エラーに出力される。
このオプションは標準エラーが使えない場合、自動的に有効になる。
このオプションは
install および remove
コマンドを通じて、
MODPROBE_OPTIONS
環境変数にある modprobe
の他のコマンドに渡される。
- --set-version
- カーネルバージョンを設定する。
このオプションがない場合、
カーネルバージョン
(モジュールを検索する場所を表す)
を 決定するために
uname(2) が使われる。
このオプションは下位互換性のチェックも無効にする
(そのため modprobe.old(8)
は一切実行されない)
。
- --show-depends
- モジュール
(またはエイリアス)
の依存関係を列挙する。
モジュール自身も含まれる。
このオプションは
モジュールのファイル名の集合
(空の場合もある)
を生成する。 1 行に 1
個のモジュールが表示され、先頭に
"insmod" が付く。 install
コマンドが適用される場合、先頭に
"install" が付く。 install
コマンドは一切実行しない。
modinfo(8) を使えば
モジュール自身からモジュールの依存関係を取り出すことができるが、
エイリアスや install
コマンドについては全く分からないことに注意。
- -o --name
- このオプションはカーネルに登録されるモジュールの名前を変更しようとする。
テスト用のモジュールには複数回登録することのできるものがあり便利だが、
カーネルは同じ名前のモジュールが
2 個あると拒否する。
通常、モジュールを複数回登録する必要はないはずである。
なぜならモジュールに対応していない場合に役に立たないからである。
- --first-time
- 通常、 modprobe は
すでに存在するモジュールを登録しようとした場合や
存在しないモジュールを削除しようとした場合にも
成功する
(そして何もしない)
。 この振る舞いは modutils
と下位互換性があり、
単純なスクリプトにとっては望ましい。
しかし、もっと複雑なスクリプトでは
modprobe
が実際に何かをしたかどうかを知りたくなることも多い。
このオプションは上のような場合、
modprobe
が失敗するようにする。
下位互換性
このバージョンの
modprobe は、 カーネル
2.5.48
およびそれ以降のためのものである。
古い形式のモジュールに対応したカーネルを検出すると
(そのためのほとんどの処理はユーザ空間で行なわれる)
、 その場で modprobe.old
を実行しようとする。
そのため、ユーザは全く意識しなくてよい。
環境変数
MODPROBE_OPTIONS 環境変数も
modprobe
に引数を渡すのに使うことができる。
著作権
このマニュアルページの著作権表示は
Copyright 2002, Rusty Russell, IBM Corporation.