GNU/Linux >> Linux の 問題 >  >> Linux

便利な例を含むLinuxmodprobeコマンド

Linuxカーネルは、Linuxオペレーティングシステムのコアコンポーネントです。 Linuxカーネルは、機能の面で拡張できるモジュラー設計になっています。モジュールは、コンピューターを再起動せずにカーネルによってロードおよびアンロードできる小さなコードです。カーネルモジュールは、手動または自動でロード/削除できます。

USBやPCIなどの新しいデバイスが接続/削除されると、カーネルはueventを送信します。 ueventsには、ベンダーやモデルの詳細など、デバイスに関する情報が含まれています。 Udev(デバイスマネージャー)はこのueventをリッスンし、modprobeに渡します。 Modprobe モジュールディレクトリ/lib/ modules / uname -rを検索して、要求されたドライバをインテリジェントに識別します。 モジュールファイルをカーネルにロードします。モジュールが正常にロードされると、lsmodコマンドのリストに表示されます。さらに、modprobeは、カーネルからロード可能なモジュールを手動で追加または削除するために使用されます。

Modprobeはkmodパッケージの一部として配布されます。このチュートリアルでは、modprobeコマンドの使用方法を学習します Linuxカーネルにモジュールを追加および削除します。

modprobeコマンドの構文

modprobeコマンドの構文を確認しましょう:

$ sudo modprobe [options] [Module Name]

カーネルモジュールを追加するmodprobeコマンド

カーネルモジュールは、/lib/modules/$(uname -r)にあるサブディレクトリにあります。 。コマンドuname -r 現在のカーネルバージョンを判別するために使用できます。

モジュールmodprobeを追加するときは、insmodがそれを行わないモジュールの依存関係をインテリジェントにチェックしてください。ファイル/lib/modules/$(uname-r)/modules.depにリストされている依存関係とモジュール名の参照は、/etc/modulesで指定されています。 ファイル。

カーネルモジュールにあるディレクトリを一覧表示するには、次のように入力します。

$ ls /lib/modules/$(uname -r)

すべてのデバイスドライバーは、ディレクトリ/lib/modules/$(uname -r)/kernel/drivers/にあります。 。

通常、カーネルモジュールファイルには.koがあります 拡張機能。すべての.koを一覧表示できます ファイル:

$ find /lib/modules/$(uname -r) -type f -name *.ko*

モジュール名とともにmodprobeコマンドを使用して、モジュールをLinuxカーネルに追加できます。

$ sudo modprobe img_i2s_in

追加したら、現在ロードされているカーネルモジュールを一覧表示するlsmodコマンドで確認できます。

$ sudo lsmod | grep img_i2s_in

出力:

img_i2s_in             16384  0

カーネルモジュールを削除するmodprobeコマンド

モジュールを削除するには、モジュール名とともに-rオプションを指定してmodprobeコマンドを使用します。

たとえば、img_i2s_inという名前のモジュールを削除するには 、タイプ:

$ sudo modprobe -r img_i2s_in

modprobeオプション

modprobeコマンドにはいくつかのオプションがあり、それらはユースケースに基づいて3つのカテゴリに分類されています。

管理オプション

modprobeコマンドを使用してモジュールを追加または削除する場合、管理パラメーターにより複数のモジュール処理シナリオが有効になります。

オプション 説明
-a
-すべて
一度に複数のモジュールを削除または追加
--削除
-r
モジュールを削除します。--remove-dependenciesにも適用されます
-依存関係の削除 依存関係モジュールを削除する
--resolve-alias
-R
エイリアスに一致する名前を特定して印刷します
-初めて 追加または削除されたモジュールの印刷エラー
--ignore-install
--無視-削除
-i
モジュールを挿入または削除するときに、モジュールに書き込まれたインストールまたは削除コマンドを無視します
--use-ブラックリスト
-b
ブラックリストで解決されたエイリアス
--力
-f
バージョンエラーが表示された場合は、モジュールの追加または削除を強制してください。これは、-force-modversionと--force-vermagicの両方に適用されます。
-force-modversion モジュールの追加または削除時にモジュールバージョンを無視します。
-force-vermagic モジュールの追加または削除時にモジュールバージョンの魔法を無視します。

クエリオプション

modprobeコマンドのqueryオプションは、構成と依存関係に関する情報を提供します。

オプション 説明
--show-depends
-D
依存関係ファイルを持つモジュールがある場合は、そのモジュールが表示されます
--showconfig
--show-config
-c
現在の構成を表示して終了します
--show-modversions
--dump-modversions
モジュールバージョンの依存関係を表示する

一般オプション

modprobeコマンドの一般的なオプションは、出力オプション、モジュールの場所、およびバージョンを構成します。

オプション 説明
--ドライラン
- 公演
-n
出力を印刷しますが、何も追加または削除しないでください。
-config=[ファイル名]
-C
デフォルトの構成依存関係、つまり/etc/modprobe.dを[ファイル名]でオーバーライドします
-dirname=[ディレクトリ]
-d
/ lib / modulesの場合、ファイルシステムルートとして[Directory]を使用します
-set-version =[version]
-S
指定されたカーネルの代わりにuname 、[バージョン]カーネルを使用
--syslog
-s
Syslogを介してエラーメッセージを表示します
-静か
-q
エラーメッセージを表示しない
--詳細
-v
より多くのメッセージを表示できるようにします
-バージョン
-V
modprobeのバージョンを表示する
--ヘルプ
-h
コマンドとともにヘルプメッセージを表示する

結論

このチュートリアルでは、Linuxカーネルにモジュールを追加または削除するmodprobeコマンドについて学習しました。

読んでいただきありがとうございます。フィードバックや提案をお寄せください。


Linux
  1. 例を含むLinuxTeeコマンド

  2. LinuxでのJQコマンドと例

  3. Linux での modprobe コマンドの例

  1. 例を含むwcLinuxコマンド

  2. Linuxのソートコマンドと例

  3. Linuxでの12の便利なWgetコマンドの例

  1. Linuxでのエコーコマンド(例付き)

  2. Linuxでのmanコマンドと例

  3. LinuxでのAWKコマンドと例