'\" t .\" Title: modprobe.d .\" Author: Jon Masters .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 01/29/2021 .\" Manual: modprobe.d .\" Source: kmod .\" Language: English .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (C) 2005 Suzuki Takashi, .\" and 2022 ribbon, .\" and 2022 Chonan Yoichi, .\" all rights reserved. .\" Translated (modprobe.conf in module-init-tools) Sun Jul 10 22:56:20 JST 2005 .\" by Suzuki Takashi . .\" New Translation (kmod version 29) Tue May 31 2022 .\" by ribbon .\" Modified Tue Oct 25 09:28:07 JST 2022 .\" by Chonan Yoichi .\" .\" This program is free software: you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation, either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . .\" .TH MODPROBE\&.D 5 2021/01/29 kmod modprobe.d .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH 名前 modprobe.d \- modprobe 用の設定ディレクトリ .SH 概要 .PP /lib/modprobe\&.d/*\&.conf .PP /usr/local/lib/modprobe\&.d/*\&.conf .PP /run/modprobe\&.d/*\&.conf .PP /etc/modprobe\&.d/*\&.conf .SH 説明 .PP モジュールには依存関係があるので、\fBmodprobe\fP コマンドは、複数のモジュールを追加したり、取り外したりすることがありますが、そのため、 そうした個々のモジュールにどんなオプションを使うべきかを指定する方法が必要になります。 /etc/modprobe\&.d ディレクトリの直下にあるファイルで、.conf という拡張子で終わるもののすべてが、必要に応じて、そうしたオプションを指定しています。 そうしたファイルは、使いやすいエイリアス、 すなわちモジュールの別名を作るためにも使用することができます。 また、そうしたファイルによって、(二つ以上のモジュールを組み込むといった) 特別な要求を持つモジュールのために、標準の \fBmodprobe\fP の動作を全面的に変更することもできます。 .PP モジュール名やエイリアス名では (後者の場合も、ほかのモジュール名と同様に)、\- や _ を名前の一部に使うことができます。アンダースコアへの変換が自動的に行われるので、 モジュールコマンドのすべてにおいて、どちらを使っても同じであることに留意してください。 .PP modprobe\&.d の下にあるファイルの書式は単純です。1 行 1 コマンドで、空行や \*(Aq#\*(Aq で始まる行は無視されます (後者はコメントを付けるのに使えます)。 行末に 1 個の \*(Aq\e\*(Aq があると、その行は次の行に続くことになります。 これを使うと、ファイルの見かけがちょっとよくなります。 .SH コマンド .PP alias \fIwildcard\fP \fImodulename\fP .RS 4 このコマンドを使えば、モジュールに別名を付けることができます。たとえば、"alias my\-mod really_long_modulename" と指定すると、"modprobe really_long_modulename" の代わりに "modprobe my\-mod" を使うことができます。シェル式のワイルドカードも使用できるので、 "alias my\-mod* really_long_modulename" と指定すれば、 "modprobe my\-mod\-something" でも同じ効果があります。 ほかのエイリアスに対するエイリアスは作れませんが (そんなことをしたら、わけが分からなくなります)、 エイリアスにもオプションを指定することはできます。その場合は、 ほかにもオプションがあれば、そこに追加されることになるわけです。 (訳注: このオプションは、\fBmodprobe\fP(8) の「書式」で \fImodule\ parameter\fP と言われているもののことで、そうしたオプションを、実モジュールに対してだけでなく、 エイリアスに対しても、コマンドラインや、下記の \fBoptions\fP コマンドで指定できるということ。\fBalias\fP コマンド中でエイリアスにオプションまで指定できるというわけではありません。) .sp 気をつけていただきたいのですが、 モジュールは、自前のエイリアスを内蔵していることもあり、\fBmodinfo\fP を使えば、それを見ることができます。 そうしたエイリアスは (訳注: モジュールを特定するとき) 最後の手段として利用されます (すなわち、指定された名前の実モジュールがなく、その名前に対応する \fBinstall\fP, \fBremove\fP, \fBalias\fP コマンドも設定ファイル中にない場合)。 .RE .PP blacklist \fImodulename\fP .RS 4 モジュールは、自前のエイリアスを内蔵していることがあります。たいていの場合、 そうしたエイリアスは、そのモジュールがサポートしているデバイスを表していて、 "pci:123\&.\&.\&." といったものです。こうした「内蔵」エイリアスも、通常の "alias" キーワードによって置き換えることができますが、 二つ以上のモジュールが、どちらも同じデバイスをサポートしていたり (訳注: すなわち、同じ名前の内蔵エイリアスを持っていたり)、 あるモジュールが、実際にはサポートしていないデバイスをサポートしていると、 無効な主張をしていたりすることもあります。そうした場合に \fBblacklist\fP キーワードを使うと、そのモジュールの内蔵エイリアスをすべて無視せよと指示することになります。 .RE .PP install \fImodulename\fP \fIcommand\&.\&.\&.\fP .RS 4 このコマンドは、\fBmodprobe\fP に対して、いつもどおりカーネルにモジュールを組み込む代わりに、 指定されたコマンドを実行するように指示します。 指定するコマンドには任意のシェルコマンドが使えるので、 どのような複雑な処理を望もうと、それを実行することができます。たとえば、 モジュール "fred" は、モジュール "barney" がすでにインストールされているときの方が、うまく動作するとします (しかし、前者は後者に依存しているわけではないので、\fBmodprobe\fP は後者を自動的にロードしようとはしません)。そういう場合は、"install fred /sbin/modprobe barney; /sbin/modprobe \-\-ignore\-install fred" と、設定ファイルに書いておけばよいのです。そうすれば、 希望する動作が行われることになります。 \fB\-\-ignore\-install\fP に注意してください。これは、二番目の \fBmodprobe\fP が、ほかならぬこの \fBinstall\fP コマンドを繰り返し実行しないようにしているのです。 以下の \fBremove\fP の項も参照してください。 .sp このコマンドは、モジュールに補助的な依存モジュールを提供するという課題に対する一つの解決策ですが、 長期的に見て、将来もそうである保証はありません。 それどころか、このコマンドは、将来のリリースのある時点で、 いずれ廃棄されるだろうとか、非推奨であるとかの警告に置き換えることが予定されています。 このコマンドを使用すると、mkinitrd のようなディストリビューション固有のユーティリティが、 依存するモジュールを自動的に判断しようとするとき、作業が複雑になるのです (なぜなら、現状では、そうしたユーティリティは、\fBinstall\fP コマンドがやっていそうなことを、何らかの方法で解読しなければならないからです)。 完璧な世界でなら、このコマンドを使わないでも、モジュールは、 依存関係の情報を漏れなく提供することでしょう。実際、ゆるやかな依存関係のサポートを Linux カーネルの内部で実装しようとする作業が、現在進行しています。 .sp このコマンド中で、"$CMDLINE_OPTS" という文字列を使用すると、 \fBmodprobe\fP のコマンドラインでオプションを指定した場合に、そのオプションが "$CMDLINE_OPTS" に置き換わります (訳注: このオプションは、上の \fBalias\fP コマンドの訳注でも述べましたが、\fBmodprobe\fP(8) の「書式」で \fImodule parameter\fP と言われているもののことです)。この動作は重宝なことがあります。 なぜなら、ユーザとしては、"modprobe fred opt=1" とコマンドライン上で指定したら、 設定ファイル中に \fBinstall\fP コマンドが存在する場合でも、モジュール fred に "opt=1" という引数が渡ってほしいと思うからです。そこで、上記の例でこれを使うと、 "install fred /sbin/modprobe barney; /sbin/modprobe \-\-ignore\-install fred $CMDLINE_OPTS" になります。 .RE .PP options \fImodulename\fP \fIoption\&.\&.\&.\fP .RS 4 このコマンドを使えば、モジュール \fImodulename\fP (エイリアスであっても構いません) がカーネルに組み込まれるたびに、それにオプションを付け加えることができます。 組み込みは、(\fBmodprobe \fP \fImodulename\fP を使って) 直接行われるか、 組み込もうとするモジュールがこのモジュールに依存しているために行われるかを問いません。 .sp すべてのオプションは、まとめて付け加えられます。そうしたオプションには、 モジュールそのものやエイリアスに対して \fBoptions\fP コマンドで指定したものあれば、コマンドラインで指定したものもあるわけです。 .RE .PP remove \fImodulename\fP \fIcommand\&.\&.\&.\fP .RS 4 これは上記の \fBinstall\fP コマンドに似ていますが、"modprobe \-r" が実行されるときに、呼び出される点が異なっています。 .RE .PP softdep \fImodulename\fP pre: \fImodules\&.\&.\&.\fP post: \fImodules\&.\&.\&.\fP .RS 4 \fBsoftdep\fP コマンドを使えば、 ゆるやかな、すなわち使用・不使用が任意なモジュールの依存関係を指定できます。 \fImodulename\fP というモジュールは、 そうした使用・不使用が任意なモジュールをインストールしないでも、使うことができます。 でも、たいていの場合、何らかの機能が使えないことになります。 たとえば、ある記憶装置の HBA (ホストバスアダプタ) 用のドライバは、 管理機能を使うためには、別のモジュールをロードする必要があるかもしれません。 .sp 前依存モジュールや後依存モジュール (訳注: 上記 \fBsoftdep\fP の書式の pre: や post: に続く \fImodules\&.\&.\&.\fP) は、\fImodulename\fP という引数によって指定されたメインモジュールの前後に、\fBmodprobe\fP が 順番に組み込み (あるいは、取り外し) を試みるほかのモジュールの名前やエイリアスのリストです。 .sp 用例: "softdep c pre: a b post: d e" という設定がなされているとします。このとき、"modprobe c" を実行するのは、この softdep コマンドを設定せずに、"modprobe \-\-all a b c d e" を行うのと同じことです。なお、\-\-use\-blacklist のようなフラグは、指定されたすべてのモジュールに適用されますが、 モジュールパラメータが適用されるのは、モジュール c だけです。 .sp 注意: 同じ \fImodulename\fP 引数を取る \fBinstall\fP や \fBremove\fP コマンドが設定ファイル中にあっても、\fBsoftdep\fP が優先されます。 .RE .SH 互換性 .PP kmod の将来のバージョンでは、上で述べたように、\fBinstall\fP の使用は避けるべきだとの強い警告が出ることになるでしょう。 そうなるのは、カーネル中でのゆるやかな依存関係に対するサポートが完成したときのことです。 そうしたサポートでは、ゆるやかな依存関係の情報をモジュール内で直接提供することによって、 kmod ユーティリティ内での softdep による現在のサポートを補完することになるでしょう。 .SH 著作権 .PP このマニュアルページの最初の版は、"Copyright 2004, Rusty Russell, IBM Corporation" でした。現在では、Jon Masters ほか数名によって保守されています。 .SH 関連項目 .PP \fBmodprobe\fP(8), \fBmodules.dep\fP(5) .SH 著者 .PP \fBJon Masters\fP <\&jcm@jonmasters\&.org\&> .RS 4 開発者 .RE .PP \fBRobby Workman\fP <\&rworkman@slackware\&.com\&> .RS 4 開発者 .RE .PP \fBLucas De Marchi\fP <\&lucas\&.de\&.marchi@gmail\&.com\&> .RS 4 開発者 .RE