MODPROBE(8) | MODPROBE(8) |
名前¶
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.
関連項目¶
modprobe.conf(5), lsmod(8), modprobe.old(8)
08 May 2005 |