modprobeは、 Linuxカーネルにロード可能なカーネルモジュールをロードしたり、ロード済みのモジュールをアンロードしたり、その他多くの関連機能を提供するLinuxプログラムです。どのモジュールをロードするかを決定する機能、モジュールの依存関係を認識する機能(モジュールのロードが要求された際に、他の必要なモジュールを優先的にロードする)、および再帰的なモジュール依存関係を解決する機能を提供します。
これは間接的によく使われます。例えば、udevは自動検出されたハードウェアのドライバをロードするためにmodprobeに依存しています。
Modprobeは元々 Rusty Russellによって書かれ、ソフトウェアパッケージ「kmod」[ 1 ](Lucas De Marchiらが保守)の一部として配布されている。以前は以下のように開発されていた。
スイッチを指定せずに起動した場合、プログラムは名前で指定されたモジュールを追加/挿入/インストールします。モジュール名の後の引数はカーネルに渡されます。設定ファイルのオプションも渡されます。
modprobe のバージョンによっては、設定ファイルは modprobe.conf と呼ばれ、他のバージョンでは、/etc/modprobe.d ディレクトリにある <modulename> という名前のファイルの集合がそれに相当するものとなります。
modprobeは標準モジュールディレクトリのみを検索します。作業ディレクトリからモジュールをインストールするには、insmodが必要です。あるいは、depmodが見つけられるようにシンボリックリンクファイルを使用することもできます。
modprobeが試みる操作を実行するには、通常、root権限が必要です。
modprobeプログラムは、他の類似ユーティリティよりも多くの設定機能を備えています。モジュールエイリアスを定義することで、モジュールの自動ロードが可能になります。カーネルがモジュールを必要とする場合、実際にはmodprobeを実行して要求しますが、カーネルが保持しているのはモジュールのプロパティ(例えば、デバイスのメジャー番号やネットワークプロトコルの番号など)の一部のみであり、modprobeはエイリアスを介してそれを実際のモジュール名に変換する役割を果たします。
このプログラムは、特定のモジュールのロードまたはアンロードの前後にプログラムを実行する機能も備えています。例えば、サウンドカードモジュールのロード直後にミキサーを設定したり、デバイスを有効にする直前にファームウェアをアップロードしたりすることができます。これらの処理は外部プログラムによって実行される必要がありますが、modprobeはモジュールのロード/アンロードと同期してこれらの処理を実行します。
2つ以上のモジュールが同じデバイスをサポートしている場合や、モジュールがデバイスをサポートしていると不正に主張している場合、blacklistキーワードは、特定のモジュールのすべての内部エイリアスを無視することを示します。[ 4 ]
モジュールをブラックリストに登録する方法はいくつかあり、ロード方法によって設定場所が異なります。
modprobe を使用してモジュールをブラックリストに登録する方法は 2 つあります。1つ目は modprobe.conf システムを使用する方法で、1 つ目は /etc/modprobe.d/ にあるブラックリストシステムを使用します。.conf で終わるファイル名であればどれでも使用できます。
cat /etc/modprobe.d/blacklist.conf ブラックリスト ieee1394 ブラックリスト ohci1394 ブラックリスト eth1394 ブラックリスト sbp2
インストールプリミティブは設定ファイル内で最も優先順位が高く、上記のブラックリスト方式の代わりに使用されるため、次の2番目の方法が必要になります。
cat /etc/modprobe.d/ieee1394.conf ieee1394 /bin/true をインストールします ohci1394 /bin/true をインストールします eth1394 /bin/true をインストールします sbp2 /bin/true をインストールします
または、/etc/modprobe.conf を変更することもできます。
エイリアス サブモジュール /dev/null alias module_main /dev/null オプション module_main 必要なオプション=0