OSDN Git Service

11e9c1ca1fc9da01afeb9a2320d4776086bbf1cc
[linuxjm/jm.git] / manual / modutils / release / man8 / depmod.8
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
5 .\"
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>
12 .\"
13 .TH DEPMOD 8 "January 26, 2002" Linux "Linux Module Support"
14 .SH 名前
15 depmod \- ローダブルカーネルモジュールの依存関係の記述を扱う
16 .SH 書式
17 .B depmod
18 [\-aA] [\-ehnqrsuvV]
19 .RI [\-C\  configfile "] [\-F\ " kernelsyms "] [\-b " basedirectory ]
20 .RI [ forced_version ]
21 .br
22 .B depmod \fR[\-enqrsuv] [\-F \fIkernelsyms\fR] module1.o module2.o ...
23 .SH 説明
24 .B depmod
25 および
26 .B modprobe
27 は、 Linux のモジュール化カーネルを管理するための、
28 ユーザー・管理者・ディストリビューションメンテナ向けユーティリティである。
29 .PP
30 .B depmod
31 は、コマンドラインで指定されたモジュール
32 (あるいは設定ファイルで指定されたディレクトリにあるモジュール)
33 のセットにあるシンボルに基づき、
34 "Makefile" 的な依存関係ファイルを作成する。
35 .PP
36 .B depmod
37 の普通の使い方は、
38 .I /etc/rc.d
39 にある rc ファイルのどれかに
40
41 .br
42 .B "/sbin/depmod -a"
43 .br
44
45 という行を入れることである。
46 これにより、正しいモジュールの依存関係をシステムの起動直後に使用できる。
47 現在は
48 .B \-a
49 オプションは省略可能である。
50 起動時には、
51 .B \-q
52 オプションの方がより適切である。
53 こちらは解決できなかったシンボルに関するワーニングを出力しない。
54 .PP
55 新しいカーネルのコンパイル直後に依存関係ファイルを作成することもできる。
56 例えば 2.2.98 カーネルのもとで
57 カーネル 2.2.99 とそのモジュールを初めてコンパイルしたとき、
58 "\fBdepmod\ -a\ 2.2.99\fR" とすれば、正しい位置にファイルが作成される。
59 しかしこの場合、
60 カーネルへの依存関係は正しいとは保証されない。
61 この扱いに関しては、上記の
62 .BR \-F ", " \-C ", " \-b
63 各オプションの説明を参照のこと。
64 .PP
65 モジュールと、他のモジュールからエクスポートされたシンボルとの関係を
66 構築する際に、
67 .B depmod
68 はモジュールやエクスポートされたシンボルの GPL 状態を考慮しない。
69 つまり、depmod は GPL 互換でないライセンスのモジュールが GPL 専用シンボル
70 (カーネル中の EXPORT_SYMBOL_GPL)を参照してもエラーを出さない。
71 しかし、insmod は 非 GPL モジュールを GPL 専用シンボルで解決することを
72 拒否するので、実際の読み込みは失敗する。
73 .SH オプション
74 .TP
75 .BR \-a ", " \-\-all
76 設定ファイル
77 .I /etc/modules.conf
78 があれば、そこで指定されている全てのディレクトリでモジュールを検索する。
79 .TP
80 .BR \-A ", " \-\-quick
81 ファイルのタイムスタンプを比較し、さらに必要ならば
82 .B "depmod \-a"
83 と同じように振る舞う。
84 このオプションは、何か変更があった場合にのみ
85 依存関係ファイルを更新する。
86 .TP
87 .BR \-e ", " \-\-errsyms
88 各モジュールごとに、解決されていない全てのシンボルを表示する。
89 .TP
90 .BR \-h ", " \-\-help
91 オプションの一覧を表示して直ちに終了する。
92 .TP
93 .BR \-n ", " \-\-show
94 依存関係ファイルを\fI/lib/modules\fR以下ではなく標準出力に書き出す。
95 .TP
96 .BR \-q ", " \-\-quiet
97 quiet モード。見付からないシンボルがあっても文句を言わない。
98 .TP
99 .BR \-r ", " \-\-root
100 ユーザによっては、モジュールを root 以外のユーザー ID でコンパイルし、
101 そのモジュールを root でインストールすることがある。
102 このプロセスでは、モジュールの所有者が root 以外のユーザー ID
103 のままになることがある (ディレクトリの所有者が root であっても)。
104 非 root のユーザー ID を許してしまうと、
105 侵入者がそのユーザー ID 保有のモジュールを置き換えることが
106 可能になるかもしれず、
107 これをきっかけに root アクセスを奪取されてしまうかもしれない。
108 .sp
109 デフォルトでは、 modutils は root の所有でないモジュールの利用を
110 拒否しようとする。 \fB\-r\fR を指定すると、このエラーを抑制し、
111 root 以外の所有するモジュールを root がロードできるようになる。
112 .sp
113 \-r の利用は大きなセキュリティ上の危険を招く可能性があり、推奨できない。
114 .TP
115 .BR \-s ", " \-\-syslog
116 全てのエラーメッセージを、標準出力ではなく syslog デーモン経由で書き出す。
117 .TP
118 .BR \-u ", " \-\-unresolved-error
119 \fBdepmod\fR 2.4 は解決できないシンボルがあったときには返り値を設定しない。
120 次の modutils のメジャーリリース (2.5) では、
121 解決できないシンボルに対して返り値を設定する予定である。
122 modutils 2.4 に対して非ゼロの返り値を期待している
123 ディストリビューションもあるが、
124 この変更は古い動作を期待しているユーザに対して問題を引き起こすかもしれない。
125 depmod 2.4 に非ゼロの返り値を希望する場合は \fB\-u\fR を指定すること。
126 \fBdepmod\fR 2.5 は \fB\-u\fR フラグを黙って無視し、
127 解決できないシンボルがあった場合には常に非ゼロの返り値を戻す。
128 .TP
129 .BR \-v ", " \-\-verbose
130 各モジュールを処理するごとに、それらのモジュールの名前を表示する。
131 .TP
132 .I \-V
133 \fBdepmod\fR のバージョンを表示する。
134 .PP
135 以下のオプションは、ディストリビューションを管理する人々に便利であろう。
136 .TP
137 \fB\-b \fIbasedirectory\fR, \fB\-\-basedir \fIbasedirectory
138 環境を変更するために、モジュールのサブツリーが含まれるディレクトリツリー
139 .I /lib/modules
140 をどこか別の場所に移したい場合、
141 その移動された
142 .I /lib/modules
143 イメージを探す場所を
144 .B \-b
145 オプションを使って depmod に伝える。
146 depmod が出力するファイル
147 .I modules.dep
148 におけるファイル参照は、
149 .I basedirectory
150 パスを含まない。
151 すなわち、最終的なディストリビューションでファイルツリーが
152 .I basedirectory/lib/modules
153 から
154 .I /lib/modules
155 に戻されても、全ての参照は正しく利用できる。
156 .TP
157 \fB\-C \fIconfigfile\fR, \fB\-\-config \fIconfigfile
158 .I configfile
159
160 .I /etc/modules.conf
161 の代わりに用いる。
162 環境変数
163 .B MODULECONF
164 を使っても、設定ファイルを
165 .I /etc/modules.conf
166 (あるいは
167 .I /etc/conf.modules
168 (使わないほうが良い))
169 以外に指定できる。
170 .TP
171 環境変数
172 .B UNAME_MACHINE
173 をセットすると、modutils は uname() システムコールの machine フィールドの
174 代わりにこの変数の値を用いる。
175 これは主に 32 ビットユーザー空間で 64 ビットモジュールをコンパイルする
176 (またはその逆)場合に用いる。
177 現在の modutils はモジュールに対する完全なクロスビルドモードに対応しておらず、
178 ホストアーキテクチャの 32 ビット版と 64 ビット版を選択できるだけである。
179 .TP
180 \fB\-F kernelsyms\fR,\fB\-\-filesyms \fIkernelsyms
181 現在実行されているカーネルとは
182 別のカーネルに対して依存関係ファイルを作成する場合、
183 .B depmod
184 に正しいカーネルシンボルのセットを利用させ、
185 各モジュールのカーネル参照を正しく解決させることが重要である。
186 これらのシンボルには、他のカーネルの
187 .I System.map
188 のコピーか、あるいは
189 .I /proc/ksyms
190 の出力のコピーを使える。
191 利用しているカーネルがバージョン付きのシンボルを使っている場合は、
192 .I /proc/ksyms
193 の出力を用いるのがもっともよい。なぜならこのファイルには
194 カーネルシンボルのシンボルバージョンが含まれているからである。
195 しかしバージョン付きのシンボルに対して
196 .I System.map
197 を使ってもかまわない。
198 .SH 設定
199 .B depmod
200
201 .B modprobe
202 の動作は、設定ファイル
203 .I /etc/modules.conf
204 によって調整できる (このファイルは無くても良い)。
205 詳細は
206 .BR modprobe (8)
207 および
208 .BR modules.conf (5)
209 を参照のこと。
210 .SH 方針
211 新しいカーネルをコンパイルして、
212 コマンド "\fBmake modules_install\fR" を実行すると、
213 新しいディレクトリが作成されるがデフォルトは変更されない。
214 .\"NAKANO なんの default?
215 .PP
216 カーネル配布に含まれないモジュールを利用したい場合は、
217 そのファイルは、 
218 .I /lib/modules
219 以下の、
220 カーネルバージョンに関係しないディレクトリに置くのが良い。
221 .PP
222 これはデフォルトの方針であるが、
223 /etc/modules.conf によって変更できる。
224 .SH ファイル
225 .nf
226 .IR /etc/modules.conf (あるいは /etc/conf.modules (非推奨)) ,
227 .IR /lib/modules/*/modules.dep ,
228 .I /lib/modules/*
229 .fi
230 .SH 関連項目
231 .BR modules.conf "(5), " modprobe "(8), "  modinfo "(8), "
232 .BR lsmod "(8), " ksyms "(8) "
233 .SH バグ
234 \fBdepmod\fR [ \-V | \-\-version ] は直ちに終了するべきである。
235 しかしながら、現在はバージョン情報を表示した後、
236 何もオプションが指定されなかったかのように振舞う。
237 .SH 著者
238 Jacques Gelinas (jack@solucorp.qc.ca)
239 .br
240 Bjorn Ekwall (bj0rn@blox.se)