MODPROBE

Section: modprobe (8)
Updated: 2021/01/29
Index JM Home Page roff page
 

名前

modprobe - Linux カーネルへのモジュールの追加や削除  

書式

modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-b] [modulename] [module parameters...]
modprobe [-r] [-v] [-n] [-i] [modulename...]
modprobe [-c]
modprobe [--dump-modversions] [filename]
 

説明

modprobe は Linux カーネルに対するモジュールの登録や削除を適切に行います。 扱いやすさを考慮して、 モジュール名に使われる _ と - は区別されません (アンダースコアの変換が自動的に行われます)。 modprobe がモジュールや他のファイルを検索するディレクトリは、 /lib/modules/`uname -r` というモジュールディレクトリです。 この他に、 任意の設定ファイルは /etc/modprobe.d ディレクトリから検索します (modprobe.d(5) 参照)。 また modprobe は、 カーネルのコマンドラインからは <module>.<option> という形式で、 またブラックリストからは

modprobe.blacklist=<module> という形式で、 オプション指定することができます。

(本ツールがサポートしていない) Linux カーネル 2.4 系列の場合とは異なり、 modprobe の本バージョンでは、 モジュールそのものには何も行いません。 つまりシンボルの解決やパラメーターの解釈は、 カーネル内部で行われます。 したがってモジュールに関する処理失敗は、 カーネルメッセージに出力されることがあります。 dmesg(8) を参照してください。

modprobe に対応づいて提供される depmod ユーティリティーからは modules.dep.bin ファイルが生成されます (depmod(8) 参照)。 そして modprobe では、 そのファイルが最新であることを想定しています。 このファイルでは、 各モジュールが他のモジュールを必要としている場合に、 それが何であるのかを一覧に示しています。 そして modprobe はこれを利用して、 依存モジュールの追加や削除を自動的に行います。

modulename より後ろに指定された引数は、 すべてカーネルに受け渡されます (設定ファイルに指定されたオプションも、 そこに加えられます)。  

オプション

-a, --all

コマンドラインから指定されたモジュール名をすべて登録します。

-b, --use-blacklist

このオプション指定により、 設定ファイル内に blacklist コマンドがあれば、 それもモジュール名に対して適用するようになります。 これは通常、 udev(7) が利用します。

-C, --config

このオプションは、 デフォルトの設定ディレクトリ (/etc/depmod.d/) を上書きします。

このオプションは、 install コマンドや remove コマンドを通じて、 環境変数 MODPROBE_OPTIONS 内の別の modprobe コマンドに受け渡されます。

-c, --showconfig

設定ディレクトリから有効な設定を取得および表示して、 終了します。

--dump-modversions

1 つのモジュールが必要としている、 モジュールのバージョン情報の一覧を表示します。 このオプションは、 通常はディストリビューションが利用するものであり、 モジュールバージョンを示す dep ファイルを使って、 Linux カーネルモジュールをパッケージ化するために用いられます。

-d, --dirname

モジュールのルートディレクトリ。 デフォルトは / です。

--first-time

通常 modprobe では、 すでに存在しているモジュールを登録しようとしたり、 存在しないモジュールを削除しようとした場合でも、 正常終了します (そのときは何も行いません)。 これは単純なスクリプトにおいては最適なものですが、 より複雑なスクリプトの場合には、 実際に modprobe が何を行ったのかを知る必要が出てきます。 このオプションは、 実際に何も行われなかった場合には、 modprobe の処理が失敗したものとします。

--force-vermagic

どのモジュールであっても、 カーネルバージョンやコンパイラーバージョンといった重要な情報が、 短い文字列となってその名前に含められています。 モジュールのロードが失敗して、 カーネルが「version magic」が一致しないというエラーを出力した場合には、 このオプションを使えばエラー回避できます。 本来このチェック処理は、 ユーザー操作を保護するものであるため、 処理内容が分かっていない限り、 このオプションの利用は危険です。

これは、 登録されているモジュールすべてに適用されます。 つまり対象となるモジュールは、 コマンドラインから指定されたモジュール (あるいはエイリアス) と、 それが依存するモジュールを含みます。

--force-modversion

CONFIG_MODVERSIONS の設定を行ってモジュールがコンパイルされた場合には、 モジュールが使用する (あるいは提供する) インターフェースに関して、 そのバージョンをすべて説明するセクションが生成されます。 モジュールのロードが失敗して、 特定のインターフェースにおいて、 モジュールのバージョンが不一致であることをカーネルがエラー出力した場合には、 "--force-modversion" を使えば、 バージョン情報をすべて取り除いて処理することができます。本来このチェック処理は、 ユーザー操作を保護するものであるため、 処理内容が分かっていない限り、 このオプションの利用は危険です。

これは、 登録されているモジュールすべてに適用されます。 つまり対象となるモジュールは、 コマンドラインから指定されたモジュール (あるいはエイリアス) と、 それが依存するモジュールを含みます。

-f, --force

バージョン情報を含んでいることが原因で、 ロードができないモジュールに対して、 そのバージョン情報を取り除いてロードを行います。 これは --force-vermagic--force-modversion をともに指定することと同じです。 本来このチェック処理は、 ユーザー操作を保護するものであるため、 処理内容が分かっていない限り、 このオプションの利用は危険です。

これは、 登録されているモジュールすべてに適用されます。 つまり対象となるモジュールは、 コマンドラインから指定されたモジュール (あるいはエイリアス) と、 それが依存するモジュールを含みます。

-i, --ignore-install, --ignore-remove

このオプションを指定すると、 modprobe の処理にあたって、 コマンドラインからモジュールが指定されても、 設定ファイル内にそのモジュールが存在していれば、 install コマンドや remove コマンドは無視されます (その依存モジュールは、 設定ファイル内に設定されたコマンドに従います)。 install コマンドと remove コマンドは、 このオプションが用いられた場合に無視されますが、 --ignore-install または --ignore-remove の一方だけが指定された (両方の指定がない) 場合であっても、 両方が無視されます。 modprobe.d(5) を参照してください。

-n, --dry-run, --show

このオプションは、 モジュールの登録や削除 (つまり install コマンドや remove コマンドの実行) は行わず、 これを除いたすべてのコマンドを実行します。 -v と合わせて用いれば、 デバッグ目的で利用することができます。 これまでの開発経緯において、 --dry-run--show は、 まったく同じ意味となっているため、 どちらを用いても構いません。

-q, --quiet

このフラグを指定した場合、 削除または登録しようとしているモジュールが見つからない場合 (エイリアスでもなく、 install/remove コマンドでもない場合)、 modprobe はエラーメッセージを表示しません。 ただしその場合でも、 ゼロではない終了ステータスを返します。 request_module を利用すれば存在確認が取れるモジュールに対しては、 カーネルはこの機能を使うことで、 モジュール検査を行います。

-R, --resolve-alias

エイリアスに一致するモジュール名をすべて表示します。 これは、 モジュールエイリアスに問題がある際のデバッグに利用できます。

-r, --remove

この modprobe オプションは、 モジュールを登録するのではなく、 削除を行います。 対象モジュールが依存しているモジュールも未使用であった場合、 modprobe はそのモジュールも削除します。 モジュール登録の場合とは違って、 コマンドラインからは複数のモジュールを指定することができます (モジュールを削除するので、 モジュールにパラメーターを受け渡しても意味がありません)。

通常、 モジュールを削除することはありません。 ただしバグを含んだモジュールであれば必要になることがあります。 利用しているディストリビューションのカーネルが、 モジュール削除機能のサポートを含めずにビルドされている場合があります。

-S, --set-version

uname(2) を用いずに、 カーネルバージョンを設定します (これによって、 モジュールを検索するディレクトリを決定します)。

--show-depends

対象のモジュールそのものも含めて、 依存するモジュール (またはエイリアス) を一覧表示します。 これによって (空リストの場合も含めて) モジュールファイル名のリストを、 1 つにつき 1 行ずつ表示して、 各行の先頭に "insmod" を出力します。 通常これは、 initrd/initramfs イメージを生成する際に含めるモジュールの決定のために、 ディストリビューションが利用します。 Install コマンドが適用されると、 先頭に "install" が出力されます。 これは install コマンドは実行しません。 modinfo(8) を利用すれば、 モジュール自体から依存モジュールの情報を取得することができますが、 エイリアスや install コマンドについては、 何も得ることはできません。

-s, --syslog

このオプションを指定すると、 あらゆるエラーメッセージは、 標準エラー出力に向けてではなく、 syslog 機能に向けて (ログレベル LOG_NOTICE の LOG_DAEMON として) 出力されます。 この処理はまた、 stderr が利用できない場合には、 自動的に有効になります。

このオプションは、 install コマンドや remove コマンドを通じて、 環境変数 MODPROBE_OPTIONS 内の別の modprobe コマンドに受け渡されます。

-V, --version

プログラムバージョンを表示して終了します。

-v, --verbose

プログラムの処理内容に関するメッセージを出力します。 普通 modprobe は、 何かが誤っている場合にのみメッセージを出力します。

このオプションは、 install コマンドや remove コマンドを通じて、 環境変数 MODPROBE_OPTIONS 内の別の modprobe コマンドに受け渡されます。

 

環境変数

環境変数 MODPROBE_OPTIONS は、 modprobe への引数受け渡しにも利用されます。  

著作権

この man ページの元々の著作権表記は Copyright 2002, Rusty Russell, IBM Corporation です。 現在は Jon Masters その他により保守されています。  

関連項目

modprobe.d(5), insmod(8), rmmod(8), lsmod(8), modinfo(8) depmod(8)  

著者

Jon Masters <jcm@jonmasters.org>

開発者

Robby Workman <rworkman@slackware.com>

開発者

Lucas De Marchi <lucas.de.marchi@gmail.com>

開発者


 

Index

名前
書式
説明
オプション
環境変数
著作権
関連項目
著者

This document was created by man2html, using the manual pages.
Time: 07:09:00 GMT, June 24, 2022