Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名前
modprobe - Linux カーネルに対してモジュールの着脱を行う
書式
modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-b] [modulename] [module parameters...] modprobe [-r] [-v] [-n] [-i] [modulename...] modprobe [-c] modprobe [--dump-modversions] [filename]
説明
modprobe は、Linux カーネルに対して頭のよいやり方でモジュールの追加や取り外しを行います。 なお、ユーザの便宜を考慮して、モジュール名に含まれる _ と - とを区別しません (アンダースコ アへの変換が自動的に行われます)。 modprobe は、モジュールディレクトリ /lib/modules/`uname -r` を見て、すべてのモジュールやそのほかのファイルをそれ以下に捜します。 ただし、作成が任 意の設定ファイルについては、/etc/modprobe.d ディレクトリを調べます (modprobe.d(5) 参照)。 modprobe はまた、カーネルコマンドラインで指定された、 モジュールオプションやブラックリスト も使用します。前者の書式は <module>.<option> であり、後者の書式は modprobe.blacklist=<module> です。 なお、2.4 系列の Linux カーネル (このツールはサポートしていません) の場合とは違って、当 バージョンの modprobe は、モジュールそのものに対しては何の操作も行いません。 シンボルの解 決やパラメータの解釈といった作業は、 カーネルの内部で行われます。そこで、モジュールの処理 に失敗すると、 カーネルメッセージが出ることがあります。dmesg(8) を参照してください。 modprobe は、modules.dep.bin ファイルが最新であることを当てにしています。このファイル は、modprobe と一緒に配布され、現在の modprobe に対応している depmod(8) ユーティリティに よって生成されます (depmod(8) 参照)。 modules.dep.bin は、各モジュールが、ほかのどんなモ ジュールを必要としているかを (そういったものがあれば) リストしており、modprobe は、この ファイルを使用して、 そうした依存するモジュールを自動的に追加したり、取り外したりします。 modulename の後ろに引数を付けると、そうした引数はカーネルに渡されます (設定ファイルで指定 しているモジュールオプション [訳注: モジュールパラメータとも言います] があれば、そこに追加 されるわけです)。
オプション
-a, --all コマンドラインで指定されたモジュール名をすべて組み込みます。 -b, --use-blacklist このオプションを指定すると、modprobe は、設定ファイルに blacklist コマンドがあれば、そ れもモジュール名に対して適用します。 このオプションは通常、udev(7) によって使用されま す。 -C, --config このオプションは、設定ディレクトリをデフォルトの /etc/modprobe.d から変更します。 このオプションは、環境変数 MODPROBE_OPTIONS に入れられて、install や remove コマンド経 由で、ほかの modprobe コマンドにも渡されます。 -c, --showconfig 設定ディレクトリを読み込み、有効な設定を標準出力に書き出して、終了します。 --dump-modversions あるモジュールが要求している、そのモジュールのバージョン管理情報のリストを表示します。 このオプションは通常、モジュールのバージョン管理の依存情報を利用して Linux のカーネル モジュールをパッケージにまとめるために、 ディストリビューションによって使用されます。 -d, --dirname モジュール群にとってのルートディレクトリ。デフォルトでは / です。 --first-time 通常、modprobe は、すでに存在するモジュールの組み込みや、 存在しないモジュールの取り外 しを命じられても、処理に成功したものとして (何もせずに) 終了します。これは単純なスクリ プトではまったく問題がありません。 でも、より複雑なスクリプトでは、modprobe が実際に何 らかの処理を行ったかどうかを知りたいことがよくあります。 このオプションを使う と、modprobe は、実際には何もしなかった場合、 実行に失敗したことになります。 --force-vermagic どのモジュールの中にも、 カーネルやコンパイラのバージョンといった重要な情報を含む短い 文字列が存在します。 モジュールのロードに失敗して、 カーネルが「バージョンマジックが一 致しない」と苦情を言って来る場合、 このオプションを使えば、そのバージョンマジックを除 去することができます。 言うまでもありませんが、こうしたチェックは、 ユーザを守るために あるのですから、自分のやっていることがよくわかっていないかぎり、 このオプションを使う のは危険です。 このオプションは、組み込まれるどんなモジュールにも適用されます。 すなわち、コマンドラ インで指定されたモジュール (やエイリアス) だけでなく、 それが依存するモジュールがあれ ば、それにも適用されます。 --force-modversion CONFIG_MODVERSIONS を有効にして、モジュールをコンパイルすると、 そのモジュールが利用す る (あるいは、提供する) すべてのインターフェースのバージョンを記録したセクションが、モ ジュール内に作られます。 モジュールのロードに失敗して、カーネルが「モジュールのイン ターフェースに、 バージョンがカーネル側と一致しないものがある」と苦情を言って来る場 合、 "--force-modversion" を使えば、そうしたバージョン情報をそっくり除去することができ ます。 言うまでもありませんが、こうしたチェックは、ユーザを守るためにあるのですから、 自分のやっていることがよくわかっていないかぎり、このオプションを使うのは危険です。 このオプションは、組み込まれるどんなモジュールにも適用されます。 すなわち、コマンドラ インで指定されたモジュール (やエイリアス) だけでなく、 それが依存するモジュールがあれ ば、それにも適用されます。 -f, --force バージョン管理に関する情報がモジュールにあると、ロードが中断しかねない場合に、 モ ジュールからそうした情報をすべて取り除こうとします。 これは --force-vermagic と --force-modversion の両方を使用するのと同じことです。 言うまでもありませんが、こうした チェックはユーザを守るためにあるのですから、 自分のやっていることがよくわかっていない かぎり、このオプションを使うのは危険です。 このオプションは、組み込まれるどんなモジュールにも適用されます。 すなわち、コマンドラ インで指定されたモジュール (やエイリアス) だけでなく、 それが依存するモジュールがあれ ば、それにも適用されます -i, --ignore-install, --ignore-remove このオプションを使うと、modprobe は、コマンドラインで指定されたモジュールに対して設定 ファイル中に install や remove コマンドが存在しても、それを無視します (依存するモ ジュールについては、このオプションを指定した場合でも、 設定ファイル中でそのモジュール に対して設定されているコマンドの対象になります)。 現状では、このオプションを使用した場 合、install と remove の両方のコマンドが無視されることになります。 --ignore-install や --ignore-remove の片方のみを使って (そして、両方を使うことなく) より具体的に指定して も、動作は変わりません。 modprobe.d(5) を参照してください。 -n, --dry-run, --show このオプションを指定すると、実際にモジュールを組み込んだり、取り外したり (それ に、install や remove コマンドを実行したり) する以外のあらゆることを行います。 -v オプ ションと組み合わせると、問題が起きたときのデバッグに便利です。 歴史的な理由から --dry-run と --show は事実上同じ意味なので、 どちらを使っても構いません。 -q, --quiet このフラグを使用すると、modprobe は、モジュールを取り外したり、 組み込んだりしようとし て、それが見つからなかった場合に (しかも、それがエイリアスの名前でも、install や remove コマンドの対象でもなかった場合に)、エラーメッセージを出さなくなります。それで も、 ゼロ以外のステータスで終了することに変わりはありません。なお、カーネルは、 存在す るかどうかが不確かなモジュールの探索を request_module 関数を使って便宜主義的に行うため に、このフラグを使用します。 -R, --resolve-alias あるエイリアスに対応するモジュール名をすべて表示します。 モジュールのエイリアスに問題 がある場合、デバッグの役に立つかもしれません。 -r, --remove このオプションを指定すると、modprobe は、モジュールを組み込む代わりに、 それを取り外し ます。そのモジュールが依存しているモジュールも使用されていない場合は、 それもまた取り 外そうとします。組み込みを行う場合とは違って、 複数のモジュールをコマンドラインで指定 することができます (モジュールを取り外す場合には、モジュールパラメータを指定しても意味 がありません)。 通常は、モジュールを取り外す理由などありませんが、 モジュールにバグのある場合には、そ れが必要になることもあります。 もっとも、ご使用のディストリビューションのカーネルは、 モジュール取り外しのサポートを有効にしてビルドされていないかもしれません。 -S, --set-version カーネルのバージョンを設定します。すなわち、カーネルのバージョン (それによって、モ ジュールを探しに行く場所が決まります) を判断するのに、uname(2) を使用しません。 --show-depends あるモジュール (または、エイリアス) の依存関係を、そのモジュール自体も含めて、 一覧表 示します。モジュールファイル名の集合 (空集合のこともあります) が、1 行に 1 ファイルず つ、各行の先頭に "insmod" を付けて、出力されます。 このオプションの代表的な使い道 は、ディストリビューションが initrd/initramfs イメージを作成するとき、どのモジュールを 収録するかを決めるのに使うことです。 Install コマンドが適用されている場合は、"install" という文字列を行頭に置くことで、それを示しますが、そうした install コマンドが実行され るわけではありません。なお、modinfo(8) を使えば、 モジュールの依存関係をそのモジュール 自体から取り出すことができますが、 modinfo は、設定ファイルの alias や install といっ たコマンドについては、 何も知らないことに注意してください。 -s, --syslog このオプションを指定すると、エラーメッセージがある場合に、 それを標準エラーに送るので はなく、syslog の仕組みを通して出力します (LOG_NOTICE レベルの LOG_DAEMON として扱われ ます)。 このオプションは、標準エラーが使えない場合にも、自動的に有効になります。 このオプションは、環境変数 MODPROBE_OPTIONS に入れられて、install や remove コマンド経 由で、ほかの modprobe コマンドにも渡されます。 -V, --version プログラムのバージョンを表示して終了します。 -v, --verbose プログラムが何をやっているかについてメッセージを表示します。通常 modprobe がメッセージ を出すのは、何かがうまく行かなかったときだけです。 このオプションは、環境変数 MODPROBE_OPTIONS に入れられて、install や remove コマンド経 由で、ほかの modprobe コマンドにも渡されます。
環境変数
環境変数 MODPROBE_OPTIONS は、modprobe コマンドに引数を渡すためにユーザが使用することもで きます。
著作権
このマニュアルページの最初の版は、"Copyright 2002, Rusty Russell, IBM Corporation" でし た。現在では、Jon Masters ほか数名によって保守されています。
関連項目
modprobe.d(5), insmod(8), rmmod(8), lsmod(8), modinfo(8) depmod(8)
著者
Jon Masters <jcm@jonmasters.org> 開発者 Robby Workman <rworkman@slackware.com> 開発者 Lucas De Marchi <lucas.de.marchi@gmail.com> 開発者