MODPROBE.D(5) | modprobe.d | MODPROBE.D(5) |
名前¶
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
気をつけていただきたいのですが、 モジュールは、自前のエイリアスを内蔵していることもあり、modinfo を使えば、それを見ることができます。 そうしたエイリアスは (訳注: モジュールを特定するとき) 最後の手段として利用されます (すなわち、指定された名前の実モジュールがなく、その名前に対応する install, remove, alias コマンドも設定ファイル中にない場合)。
blacklist modulename
install modulename command...
このコマンドは、モジュールに補助的な依存モジュールを提供するという課題に対する一つの解決策ですが、 長期的に見て、将来もそうである保証はありません。 それどころか、このコマンドは、将来のリリースのある時点で、 いずれ廃棄されるだろうとか、非推奨であるとかの警告に置き換えることが予定されています。 このコマンドを使用すると、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...
すべてのオプションは、まとめて付け加えられます。そうしたオプションには、 モジュールそのものやエイリアスに対して options コマンドで指定したものあれば、コマンドラインで指定したものもあるわけです。
remove modulename command...
softdep modulename pre: modules... post: modules...
前依存モジュールや後依存モジュール (訳注: 上記 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 引数を取る install や remove コマンドが設定ファイル中にあっても、softdep が優先されます。
互換性¶
kmod の将来のバージョンでは、上で述べたように、install の使用は避けるべきだとの強い警告が出ることになるでしょう。 そうなるのは、カーネル中でのゆるやかな依存関係に対するサポートが完成したときのことです。 そうしたサポートでは、ゆるやかな依存関係の情報をモジュール内で直接提供することによって、 kmod ユーティリティ内での softdep による現在のサポートを補完することになるでしょう。
著作権¶
このマニュアルページの最初の版は、"Copyright 2004, Rusty Russell, IBM Corporation" でした。現在では、Jon Masters ほか数名によって保守されています。
関連項目¶
著者¶
Jon Masters <jcm@jonmasters.org>
Robby Workman <rworkman@slackware.com>
Lucas De Marchi <lucas.de.marchi@gmail.com>
2021/01/29 | kmod |