SIMPLE SOLUTIONS

MODPROBE(8) - Linux manual

Linux カーネルにモジュールを追加したり削除したりするプログラム.

08 May 2005
MODPROBE(8) MODPROBE(8)

modprobe - Linux カーネルにモジュールを追加したり削除したりするプログラム

modprobe [ -v ] [ -V ] [ -C config-file ] [ -n ] [ -i ] [ -q ] [ -o modulename ] [ module‐ name ] [ 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 コマンドでもない) モジュールを 削除したり登録したりしようとすると、エラーを通知する。 このフラグを使うと、 mod‐ probe は でたらめな名前は単に無視する (カーネルはこの名前を使って 存在するかもしれないモジュールを日和見的にプローブする) 。 -r --remove このオプションで modprobe は モジュールを削除する。 このオプションがない場合は登録する。 依存するモジュールも使われていない場合、 mod‐ probe はそれらも削除しようとする。 登録とは異なり、複数のモジュールをコマンドラインで指定することができる (モジュールを削除するときにモジュールパラメータを指定するのは意味がない) 。 通常は、モジュールを削除する理由などないが、 不具合のあるモジュールには必要である。 使っているカーネルがモジュールの削除に対応していないかもしれない。 -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 MODPROBE(8)
modprobe(8).txt (日本語 / Japanese)
Index English version of modprobe(8)
Go top