手当たり次第に書くんだ

飽きっぽいのは本能

LPIC modprobe コマンド

目次に戻る

Introduction

このドキュメントは、man modprobe の内容をできるだけ分かりやすく翻訳し、必要に応じて補足情報を追加しています。

NAME

modprobe は、カーネルモジュールの追加、またはそれを削除します。

SYNOPSIS

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]

DESCRIPTION

modprobe は、依存関係を考慮して Linux カーネルからモジュールを追加または削除します。便宜上、モジュール名において ‘_’ と ‘-‘ の間には違いがないことに注意してください。自動的なアンダースコアの変換が行われます。modprobe は、/etc/modprobe.d ディレクトリ内のオプションの構成ファイルを除くすべてのモジュールおよびその他のファイルを検索するために、モジュールディレクトリを調べます。また、modprobe は、カーネルコマンドラインで指定された <module>.<option> 形式のモジュールオプションおよび modprobe.blacklist=<module> 形式のブラックリストも使用します。

なお、このツールでサポートされていない 2.4 シリーズの Linux カーネルとは異なり、このバージョンの modprobe は、モジュール自体には何もしません。シンボルの解決とパラメータの理解の作業はカーネル内で行われます。そのため、モジュールの失敗は時にカーネルメッセージと一緒に伴うことがあります。

modprobe は、それに対応する depmod ユーティリティによって生成された最新の modules.dep.bin ファイルを期待します。このファイルは、各モジュールが必要とする他のモジュールがあればリストし、それを使用してこれらの依存関係を自動的に追加または削除します。

モジュール名の後に引数が指定されている場合、構成ファイルにリストされているオプションに加えてカーネルに渡されます。

OPTIONS

-a, --all

コマンドラインで指定されたすべてのカーネルモジュールを追加します。

-b, --use-blacklist

設定ファイル内のブラックリストコマンドがあれば、それをモジュール名にも適用します。通常、udev(7) によって使用されます。

-C, --config

/etc/modprobe.d(デフォルトの設定ディレクトリ)を上書きします。このオプションは、MODPROBE_OPTIONS 環境変数内の install または remove コマンドにも影響を与えます。

-c, --showconfig

設定ディレクトリからの有効な設定をダンプして終了します。

--dump-modversions

モジュールのパッケージングに必要なモジュールバージョン情報のリストを出力します。このオプションは、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

指定されたモジュールに対する設定ファイル内の install および remove コマンドを無視します。依存するモジュールは引き続き設定ファイル内でそれらのコマンドが設定されている場合に影響を受けます。

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

実際にモジュールを挿入または削除することなく、すべての操作を実行します。または install または remove コマンドを実行します。-v と組み合わせて使用すると、問題のデバッグに役立ちます。

-q, --quiet

見つからないモジュールを削除または挿入しようとした場合にエラーメッセージを出力しません。ただし、非ゼロの終了ステータスで返します。

-R, --resolve-alias

エイリアスに一致するすべてのモジュール名を出力します。これは、モジュールエイリアスの問題をデバッグするのに役立ちます。

-r, --remove

モジュールを挿入するのではなく、削除するように modprobe に指示します。依存するモジュールが未使用であれば、modprobe はそれらも削除しようとします。挿入と異なり、複数のモジュールをコマンドラインで指定できますが、モジュールを削除する場合にモジュールパラメータを指定することは意味がありません。

-S, --set-version

uname(2) を使用してカーネルバージョンを決定する代わりに、カーネルバージョンを設定します。これはモジュールの場所を決定します。

--show-depends

モジュール(またはエイリアス)の依存関係をリストアップします。これには、モジュール自体も含まれます。これにより、モジュールファイル名の集合(おそらく空の場合もあります)が 1 行に 1 つずつ生成され、それぞれが insmod で始まります。これは、initrd/initramfs イメージを生成する際にどのモジュールを含めるかをディストリビューションが決定するために通常使用されます。適用されるインストールコマンドは、プレフィックスが install で表示されます。これは、インストールコマンドを実行しません。モジュール自体からのモジュールの依存関係を抽出するには、modinfo(8) を使用できますが、エイリアスやインストールコマンドについては何も知りません。

-s, --syslog

エラーメッセージを標準エラーではなくsyslog を介して送信します。これは、標準エラーが利用できない場合にも自動的に有効になります。このオプションは、MODPROBE_OPTIONS 環境変数内のインストールまたは削除コマンドを他の modprobe コマンドに渡します。

-V, --version

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

-v, --verbose

プログラムが行っている操作に関するメッセージを表示します。通常、modprobe は何かがうまくいかない場合にのみメッセージを出力します。このオプションは、MODPROBE_OPTIONS 環境変数内のインストールまたは削除コマンドを他の modprobe コマンドに渡します。

ENVIRONMENT

MODPROBE_OPTIONS 環境変数を使用して modprobe に引数を渡すこともできます。

SEE ALSO

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

modprobe の設定ファイル

modprobe の設定ファイルは、/etc/modprobe.d ディレクトリ内の .conf の拡張子を持つファイルです。詳細は、man 5 modprobe.d に記載されています。カーネル 2.4 までは /etc/modules.conf です。modprobe の設定ファイルには、主に次の設定を記述できます。

コマンド説明
options各カーネルモジュールのデフォルトパラメータを指定します。
aliasカーネルモジュールに別名を付けます。
install特定のカーネルモジュールのロード時に実行されるコマンドを指定します。
remove特定のカーネルモジュールのアンロード時に実行されるコマンドを指定します。
blacklistロードしたくないカーネルモジュールを指定します。
modprobe の設定ファイル

modprobe で指定可能なモジュール名の一覧

modprobe で指定可能なモジュール名の一覧を表示できる方法はなく、ls /lib/modules/$(uname -r)/kernel 内の各ディレクトリを確認する必要があります。

目次に戻る

LPIC modprobe コマンド

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る