1 .\" Copyright (c) 1994, 1995 Jacques Gelinas (jacques@solucorp.qc.ca)
2 .\" Copyright (c) 1995, 1999 Bjorn Ekwall (bj0rn@blox.se)
3 .\" This program is distributed according to the Gnu General Public License.
4 .\" See the file COPYING in the base distribution directory
6 .\" Translated Sun Aug 15 10:53:46 JST 1999
7 .\" by FUJIWARA Teruyoshi <fujiwara@linux.or.jp>
8 .\" Updated Thu 12 Oct 2000 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
9 .\" Updated Sat 5 Jan 2002 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
10 .\" Updated Fri 24 Apr 2002 by Kentaro Shirakata <argrath@ub32.org>
11 .\" Updated Sun 23 Feb 2003 by Kentaro Shirakata <argrath@ub32.org>
13 .TH DEPMOD 8 "January 26, 2002" Linux "Linux Module Support"
15 depmod \- ローダブルカーネルモジュールの依存関係の記述を扱う
19 .RI [\-C\ configfile "] [\-F\ " kernelsyms "] [\-b " basedirectory ]
20 .RI [ forced_version ]
22 .B depmod \fR[\-enqrsuv] [\-F \fIkernelsyms\fR] module1.o module2.o ...
27 は、 Linux のモジュール化カーネルを管理するための、
28 ユーザー・管理者・ディストリビューションメンテナ向けユーティリティである。
32 (あるいは設定ファイルで指定されたディレクトリにあるモジュール)
34 "Makefile" 的な依存関係ファイルを作成する。
46 これにより、正しいモジュールの依存関係をシステムの起動直後に使用できる。
53 こちらは解決できなかったシンボルに関するワーニングを出力しない。
55 新しいカーネルのコンパイル直後に依存関係ファイルを作成することもできる。
57 カーネル 2.2.99 とそのモジュールを初めてコンパイルしたとき、
58 "\fBdepmod\ -a\ 2.2.99\fR" とすれば、正しい位置にファイルが作成される。
60 カーネルへの依存関係は正しいとは保証されない。
62 .BR \-F ", " \-C ", " \-b
65 モジュールと、他のモジュールからエクスポートされたシンボルとの関係を
68 はモジュールやエクスポートされたシンボルの GPL 状態を考慮しない。
69 つまり、depmod は GPL 互換でないライセンスのモジュールが GPL 専用シンボル
70 (カーネル中の EXPORT_SYMBOL_GPL)を参照してもエラーを出さない。
71 しかし、insmod は 非 GPL モジュールを GPL 専用シンボルで解決することを
78 があれば、そこで指定されている全てのディレクトリでモジュールを検索する。
80 .BR \-A ", " \-\-quick
81 ファイルのタイムスタンプを比較し、さらに必要ならば
84 このオプションは、何か変更があった場合にのみ
87 .BR \-e ", " \-\-errsyms
88 各モジュールごとに、解決されていない全てのシンボルを表示する。
94 依存関係ファイルを\fI/lib/modules\fR以下ではなく標準出力に書き出す。
96 .BR \-q ", " \-\-quiet
97 quiet モード。見付からないシンボルがあっても文句を言わない。
100 ユーザによっては、モジュールを root 以外のユーザー ID でコンパイルし、
101 そのモジュールを root でインストールすることがある。
102 このプロセスでは、モジュールの所有者が root 以外のユーザー ID
103 のままになることがある (ディレクトリの所有者が root であっても)。
104 非 root のユーザー ID を許してしまうと、
105 侵入者がそのユーザー ID 保有のモジュールを置き換えることが
107 これをきっかけに root アクセスを奪取されてしまうかもしれない。
109 デフォルトでは、 modutils は root の所有でないモジュールの利用を
110 拒否しようとする。 \fB\-r\fR を指定すると、このエラーを抑制し、
111 root 以外の所有するモジュールを root がロードできるようになる。
113 \-r の利用は大きなセキュリティ上の危険を招く可能性があり、推奨できない。
115 .BR \-s ", " \-\-syslog
116 全てのエラーメッセージを、標準出力ではなく syslog デーモン経由で書き出す。
118 .BR \-u ", " \-\-unresolved-error
119 \fBdepmod\fR 2.4 は解決できないシンボルがあったときには返り値を設定しない。
120 次の modutils のメジャーリリース (2.5) では、
121 解決できないシンボルに対して返り値を設定する予定である。
122 modutils 2.4 に対して非ゼロの返り値を期待している
124 この変更は古い動作を期待しているユーザに対して問題を引き起こすかもしれない。
125 depmod 2.4 に非ゼロの返り値を希望する場合は \fB\-u\fR を指定すること。
126 \fBdepmod\fR 2.5 は \fB\-u\fR フラグを黙って無視し、
127 解決できないシンボルがあった場合には常に非ゼロの返り値を戻す。
129 .BR \-v ", " \-\-verbose
130 各モジュールを処理するごとに、それらのモジュールの名前を表示する。
133 \fBdepmod\fR のバージョンを表示する。
135 以下のオプションは、ディストリビューションを管理する人々に便利であろう。
137 \fB\-b \fIbasedirectory\fR, \fB\-\-basedir \fIbasedirectory
138 環境を変更するために、モジュールのサブツリーが含まれるディレクトリツリー
145 オプションを使って depmod に伝える。
151 すなわち、最終的なディストリビューションでファイルツリーが
152 .I basedirectory/lib/modules
155 に戻されても、全ての参照は正しく利用できる。
157 \fB\-C \fIconfigfile\fR, \fB\-\-config \fIconfigfile
173 をセットすると、modutils は uname() システムコールの machine フィールドの
175 これは主に 32 ビットユーザー空間で 64 ビットモジュールをコンパイルする
177 現在の modutils はモジュールに対する完全なクロスビルドモードに対応しておらず、
178 ホストアーキテクチャの 32 ビット版と 64 ビット版を選択できるだけである。
180 \fB\-F kernelsyms\fR,\fB\-\-filesyms \fIkernelsyms
182 別のカーネルに対して依存関係ファイルを作成する場合、
184 に正しいカーネルシンボルのセットを利用させ、
185 各モジュールのカーネル参照を正しく解決させることが重要である。
191 利用しているカーネルがバージョン付きのシンボルを使っている場合は、
193 の出力を用いるのがもっともよい。なぜならこのファイルには
194 カーネルシンボルのシンボルバージョンが含まれているからである。
204 によって調整できる (このファイルは無くても良い)。
212 コマンド "\fBmake modules_install\fR" を実行すると、
213 新しいディレクトリが作成されるがデフォルトは変更されない。
214 .\"NAKANO なんの default?
216 カーネル配布に含まれないモジュールを利用したい場合は、
220 カーネルバージョンに関係しないディレクトリに置くのが良い。
223 /etc/modules.conf によって変更できる。
226 .IR /etc/modules.conf (あるいは /etc/conf.modules (非推奨)) ,
227 .IR /lib/modules/*/modules.dep ,
231 .BR modules.conf "(5), " modprobe "(8), " modinfo "(8), "
232 .BR lsmod "(8), " ksyms "(8) "
234 \fBdepmod\fR [ \-V | \-\-version ] は直ちに終了するべきである。
235 しかしながら、現在はバージョン情報を表示した後、
236 何もオプションが指定されなかったかのように振舞う。
238 Jacques Gelinas (jack@solucorp.qc.ca)
240 Bjorn Ekwall (bj0rn@blox.se)