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 ]

このマニュアルについて

これは、module-init-tools パッケージに所属するユーティリティのマニュアルです。module-init-tools は、現在では kmod パッケージに引き継がれているので、kmod パッケージの同名のユーティリティのマニュアルをご覧になることをお勧めします。 (2022/12/02, Linux JM Project)

説明

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)