Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       modprobe.d - modprobe 用の設定ディレクトリ

概要

       /lib/modprobe.d/*.conf

       /usr/local/lib/modprobe.d/*.conf

       /run/modprobe.d/*.conf

       /etc/modprobe.d/*.conf

説明

       モジュールには依存関係があるので、modprobe コマンドは、複数のモジュールを追加したり、取り
       外したりすることがありますが、そのため、 そうした個々のモジュールにどんなオプションを使う
       べきかを指定する方法が必要になります。 /etc/modprobe.d ディレクトリの直下にあるファイル
       で、.conf という拡張子で終わるもののすべてが、必要に応じて、そうしたオプションを指定してい
       ます。 そうしたファイルは、使いやすいエイリアス、 すなわちモジュールの別名を作るためにも使
       用することができます。 また、そうしたファイルによって、(二つ以上のモジュールを組み込むと
       いった) 特別な要求を持つモジュールのために、標準の modprobe の動作を全面的に変更することも
       できます。

       モジュール名やエイリアス名では (後者の場合も、ほかのモジュール名と同様に)、- や _ を名前の
       一部に使うことができます。アンダースコアへの変換が自動的に行われるので、 モジュールコマン
       ドのすべてにおいて、どちらを使っても同じであることに留意してください。

       modprobe.d の下にあるファイルの書式は単純です。1 行 1 コマンドで、空行や '#' で始まる行は
       無視されます (後者はコメントを付けるのに使えます)。 行末に 1 個の '\' があると、その行は次
       の行に続くことになります。 これを使うと、ファイルの見かけがちょっとよくなります。

コマンド

       alias wildcard modulename
           このコマンドを使えば、モジュールに別名を付けることができます。たとえば、"alias my-mod
           really_long_modulename" と指定すると、"modprobe really_long_modulename" の代わりに
           "modprobe my-mod" を使うことができます。シェル式のワイルドカードも使用できるので、
           "alias my-mod* really_long_modulename" と指定すれば、 "modprobe my-mod-something" でも
           同じ効果があります。 ほかのエイリアスに対するエイリアスは作れませんが (そんなことをし
           たら、わけが分からなくなります)、 エイリアスにもオプションを指定することはできます。そ
           の場合は、 ほかにもオプションがあれば、そこに追加されることになるわけです。 (訳注: こ
           のオプションは、modprobe(8) の「書式」で module parameter と言われているもののこと
           で、そうしたオプションを、実モジュールに対してだけでなく、 エイリアスに対しても、コマ
           ンドラインや、下記の options コマンドで指定できるということ。alias コマンド中でエイリ
           アスにオプションまで指定できるというわけではありません。)

           気をつけていただきたいのですが、 モジュールは、自前のエイリアスを内蔵していることもあ
           り、modinfo を使えば、それを見ることができます。 そうしたエイリアスは (訳注: モジュー
           ルを特定するとき) 最後の手段として利用されます (すなわち、指定された名前の実モジュール
           がなく、その名前に対応する install, remove, alias コマンドも設定ファイル中にない場
           合)。

       blacklist modulename
           モジュールは、自前のエイリアスを内蔵していることがあります。たいていの場合、 そうした
           エイリアスは、そのモジュールがサポートしているデバイスを表していて、 "pci:123..." と
           いったものです。こうした「内蔵」エイリアスも、通常の "alias" キーワードによって置き換
           えることができますが、 二つ以上のモジュールが、どちらも同じデバイスをサポートしていた
           り (訳注: すなわち、同じ名前の内蔵エイリアスを持っていたり)、 あるモジュールが、実際に
           はサポートしていないデバイスをサポートしていると、 無効な主張をしていたりすることもあ
           ります。そうした場合に blacklist キーワードを使うと、そのモジュールの内蔵エイリアスを
           すべて無視せよと指示することになります。

       install modulename command...
           このコマンドは、modprobe に対して、いつもどおりカーネルにモジュールを組み込む代わり
           に、 指定されたコマンドを実行するように指示します。 指定するコマンドには任意のシェルコ
           マンドが使えるので、 どのような複雑な処理を望もうと、それを実行することができます。た
           とえば、 モジュール "fred" は、モジュール "barney" がすでにインストールされているとき
           の方が、うまく動作するとします (しかし、前者は後者に依存しているわけではないの
           で、modprobe は後者を自動的にロードしようとはしません)。そういう場合は、"install fred
           /sbin/modprobe barney; /sbin/modprobe --ignore-install fred" と、設定ファイルに書いて
           おけばよいのです。そうすれば、 希望する動作が行われることになります。 --ignore-install
           に注意してください。これは、二番目の modprobe が、ほかならぬこの install コマンドを繰
           り返し実行しないようにしているのです。 以下の remove の項も参照してください。

           このコマンドは、モジュールに補助的な依存モジュールを提供するという課題に対する一つの解
           決策ですが、 長期的に見て、将来もそうである保証はありません。 それどころか、このコマン
           ドは、将来のリリースのある時点で、 いずれ廃棄されるだろうとか、非推奨であるとかの警告
           に置き換えることが予定されています。 このコマンドを使用すると、mkinitrd のようなディス
           トリビューション固有のユーティリティが、 依存するモジュールを自動的に判断しようとする
           とき、作業が複雑になるのです (なぜなら、現状では、そうしたユーティリティは、install コ
           マンドがやっていそうなことを、何らかの方法で解読しなければならないからです)。 完璧な世
           界でなら、このコマンドを使わないでも、モジュールは、 依存関係の情報を漏れなく提供する
           ことでしょう。実際、ゆるやかな依存関係のサポートを Linux カーネルの内部で実装しようと
           する作業が、現在進行しています。

           このコマンド中で、"$CMDLINE_OPTS" という文字列を使用すると、 modprobe のコマンドライン
           でオプションを指定した場合に、そのオプションが "$CMDLINE_OPTS" に置き換わります (訳注:
           このオプションは、上の alias コマンドの訳注でも述べましたが、modprobe(8) の「書式」で
           module parameter と言われているもののことです)。この動作は重宝なことがあります。 なぜ
           なら、ユーザとしては、"modprobe fred opt=1" とコマンドライン上で指定したら、 設定ファ
           イル中に install コマンドが存在する場合でも、モジュール fred に "opt=1" という引数が
           渡ってほしいと思うからです。そこで、上記の例でこれを使うと、 "install fred
           /sbin/modprobe barney; /sbin/modprobe --ignore-install fred $CMDLINE_OPTS" になりま
           す。

       options modulename option...
           このコマンドを使えば、モジュール modulename (エイリアスであっても構いません) がカーネ
           ルに組み込まれるたびに、それにオプションを付け加えることができます。 組み込み
           は、(modprobe  modulename を使って) 直接行われるか、 組み込もうとするモジュールがこの
           モジュールに依存しているために行われるかを問いません。

           すべてのオプションは、まとめて付け加えられます。そうしたオプションには、 モジュールそ
           のものやエイリアスに対して options コマンドで指定したものあれば、コマンドラインで指定
           したものもあるわけです。

       remove modulename command...
           これは上記の install コマンドに似ていますが、"modprobe -r" が実行されるときに、呼び出
           される点が異なっています。

       softdep modulename pre: modules... post: modules...
           softdep コマンドを使えば、 ゆるやかな、すなわち使用・不使用が任意なモジュールの依存関
           係を指定できます。 modulename というモジュールは、 そうした使用・不使用が任意なモ
           ジュールをインストールしないでも、使うことができます。 でも、たいていの場合、何らかの
           機能が使えないことになります。 たとえば、ある記憶装置の HBA (ホストバスアダプタ) 用の
           ドライバは、 管理機能を使うためには、別のモジュールをロードする必要があるかもしれませ
           ん。

           前依存モジュールや後依存モジュール (訳注: 上記 softdep の書式の pre: や post: に続く
           modules...) は、modulename という引数によって指定されたメインモジュールの前後
           に、modprobe が 順番に組み込み (あるいは、取り外し) を試みるほかのモジュールの名前やエ
           イリアスのリストです。

           用例: "softdep c pre: a b post: d e" という設定がなされているとします。このと
           き、"modprobe c" を実行するのは、この softdep コマンドを設定せずに、"modprobe --all a
           b c d e" を行うのと同じことです。なお、--use-blacklist のようなフラグは、指定されたす
           べてのモジュールに適用されますが、 モジュールパラメータが適用されるのは、モジュール c
           だけです。

           注意: 同じ modulename 引数を取る installremove コマンドが設定ファイル中にあって
           も、softdep が優先されます。

互換性

       kmod の将来のバージョンでは、上で述べたように、install の使用は避けるべきだとの強い警告が
       出ることになるでしょう。 そうなるのは、カーネル中でのゆるやかな依存関係に対するサポートが
       完成したときのことです。 そうしたサポートでは、ゆるやかな依存関係の情報をモジュール内で直
       接提供することによって、 kmod ユーティリティ内での softdep による現在のサポートを補完する
       ことになるでしょう。

著作権

       このマニュアルページの最初の版は、"Copyright 2004, Rusty Russell, IBM Corporation" でし
       た。現在では、Jon Masters ほか数名によって保守されています。

関連項目

       modprobe(8), modules.dep(5)

著者

       Jon Masters <jcm@jonmasters.org>
           開発者

       Robby Workman <rworkman@slackware.com>
           開発者

       Lucas De Marchi <lucas.de.marchi@gmail.com>
           開発者