File: depmod.8

package info (click to toggle)
manpages-ja 0.5.0.0.20120606-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 25,964 kB
  • sloc: perl: 161; makefile: 116
file content (240 lines) | stat: -rw-r--r-- 10,152 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
.\" Copyright (c) 1994, 1995 Jacques Gelinas (jacques@solucorp.qc.ca)
.\" Copyright (c) 1995, 1999 Bjorn Ekwall (bj0rn@blox.se)
.\" This program is distributed according to the Gnu General Public License.
.\" See the file COPYING in the base distribution directory
.\"
.\" Translated Sun Aug 15 10:53:46 JST 1999
.\"         by FUJIWARA Teruyoshi <fujiwara@linux.or.jp>
.\" Updated Thu 12 Oct 2000 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\" Updated Sat 5 Jan 2002 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
.\" Updated Fri 24 Apr 2002 by Kentaro Shirakata <argrath@ub32.org>
.\" Updated Sun 23 Feb 2003 by Kentaro Shirakata <argrath@ub32.org>
.\"
.TH DEPMOD 8 "January 26, 2002" Linux "Linux Module Support"
.SH 名前
depmod \- ローダブルカーネルモジュールの依存関係の記述を扱う
.SH 書式
.B depmod
[\-aA] [\-ehnqrsuvV]
.RI [\-C\  configfile "] [\-F\ " kernelsyms "] [\-b " basedirectory ]
.RI [ forced_version ]
.br
.B depmod \fR[\-enqrsuv] [\-F \fIkernelsyms\fR] module1.o module2.o ...
.SH 説明
.B depmod
および
.B modprobe
は、 Linux のモジュール化カーネルを管理するための、
ユーザー・管理者・ディストリビューションメンテナ向けユーティリティである。
.PP
.B depmod
は、コマンドラインで指定されたモジュール
(あるいは設定ファイルで指定されたディレクトリにあるモジュール)
のセットにあるシンボルに基づき、
"Makefile" 的な依存関係ファイルを作成する。
.PP
.B depmod
の普通の使い方は、
.I /etc/rc.d
にある rc ファイルのどれかに

.br
.B "/sbin/depmod -a"
.br

という行を入れることである。
これにより、正しいモジュールの依存関係をシステムの起動直後に使用できる。
現在は
.B \-a
オプションは省略可能である。
起動時には、
.B \-q
オプションの方がより適切である。
こちらは解決できなかったシンボルに関するワーニングを出力しない。
.PP
新しいカーネルのコンパイル直後に依存関係ファイルを作成することもできる。
例えば 2.2.98 カーネルのもとで
カーネル 2.2.99 とそのモジュールを初めてコンパイルしたとき、
"\fBdepmod\ -a\ 2.2.99\fR" とすれば、正しい位置にファイルが作成される。
しかしこの場合、
カーネルへの依存関係は正しいとは保証されない。
この扱いに関しては、上記の
.BR \-F ", " \-C ", " \-b
各オプションの説明を参照のこと。
.PP
モジュールと、他のモジュールからエクスポートされたシンボルとの関係を
構築する際に、
.B depmod
はモジュールやエクスポートされたシンボルの GPL 状態を考慮しない。
つまり、depmod は GPL 互換でないライセンスのモジュールが GPL 専用シンボル
(カーネル中の EXPORT_SYMBOL_GPL)を参照してもエラーを出さない。
しかし、insmod は 非 GPL モジュールを GPL 専用シンボルで解決することを
拒否するので、実際の読み込みは失敗する。
.SH オプション
.TP
.BR \-a ", " \-\-all
設定ファイル
.I /etc/modules.conf
があれば、そこで指定されている全てのディレクトリでモジュールを検索する。
.TP
.BR \-A ", " \-\-quick
ファイルのタイムスタンプを比較し、さらに必要ならば
.B "depmod \-a"
と同じように振る舞う。
このオプションは、何か変更があった場合にのみ
依存関係ファイルを更新する。
.TP
.BR \-e ", " \-\-errsyms
各モジュールごとに、解決されていない全てのシンボルを表示する。
.TP
.BR \-h ", " \-\-help
オプションの一覧を表示して直ちに終了する。
.TP
.BR \-n ", " \-\-show
依存関係ファイルを\fI/lib/modules\fR以下ではなく標準出力に書き出す。
.TP
.BR \-q ", " \-\-quiet
quiet モード。見付からないシンボルがあっても文句を言わない。
.TP
.BR \-r ", " \-\-root
ユーザによっては、モジュールを root 以外のユーザー ID でコンパイルし、
そのモジュールを root でインストールすることがある。
このプロセスでは、モジュールの所有者が root 以外のユーザー ID
のままになることがある (ディレクトリの所有者が root であっても)。
非 root のユーザー ID を許してしまうと、
侵入者がそのユーザー ID 保有のモジュールを置き換えることが
可能になるかもしれず、
これをきっかけに root アクセスを奪取されてしまうかもしれない。
.sp
デフォルトでは、 modutils は root の所有でないモジュールの利用を
拒否しようとする。 \fB\-r\fR を指定すると、このエラーを抑制し、
root 以外の所有するモジュールを root がロードできるようになる。
.sp
\-r の利用は大きなセキュリティ上の危険を招く可能性があり、推奨できない。
.TP
.BR \-s ", " \-\-syslog
全てのエラーメッセージを、標準出力ではなく syslog デーモン経由で書き出す。
.TP
.BR \-u ", " \-\-unresolved-error
\fBdepmod\fR 2.4 は解決できないシンボルがあったときには返り値を設定しない。
次の modutils のメジャーリリース (2.5) では、
解決できないシンボルに対して返り値を設定する予定である。
modutils 2.4 に対して非ゼロの返り値を期待している
ディストリビューションもあるが、
この変更は古い動作を期待しているユーザに対して問題を引き起こすかもしれない。
depmod 2.4 に非ゼロの返り値を希望する場合は \fB\-u\fR を指定すること。
\fBdepmod\fR 2.5 は \fB\-u\fR フラグを黙って無視し、
解決できないシンボルがあった場合には常に非ゼロの返り値を戻す。
.TP
.BR \-v ", " \-\-verbose
各モジュールを処理するごとに、それらのモジュールの名前を表示する。
.TP
.I \-V
\fBdepmod\fR のバージョンを表示する。
.PP
以下のオプションは、ディストリビューションを管理する人々に便利であろう。
.TP
\fB\-b \fIbasedirectory\fR, \fB\-\-basedir \fIbasedirectory
環境を変更するために、モジュールのサブツリーが含まれるディレクトリツリー
.I /lib/modules
をどこか別の場所に移したい場合、
その移動された
.I /lib/modules
イメージを探す場所を
.B \-b
オプションを使って depmod に伝える。
depmod が出力するファイル
.I modules.dep
におけるファイル参照は、
.I basedirectory
パスを含まない。
すなわち、最終的なディストリビューションでファイルツリーが
.I basedirectory/lib/modules
から
.I /lib/modules
に戻されても、全ての参照は正しく利用できる。
.TP
\fB\-C \fIconfigfile\fR, \fB\-\-config \fIconfigfile
.I configfile
.I /etc/modules.conf
の代わりに用いる。
環境変数
.B MODULECONF
を使っても、設定ファイルを
.I /etc/modules.conf
(あるいは
.I /etc/conf.modules
(使わないほうが良い))
以外に指定できる。
.TP
環境変数
.B UNAME_MACHINE
をセットすると、modutils は uname() システムコールの machine フィールドの
代わりにこの変数の値を用いる。
これは主に 32 ビットユーザー空間で 64 ビットモジュールをコンパイルする
(またはその逆)場合に用いる。
現在の modutils はモジュールに対する完全なクロスビルドモードに対応しておらず、
ホストアーキテクチャの 32 ビット版と 64 ビット版を選択できるだけである。
.TP
\fB\-F kernelsyms\fR,\fB\-\-filesyms \fIkernelsyms
現在実行されているカーネルとは
別のカーネルに対して依存関係ファイルを作成する場合、
.B depmod
に正しいカーネルシンボルのセットを利用させ、
各モジュールのカーネル参照を正しく解決させることが重要である。
これらのシンボルには、他のカーネルの
.I System.map
のコピーか、あるいは
.I /proc/ksyms
の出力のコピーを使える。
利用しているカーネルがバージョン付きのシンボルを使っている場合は、
.I /proc/ksyms
の出力を用いるのがもっともよい。なぜならこのファイルには
カーネルシンボルのシンボルバージョンが含まれているからである。
しかしバージョン付きのシンボルに対して
.I System.map
を使ってもかまわない。
.SH 設定
.B depmod
.B modprobe
の動作は、設定ファイル
.I /etc/modules.conf
によって調整できる (このファイルは無くても良い)。
詳細は
.BR modprobe (8)
および
.BR modules.conf (5)
を参照のこと。
.SH 方針
新しいカーネルをコンパイルして、
コマンド "\fBmake modules_install\fR" を実行すると、
新しいディレクトリが作成されるがデフォルトは変更されない。
.\"NAKANO なんの default?
.PP
カーネル配布に含まれないモジュールを利用したい場合は、
そのファイルは、 
.I /lib/modules
以下の、
カーネルバージョンに関係しないディレクトリに置くのが良い。
.PP
これはデフォルトの方針であるが、
/etc/modules.conf によって変更できる。
.SH ファイル
.nf
.IR /etc/modules.conf (あるいは /etc/conf.modules (非推奨)) ,
.IR /lib/modules/*/modules.dep ,
.I /lib/modules/*
.fi
.SH 関連項目
.BR modules.conf "(5), " modprobe "(8), "  modinfo "(8), "
.BR lsmod "(8), " ksyms "(8) "
.SH バグ
\fBdepmod\fR [ \-V | \-\-version ] は直ちに終了するべきである。
しかしながら、現在はバージョン情報を表示した後、
何もオプションが指定されなかったかのように振舞う。
.SH 著者
Jacques Gelinas (jack@solucorp.qc.ca)
.br
Bjorn Ekwall (bj0rn@blox.se)