Skip to main content

Linux / Unixコマンドに関するすべて:modprobe

sudo command not found fix in Linux (Debian 9 GNU/Linux ) (六月 2025)

sudo command not found fix in Linux (Debian 9 GNU/Linux ) (六月 2025)
Anonim

modprobe - ロード可能なモジュールの高水準処理

シノプシス

modprobe -adnqv -C 設定 モジュールシンボル=値…modprobe -adnqv -C 設定 -t タイプ パターンmodprobe -l -C 設定 -t タイプ パターンmodprobe -c -C 設定 modprobe -r -dnv -C 設定 モジュール…modprobe -Vh

オプション

-a, - すべて

負荷すべて 最初に正常に読み込まれた後に停止するのではなく、

-c, --showconfig

現在使用されている設定を表示します。

-C, --config 設定

ファイルを使用する 設定 (オプションの) /etc/modules.conf 設定を指定します。環境変数MODULECONF デフォルトの/etc/modules.confから別の設定ファイルを選択(および上書き)するためにも使用できます(または /etc/conf.modules (廃止予定))。

環境変数UNAME_MACHINE が設定されている場合、modutilsはuname()システムコールのマシンフィールドの代わりにその値を使用します。これは主に、32ビットのユーザー空間で64ビットモジュールをコンパイルする場合、またはその逆の場合に使用します。UNAME_MACHINE モジュールのタイプに変換する。現在のmodutilsは、モジュールの完全なクロスビルドモードをサポートしていませんが、ホストアーキテクチャの32ビットと64ビットのバージョンを選択することに限定されています。

-d, - デバッグ

モジュールのスタックの内部表現に関する情報を表示します。

-h, - 助けて

オプションの要約を表示してすぐに終了します。

-k, --autoclean

ロードされたモジュールに 'autoclean'を設定します。カーネルが呼び出すときにカーネルによって使用されるmodprobe (モジュールとして供給される)不足している機能を満たすことができます。ザ-q オプションは-k。これらのオプションは自動的にに送信されますinsmod.

-l, - リスト

一致するモジュールを一覧表示する。

-n, - ショー

実際にはアクションを実行せず、実行されることを示してください。

-q, - 静か

不平を言わないでinsmod モジュールのインストールに失敗しました。 modprobeがテストするための他の可能性もありますが、通常通りそのまま続けます。このオプションは自動的に送信されますinsmod.

-r, --remove

コマンドラインに記載されているモジュールがあるかどうかによって、モジュール(スタック)を削除するか、オートクリーンを実行します。

-s, --syslog

stderrの代わりにsyslog経由で報告してください。このオプションは自動的に送信されますinsmod.

-t moduletype ; - タイプ moduletype

このタイプのモジュールのみを検討してください。 modprobeはディレクトリパスが正確に " / moduletype / '. moduletype 複数のディレクトリ名を含むことができます。 "-t ドライバ/ネット " xxx / drivers / net / とそのサブディレクトリ。

-v, - 詳細

実行されているすべてのコマンドを出力します。

-V、--version

バージョンを表示するmodprobe.

注意:

モジュール名にはパス( '/'なし)を含めてはいけません。また、末尾に '.o'を含めることはできません。たとえば、slipは、有効なモジュール名です。modprobe、/lib/modules/2.2.19/net/slipとslip.oは無効です。これは、コマンドラインとconfigのエントリに適用されます。

コマンドの説明

modprobe そしてデポード ユーティリティは、Linuxモジュラーカーネルをすべてのユーザー、管理者、およびディストリビューション保守担当者にとってより管理しやすくすることを目的としています。

Modprobe によって作成された "Makefile"のような依存ファイルを使用します。デポード予め定義されたディレクトリツリーで利用可能なモジュールのセットから関連するモジュールを自動的にロードする。

Modprobe 単一モジュール、依存モジュールのスタック、または指定されたタグでマークされたすべてのモジュールをロードするために使用されます。

Modprobe 依存関係ファイルに記述されているように、モジュールスタックに必要なすべての基本モジュールを自動的にロードします modules.dep 。これらのモジュールのいずれかのロードが失敗すると、現在のセッションにロードされているモジュールの現在のスタック全体が自動的にアンロードされます。

Modprobe モジュールをロードする2つの方法があります。 1つの方法(プローブモード)は、リストからモジュールをロードしようとします( パターン ). Modprobe 1つのモジュールが正常にロードされるとすぐにロードを停止します。これはリストから1つのイーサネットドライバを自動ロードするために使用できます。反対にmodprobe 使用することができるロードすることですすべて モジュールをリストから削除します。見る使用例、以下。

オプション付き-r、modprobeはモジュールのスタックを自動的にアンロードし、rmmod -r"そうです。ちょうど"modprobe -r"は、未使用のオートロードされたモジュールをクリーンアップし、構成ファイル内の削除前後のコマンドも実行します /etc/modules.conf .

オプションを組み合わせる-l そして-t 特定のタイプの利用可能なすべてのモジュールをリストします。

オプション-c 現在使用されている設定(デフォルト+設定ファイル)が表示されます。

構成

の動作modprobe (そしてデポード)は、(オプションの)設定ファイルで変更することができます /etc/modules.conf 。このファイルに含まれる内容の詳細と、デポード そしてmodprobe、 見るmodules.conf(5).

削除前と削除後のコマンドは、ない モジュールがkerneldによって "autocleaned"されている場合に実行されます!代わりに永続的なモジュール記憶域のための今後のサポートを探してください。インストール前およびインストール後の機能を使用する場合は、kerneldのautocleanをオフにして、代わりに次のような行をcrontab * / 2 * * * * test -f / proc / modules && / sbin / modprobe -r(これはkmodシステムでも同様に使用されます)2分ごとにオートクリーンを実行します。

戦略

アイデアは、modprobe カーネルの現在のリリース用にコンパイルされたモジュールを含むディレクトリを最初に探します。モジュールがそこに見つからない場合は、modprobe カーネルバージョン(2.0,2.2など)に共通のディレクトリを検索します。モジュールがまだ見つかった場合は、modprobe デフォルトのリリース用のモジュールを含むディレクトリを探します。

新しいlinuxをインストールする場合、モジュールは、インストールするカーネルのリリース(およびバージョン)に関連するディレクトリに移動する必要があります。次に、このディレクトリから "default"ディレクトリへのシンボリックリンクを行う必要があります。

新しいカーネルをコンパイルするたびに、コマンド "make modules_install"新しいディレクトリが作成されますが、"デフォルト "のリンクは変更されません。

カーネルディストリビューションとは無関係のモジュールを入手した場合は、バージョンに依存しないディレクトリ / lib / modules .

これはデフォルトの戦略です。 /etc/modules.conf .

modprobe -t net

"net"とタグ付けされたディレクトリに格納されているモジュールの1つをロードします。各モジュールは、成功するまで試行されます。

modprobe -a -t boot

"boot"とタグ付けされたディレクトリに格納されているすべてのモジュールがロードされます。

modprobeスリップ

slipモジュールがslhcモジュール内の機能を必要とするため、以前にロードされていない場合、モジュールslhc.oをロードしようとします。この依存関係はファイルに記述されます modules.dep 自動的に作成されたデポード.

modprobe -r slip

スリップモジュールがアンロードされます。他のモジュール(例えば、ppp)でも使用されていない限り、自動的にslhcモジュールをアンロードします。

関連項目:

depmod(8)、lsmod(8), kerneld(8), ksyms(8), rmmod(8).

セーフモード

有効なuidが実際のuidと等しくなければmodprobe 極端な疑惑でその入力を扱う。最後のパラメータは、 ' - 'で始まっていても常にモジュール名として扱われます。モジュール名は1つしか指定できず、 "variable = value"という形式のオプションは禁止されています。モジュール名は常に文字列として扱われ、セーフモードでメタ拡張は行われません。ただし、設定ファイルから読み込まれたデータにはメタ拡張が適用されます。

modprobeがカーネルから呼び出されたとき、euidはuidと等しくないかもしれませんが、これはカーネル> = 2.4.0-test11に当てはまります。理想的な世界では、modprobe カーネルがmodprobeに有効なパラメータだけを渡すことを信頼することができます。しかし、高レベルのカーネルコードが検証されていないパラメータをユーザからmodprobeに渡したため、少なくとも1つのローカルルートエクスプロイトが発生しました。したがって、modprobeはカーネルの入力を信頼しなくなりました。

modprobe 環境がこれらの文字列のみで構成されている場合、セーフモードが自動的に設定されます

HOME = / TERM = linux PATH = / sbin:/ usr / sbin:/ bin:/ usr / bin

これは、以前のカーネルで行うuid == euidであっても、カーネル2.2から2.4.0-test11までのカーネルからのmodprobeの実行を検出します。

ロギングコマンド

ディレクトリの場合 / var / log / ksymoops 存在するmodprobe モジュールをロードまたは削除できるオプションを指定して実行すると、modprobeはそのコマンドを記録してステータスを返します / var / log / ksymoops / `date +%Y%m%d.log` 。この自動ロギングを無効にするスイッチはありません。発生させたくない場合は作成しないでください / var / log / ksymoops 。そのディレクトリが存在する場合は、rootが所有し、644または600のモードでなければならず、スクリプトを実行する必要がありますinsmod_ksymoops_clean 毎日そうです。

必要なユーティリティ

デポード(8), insmod(8).

重要: 使用 おとこ コマンド( % おとこ 特定のコンピュータでどのようにコマンドが使用されているかを確認することができます。