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>
           開発者

kmod                                               2021/01/29                                      MODPROBE.D(5)