MODPROBE.CONF

Section: (5)
Updated: 1 June 2005
Index JM Home Page roff page

 

名前

modprobe.conf, modprobe.d - modprobe の設定ファイル・ディレクトリ  

説明

modprobe コマンドはモジュールの依存関係に応じて 複数のモジュールを追加したり削除したりできるため、 これらのモジュールにどのオプションを使うかを指定する手段が必要である。 /etc/modprobe.conf (または /etc/modprobe.conf が存在しない場合、 /etc/modprobe.d ディレクトリ以下のすべてのファイル) は 必要に応じてこれらのオプションを指定する。 また、便利なようにエイリアス (モジュールの別名) を作成するためにも用いられる。 最後に、 (複数のモジュールを登録するなどの) 特別な要求に応えるために、 modprobe の通常の振る舞いを完全に無効にして乗っ取ることができる。

モジュール名やエイリアス名には (他のモジュール名と同様に) - や _ を含めることができる。 ここで、 - と _ はすべてのモジュールコマンドにおいて、 互いに入れ替え可能である (区別されない) ことに注意。

modprobe.confmodprobe.d 以下のファイルの形式は単純である。 1 行に 1 コマンドで、 空行と # で始まる行は無視される (コメントを追加するのに使える) 。 行末の \ は次の行に続くことを意味し、これを使えばファイルが少し見やすくなる。

書式は 2.4 以前のカーネルで使われていた modules.conf を 簡単にしたものである。  

コマンド

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" も同じ効果となる。 他のエイリアスに対するエイリアスを設定することはできない (正しく動作しない) が、 エイリアスにオプションを設定することができ、 それらは他のオプションに追加される。 モジュールはそれ自身にエイリアスを持つことができる点に注意。 それらは modinfo で見ることができる。 これらのエイリアスは最後の望みとして使われる (つまり、その名前の実モジュールもなく、設定ファイル中に その名前の install, remove, alias コマンドが 存在しない場合に使われる) 。
options modulename option...
このコマンドで モジュール modulename (エイリアスも可) に オプションを追加することができる。 ここで設定されたオプションは カーネルに登録される際に毎回使われ、 (modprobe modulename で) 直接登録される場合にも そのモジュールに依存するモジュールと一緒に登録される場合にも 使われる。

モジュール自身に対する option 、 エイリアスに対する option 、 コマンドラインのオプションは、 全てのオプションがいっしょに渡される。

install modulename command...
modprobe.conf の中でもっとも強力なコマンドである。 modprobe は、 通常はカーネルにモジュールを登録するが、 install コマンドを記述すると、 代わりにここで指定された command を実行する。 command はどんなシェルコマンドでもよい。 そのため、どんな複雑な処理でも思いどおりに指定できる。 例えば、モジュール "fred" が、 "barney" がインストールされている状態のほうが うまく動作する (が依存関係にないので modprobe が自動的にロードしない) 場合、 "install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred" と書けば、 望みどおりのことをさせることができる。 ここで、 --ignore-install は 2 番目の modprobe が同じ install コマンドを 再び実行しないようにするためのものである。 remove も参照。

install を使って、 実際には存在しないモジュールを作ることもできる。 例えば、 "install probe-ethernet /sbin/modprobe e100 || /sbin/modprobe eepro100" と書けば、 "modprobe probe-ethernet" としたときに、 まず e100 ドライバを試し、次に eepro100 を試す。

コマンドの中で "$CMDLINE_OPTS" という文字列を使うと、 modprobe のコマンドラインで指定したオプションに置き換えられる。 これを使うと、 設定ファイルに install コマンドが存在していても、 ユーザは "modprobe fred opt=1" というコマンドラインで モジュールに "opt=1" というオプションを渡すことができ、便利である。 つまり、上の例では設定ファイルに "install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred $CMDLINE_OPTS" のように書けばよい。

remove modulename command...
上の install コマンドと同様であるが、 "modprobe -r" が呼び出されたときに実行される。 上の 2 つの例を削除にあてはめると、 "remove fred /sbin/modprobe -r --ignore-remove fred && /sbin/modprobe -r barney" および "remove probe-ethernet /sbin/modprobe -r eepro100 || /sbin/modprobe -r e100" のようになる。
include filename
このコマンドを使うと、 他の設定ファイルまたはディレクトリ全体を読み込むことができ、 これが便利なこともある。 読み込まれたファイル中のエイリアスは 現在のファイルで定義されたエイリアスを上書きすることに注意。
blacklist modulename
モジュールはそれ自身にエイリアスを持つことができる。 通常、これらは "pci:123..." といったように、 サポートするデバイスを表すエイリアスである。 これらの「内部」エイリアスは 通常の "alias" キーワードで上書きすることができる。 しかし、 2 つ以上のモジュールが同じデバイスをサポートする場合や、 モジュールがサポートしないデバイスをサポートするとしている場合もある。 このような場合、 blacklist キーワードを使って、 あるモジュールのすべての内部エイリアスを無視させることができる。
 

下位互換性

現在の (2.4 または 2.2 の) モジュール設定から modprobe.conf を生成してくれる generate_modprobe.conf というプログラムがある。

書式は以前の /etc/modules.conf と似ているが、 多くの機能が削除されている。 これには 2 つの理由がある: まず、 install および remove コマンドでほとんど何でもできる。 二つ目に、 module-init-tools の modprobe は 他のツールで簡単に置き換えることができるよう、 十分単純になるように設計されている。

実際のモジュールの登録の複雑さが 3 つのシステムコール (open, read, init_module) で軽減され、 modules.dep ファイルが単純でオープンであるおかげで、 もし必要があればもっと強力な改良版の modprobe を作ることも可能である。  

著作権

このマニュアルページの著作権表示は Copyright 2004, Rusty Russell, IBM Corporation.  

関連項目

modprobe(8), modules.dep(5)


 

Index

名前
説明
コマンド
下位互換性
著作権
関連項目

This document was created by man2html, using the manual pages.
Time: 04:32:35 GMT, November 19, 2007