Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all 

名前
depmod - modules.dep とマップファイルを生成する
書式
depmod [-b basedir] [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-A] [-P prefix] [-w] [version]
depmod [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-P prefix] [-w] [version] [filename...]
説明
Linux のカーネルモジュールは、(「シンボル」と呼ばれる) サービスを (コード中で EXPORT_SYMBOL バリアントの
1 つを使用して) ほかのモジュールが使えるように提供することができます。 あるモジュールがそうしたシンボルを
使用している場合、 そのモジュールがシンボルを提供する側のモジュールに依存していることは明白です。 こうし
た依存関係は、かなり複雑になることがあります。
depmod は、/lib/modules/version 以下にある各モジュールを読み込み、 それがどんなシンボルをエクスポート
し、どんなシンボルを必要としているかを特定して、 モジュールの依存関係のリストを作成します。デフォルトで
は、このリストは、 上記ディレクトリに置かれる modules.dep と、それをバイナリハッシュ化した
modules.dep.bin という名前のファイルに書き込まれます。 なお、ファイル名をコマンドラインで指定した場合
は、そうしたモジュールのみが調べられます (すべてのモジュールを指定しないかぎり、これが役に立つことはめっ
たにありません)。 depmod はまた、モジュールが提供するシンボルのリストを作成し、modules.symbols というファ
イルと、そのバイナリハッシュ版の modules.symbols.bin に書き込みます。最後に、depmod は、モジュールがスペ
シャルデバイス名を供給している場合は、modules.devname という名前のファイルを出力します。そうしたスペシャ
ルデバイス名は、普通ブート時に (systemd-tmpfiles のようなユーティリティによって) /dev ディレクトリに配置
されます。
引数に version を指定した場合は、現在稼働中のカーネルバージョン (uname -r で返ってくるもの) ではなく、指
定したカーネルバージョンのモジュールディレクトリが使用されます。
オプション
-a, --all
すべてのモジュールを調べます。このオプションは、 コマンドラインでファイル名を一つも指定しなかった場
合、デフォルトで有効になります。
-A, --quick
このオプションを指定すると、処理を行う前にモジュール群にざっと目を通して、 modules.dep ファイルより新
しいモジュールがあるかどうかを調べます。もしなければ、 modules.dep などのファイルを作り直さず、何の
メッセージも出さずに終了します。
-b basedir, --basedir basedir
対象となるモジュール群が、現在、(標準の) ディレクトリ /lib/modules/version になく、準備領域 (a
staging area) にある場合、 準備領域で標準ディレクトリ名に先行するディレクトリ名 basedir を指定するこ
とができます。この basename は、作成される modules.dep ファイルでは取り除かれるので、作成されたファイ
ルは、 そのまま標準の場所に移動することができます。あなたがディストリビューターであり、 depmod を後で
あらためて実行しないでも済むように、 一連のメタデータファイルを前もって作っておく必要があるならば、
このオプションを使用するとよいでしょう。
-C, --config file or directory
/etc/depmod.d にあるデフォルトの設定ディレクトリの代わりに、 このオプションで指定するものを使用しま
す。
-e, --errsyms
このオプションは、-F オプションと一緒に使用した場合、 あるモジュールが必要としているシンボルに、 ほか
のモジュールやカーネルによって供給されていないものがあると、 そのシンボルを報告します。通常、モジュー
ルによって提供されていないシンボルがあれば、 それはカーネルによって提供されるものと見なされます (完璧
な世界でなら、そうなっているはずです)。しかし、その想定が外れることもあります。 特に、サードパーティ
製のドライバを後日アップデートしたとき、 それがきちんとインストールされていなかったり、正しくビルドさ
れていなかったりすると、 そうなります。
-E, --symvers Module.symvers
このオプションは、-e オプションと一緒に使用した場合、 モジュールが提示しているシンボルのバージョンの
中に、カーネルがその Module.symvers (訳注: このファイルは、自分でカーネルをビルドすると生成されます)
で情報を提供しているシンボルのバージョンと一致しないものがあれば、それを報告します。 このオプション
は、-F と一緒には使えません。
-F, --filesyms System.map
カーネルがビルドされたときに作成された System.map を指定します。このオプションを使用すると、-e オプ
ションが、解決できないシンボルを報告できるようになります。このオプションは、-E と一緒には使えません。
-h, --help
ヘルプメッセージを表示して終了します。
-n, --show, --dry-run
このオプションを指定すると、生成された modules.dep や様々なマップファイルを、モジュールディレクトリに
書き込まずに、 標準出力に書き出します。
-P
アーキテクチャーによっては、シンボルの前に無関係な文字を付けるものがあります。 このオプションで
は、(たとえば、'_' といった) 無視すべき接頭辞を指定します。
-v, --verbose
詳細モードでは、depmod は、各モジュールが依存しているすべてのシンボルと、 そのシンボルを提供している
モジュールのファイル名を (標準出力に) 書き出します。
-V, --version
プログラムのバージョンを表示して終了します。
-w
依存関係、エイリアス、シンボルバージョンなどに重複がある場合に警告します。
著作権
このマニュアルページの最初の版は、"Copyright 2002, Rusty Russell, IBM Corporation" でした。現在で
は、"Copyright Jon Masters, and others" の部分もあります。
関連項目
depmod.d(5), modprobe(8), modules.dep(5)
著者
Jon Masters <jcm@jonmasters.org>
開発者
Robby Workman <rworkman@slackware.com>
開発者
Lucas De Marchi <lucas.de.marchi@gmail.com>
開発者
kmod 2021/01/29 DEPMOD(8)