modprobe.conf - modprobe
の設定ファイル
modprobe
コマンドはモジュールの依存関係に応じて
複数のモジュールを追加したり削除したりできるため、
これらのモジュールにどのオプションを使うかを指定する手段が必要である。
/etc/modprobe.conf (または
/etc/modprobe.conf
が存在しない場合、
/etc/modprobe.d
ディレクトリ以下のすべてのファイル)
は
必要に応じてこれらのオプションを指定する。
また、便利なようにエイリアス
(モジュールの別名)
を作成するためにも用いられる。
最後に、
(複数のモジュールを登録するなどの)
特別な要求に応えるために、
modprobe
の通常の振る舞いを完全に無効にして乗っ取ることができる。
モジュール名やエイリアス名には
(他のモジュール名と同様に)
- や _
を含めることができる。
ここで、 - と _
はすべてのモジュールコマンドにおいて、
互いに入れ替え可能である
(区別されない)
ことに注意。
modprobe.conf や
modprobe.d
以下のファイルの形式は単純である。
1 行に 1 コマンドで、
空行と #
で始まる行は無視される
(コメントを追加するのに使える)
。 行末の \
は次の行に続くことを意味し、これを使えばファイルが少し見やすくなる。
書式は
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 を試す。
- 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
- このコマンドを使うと、
他の設定ファイルまたはディレクトリ全体を読み込むことができ、
これが便利なこともある。
読み込まれたファイル中のエイリアスは
現在のファイルで定義されたエイリアスを上書きすることに注意。
下位互換性¶
現在の (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)