X-Git-Url: http://git.osdn.net/view?p=linuxjm%2Fjm.git;a=blobdiff_plain;f=manual%2Fkmod%2Frelease%2Fman5%2Fmodprobe.d.5;h=17215c2f7e2b282fab28d175e008efd736c24e59;hp=604c83f4aa824af0c7cbc7d98db3ea66300cb371;hb=13f2028332c4f7b75e10eadf3fa0cc790c0557a6;hpb=46d0bd4c61d309c11a9267cbd727c66bd4060c69 diff --git a/manual/kmod/release/man5/modprobe.d.5 b/manual/kmod/release/man5/modprobe.d.5 index 604c83f4..17215c2f 100644 --- a/manual/kmod/release/man5/modprobe.d.5 +++ b/manual/kmod/release/man5/modprobe.d.5 @@ -13,7 +13,29 @@ .\" .\"******************************************************************* .\" -.\" translated for 29, 2022-05-31 ribbon +.\" 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 @@ -36,8 +58,8 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH 名前 -modprobe.d \- modprobe 向けの設定ディレクトリ -.SH 書式 +modprobe.d \- modprobe 用の設定ディレクトリ +.SH 概要 .PP /lib/modprobe\&.d/*\&.conf .PP @@ -48,105 +70,162 @@ modprobe.d \- modprobe 向けの設定ディレクトリ /etc/modprobe\&.d/*\&.conf .SH 説明 .PP -\fBmodprobe\fP コマンドでは、 複数のモジュールに対する追加や削除ができます。 そもそもモジュールには依存関係があるため、 -そのようなモジュールに対しては、 どのようなオプションを適用するのかを示す必要があります。 /etc/modprobe\&.d -ディレクトリに置くファイルは、 すべて \&.conf という拡張子を持つものであり、 必要となるオプションを指定します。 同時にこれらのファイルでは、 -便利なエイリアス、 つまりモジュールに対する別名を生成するものとしても利用されます。 また、 特別な要件 (たとえば複数モジュールの挿入を要するなど) -がある場合に、 通常の \fBmodprobe\fP の動作を上書きすることができます。 -.PP -なお、 モジュール名や (別モジュール名である) エイリアス名においては、 \- や _ を名称に含めることができます。 そして両者は、 -あらゆるモジュールコマンドを通じて区別なく用いられ、 アンダースコアへの変換は自動的に行われます。 -.PP -modprobe\&.d 配下にあるファイルのフォーマットは単純です。 1 行に 1 つのコマンドを記述します。空行や \*(Aq#\*(Aq -で始まる行は無視されます (コメント行として利用できます)。 行末に \*(Aq\e\*(Aq を記述すれば、 次の行への継続を表します。 -これを使えば、ファイルが多少すっきりします。 +モジュールには依存関係があるので、\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" でも同じことになります。 他のエイリアスに対するエイリアスを作ることはできません -(これを行うとおかしくなります)。 エイリアスはオプションを含めることができるため、 他のオプションに加えて利用することができます。 +このコマンドを使えば、モジュールに別名を付けることができます。たとえば、"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 と言われているもののこと)。 .sp -なお、 モジュールにはそれ独自のエイリアスを含めることができます。 これは \fBmodinfo\fP を使って確認することができます。 -こういったエイリアスは、 最後の手段として用いられます (実際のモジュール, \fBinstall\fP, \fBremove\fP, \fBalias\fP -の各コマンドが設定内にない場合など)。 +気をつけていただきたいのですが、 +モジュールは、自前のエイリアスを内蔵していることもあり、\fBmodinfo\fP +を使えば、それを見ることができます。 +そうしたエイリアスは (訳注: モジュールを特定するとき) 最後の手段として利用されます +(すなわち、指定された名前の実モジュールがなく、その名前に対応する +\fBinstall\fP, \fBremove\fP, \fBalias\fP コマンドも設定ファイル中にない場合)。 .RE .PP blacklist \fImodulename\fP .RS 4 -モジュールにはそれ独自のエイリアスを含めることができます。 通常そういったエイリアスは、 "pci:123\&.\&.\&." などのように、 -サポートしているデバイスを表すものです。 こういった「内部の」エイリアスは、 通常のキーワード "alias" を使って上書きすることができます。 -というのも、 2 つ以上のモジュールが同一デバイスをサポートしている場合があります。 あるいはモジュールがサポートしているといいつつ、 -対象デバイスが存在しないような不適切な状況があります。 キーワード \fBblacklist\fP は、 特定のモジュールにおける内部エイリアスを、 -無効なものとして指示するためにあります。 +モジュールは、自前のエイリアスを内蔵していることがあります。たいていの場合、 +そうしたエイリアスは、そのモジュールがサポートしているデバイスを表していて、 +"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 は、 2 つめの \fBmodprobe\fP コマンドが、 同じ -\fBinstall\fP コマンドを再度実行することがないようにしています。 以下の \fBremove\fP も参照してください。 +このコマンドは、\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 カーネル内部において、 ソフトな依存関係を実装する作業が、 現在進行中です。 +このコマンドは、モジュールに補助的な依存モジュールを提供するという課題に対する一つの解決策ですが、 +長期的に見て、将来もそうである保証はありません。 +それどころか、このコマンドは、将来のリリースのある時点で、 +いずれ廃棄されるだろうとか、非推奨であるとかの警告に置き換えることが予定されています。 +このコマンドを使用すると、mkinitrd +のようなディストリビューション固有のユーティリティが、 +依存するモジュールを自動的に判断しようとするとき、作業が複雑になるのです +(なぜなら、現状では、そうしたユーティリティは、\fBinstall\fP +コマンドがやっていそうなことを、何らかの方法で解読しなければならないからです)。 +完璧な世界でなら、このコマンドを使わないでも、モジュールは、 +依存関係の情報を漏れなく提供することでしょう。実際、ゆるやかな依存関係のサポートを +Linux カーネルの内部で実装しようとする作業が、現在進行しています。 .sp -コマンド内に文字列 "$CMDLINE_OPTS" を用いると、 これは modprobe コマンドラインに指定されたオプションに置き換えられます。 -これが役に立つのは、 "modprobe fred opt=1" とした場合に、 モジュールに対しては、 "opt=1" -という引数が受け渡されることが期待されるためです。 たとえ設定ファイル内に install コマンドがあったとしても実現できます。 -したがって先に示したコマンド例は "install fred /sbin/modprobe barney; /sbin/modprobe -\-\-ignore\-install fred $CMDLINE_OPTS" となります。 +このコマンド中で、"$CMDLINE_OPTS" という文字列を使用すると、 +\fBmodprobe\fP のコマンドラインでオプションを指定した場合に、そのオプションが +"$CMDLINE_OPTS" に置き換わります (訳注: このオプションは、上の \fBalias\fP +コマンドの訳注でも述べましたが、\fBmodprobe\fP(8) の「書式」で \fImodule parameter\fP +と言われているもののことです)。この動作は重宝なことがあります。 +なぜなら、ユーザとしては、"modprobe fred opt=1" とコマンドライン上で指定したら、 +設定ファイル中に \fBinstall\fP コマンドが存在する場合でも、モジュールに +"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 を使って) 直接指定する場合と、 -そのモジュールに依存したモジュールが登録される場合があります。 +このコマンドを使えば、モジュール \fImodulename\fP (エイリアスであっても構いません) +がカーネルに組み込まれるたびに、それにオプションを付け加えることができます。 +組み込みは、(\fBmodprobe \fP \fImodulename\fP を使って) 直接行われるか、 +組み込もうとするモジュールがこのモジュールに依存しているために行われるかを問いません。 .sp -オプションは、 すべてまとめて追加されます。 つまりオプションは、 モジュール自体への指定、 エイリアスへの指定、 コマンドラインからの指定すべてです。 +すべてのオプションは、まとめて付け加えられます。そうしたオプションには、 +モジュールそのものやエイリアスに対して \fBoptions\fP +コマンドで指定したものあれば、コマンドラインで指定したものもあるわけです。 .RE .PP remove \fImodulename\fP \fIcommand\&.\&.\&.\fP .RS 4 -これは上で示した \fBinstall\fP コマンドに似ていますが、 違うところは、 "modprobe \-r" が実行されている際に呼び出される点です。 +これは上記の \fBinstall\fP コマンドに似ていますが、"modprobe \-r" +が実行されるときに、呼び出される点が異なっています。 .RE .PP softdep \fImodulename\fP pre: \fImodules\&.\&.\&.\fP post: \fImodules\&.\&.\&.\fP .RS 4 -\fBsoftdep\fP コマンドは、 ソフトな、 つまり任意のモジュール依存関係の指定を行います。 \fImodulename\fP は、 -そのような任意のモジュールがインストールされていなくても、 用いることができます。 ただし普通は、 何かの機能が失われることがあります。 たとえば、 -ストレージ HBA に対するドライバーは、 管理機能を利用するために、 別のモジュールがロードされている必要があります。 +\fBsoftdep\fP コマンドを使えば、 +ゆるやかな、すなわち使用・不使用が任意なモジュールの依存関係を指定できます。 +\fImodulename\fP というモジュールは、 +そうした使用・不使用が任意なモジュールをインストールしないでも、使うことができます。 +でも、たいていの場合、何らかの機能が使えないことになります。 +たとえば、ある記憶装置の HBA (ホストバスアダプタ) 用のドライバは、 +管理機能を使うためには、別のモジュールをロードする必要があるかもしれません。 .sp -pre\-deps モジュールと post\-deps モジュールは、 \fImodulename\fP 引数として与えられたメインのモジュールの前後において、 -modprobe がインストール (または削除) しようとする別のモジュール名、 あるいはエイリアス名のリストです。 +前依存モジュールや後依存モジュール (訳注: 上記 \fBsoftdep\fP の書式の pre: や +post: に続く \fImodules\&.\&.\&.\fP) は、\fImodulename\fP +という引数によって指定されたメインモジュールの前後に、\fBmodprobe\fP +が 順番に組み込み (あるいは、取り外し) +を試みるほかのモジュールの名前やエイリアスのリストです。 .sp -例: 設定として "softdep c pre: a b post: d e" が与えられたとします。 "modprobe c" -を実行するということは、 softdep がなかった場合には、 "modprobe a b c d e" を実行することと同じになります。 -\-\-use\-blacklist などのフラグは、 指定されたモジュールすべてに適用されます。 一方で、 モジュールパラメーターは、 モジュール c -にのみ適用されます。 +用例: "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 が優先されます。 +注意: 同じ \fImodulename\fP 引数を取る \fBinstall\fP や \fBremove\fP +コマンドが設定ファイル中にあっても、\fBsoftdep\fP が優先されます。 .RE .SH 互換性 .PP -kmod の将来版においては、 上で説明した \fBinstall\fP の利用を避けるような警告を含めるつもりでいます。 これは、 -カーネル内でのソフトな依存関係のサポートが完成した際に行います。 そういった依存関係は直接モジュール内で行われるようになるため、 そのサポートは、 -本ユーティリティーの既存の softdep サポート機能を補助するものとなります。 +kmod の将来のバージョンでは、上で述べたように、\fBinstall\fP +の使用は避けるべきだとの強い警告が出ることになるでしょう。 +そうなるのは、カーネル中でのゆるやかな依存関係に対するサポートが完成したときのことです。 +そうしたサポートでは、ゆるやかな依存関係の情報をモジュール内で直接提供することによって、 +kmod ユーティリティ内での softdep +による現在のサポートを補完することになるでしょう。 .SH 著作権 .PP -この man ページの元々の著作権表記は Copyright 2004, Rusty Russell, IBM Corporation です。 現在は -Jon Masters その他により保守されています。 +このマニュアルページの最初の版は、"Copyright 2004, Rusty Russell, +IBM Corporation" でした。現在では、Jon Masters ほか数名によって保守されています。 .SH 関連項目 .PP \fBmodprobe\fP(8), \fBmodules.dep\fP(5)