modprobe.conf - ファイルのフォーマットと規約の説明 - Linux コマンド集 一覧表
- 名前
- 説明
- コマンド
- 下位互換性
- 著作権
- 関連項目
名前
modprobe.conf, modprobe.d - modprobe の設定ファイル・ディレクトリ
説明
modprobe
コマンドはモジュールの依存関係に応じて
複数のモジュールを追加したり削除したりできるため、
これらのモジュールにどのオプションを使うかを指定する手段が必要である。
/etc/modprobe.conf
(または /etc/modprobe.conf
が存在しない場合、
/etc/modprobe.d
ディレクトリ以下のすべてのファイル) は
必要に応じてこれらのオプションを指定する。
また、便利なようにエイリアス (モジュールの別名) を作成するためにも用いられる。
最後に、
(複数のモジュールを登録するなどの) 特別な要求に応えるために、
modprobe
の通常の振る舞いを完全に無効にして乗っ取ることができる。
モジュール名やエイリアス名には (他のモジュール名と同様に)
- や _ を含めることができる。
ここで、 - と _ はすべてのモジュールコマンドにおいて、
互いに入れ替え可能である (区別されない) ことに注意。
modprobe.conf
や modprobe.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)
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする