【Linux】カーネルに手動でモジュールをロード:modprobe

Linux

どーも!marusukeです!

カーネルにカーネルモジュールを手動でロード・アンロードするコマンドmodprobeについて説明します!

modprobeコマンドでできること

 modprobe [オプション] モジュール名

modprobeコマンドは、カーネルモジュールを手動でロード(挿入)またはアンロード(削除)するために使用されます。modprobeは、依存関係を自動的に解決し、必要なモジュールを順番にロードするため、個別のinsmodコマンドよりも便利です

主な機能

  1. カーネルモジュールのロード:
    指定されたモジュールをカーネルに挿入します。
  2. カーネルモジュールのアンロード:
    指定されたモジュールをカーネルから削除します。
  3. 依存関係の解決:
    モジュールの依存関係を自動的に解決し、必要な順序でロードします。

modprobeコマンドの使用例

コマンド実行時の権限はroot権限が必要です。以下の使用例はsudoコマンドを利用した例です

1. モジュールのロード

特定のモジュールをカーネルにロードします。

sudo modprobe モジュール名

例: dummyモジュールのロード

sudo modprobe dummy

2. モジュールのアンロード

特定のモジュールをカーネルからアンロードします。

sudo modprobe -r モジュール名

例: dummyモジュールのアンロード

sudo modprobe -r dummy

3. モジュール情報の表示

modinfoコマンドを使用して、モジュールに関する情報を表示します。

modinfo モジュール名

例: dummyモジュールの情報を表示

modinfo dummy

主なオプション

オプション説明
-a, –allすべての指定されたモジュールをロードします。
-r, –removeモジュールをアンロードします。
-v, –verbose詳細な情報を表示します。
-f, –force強制的にモジュールをロードします。
-n, –dry-run実際には操作を行わず、シミュレーションを行います。
-C, –config指定された設定ファイルを使用します。
-d, –dirname指定されたディレクトリからモジュールをロードします。

依存関係の解決

modprobeコマンドは、指定されたモジュールの依存関係を自動的に解決します。たとえば、あるモジュールが別のモジュールに依存している場合、modprobeは必要な依存モジュールも一緒にロードします。

例: 依存関係のあるモジュールのロード

sudo modprobe モジュール名

モジュールの設定ファイル

モジュールの設定は、/etc/modprobe.d/ディレクトリにある設定ファイルで行います。これらのファイルには、モジュールのオプションやエイリアスを設定できます。

例: dummy.conf ファイルの内容

# /etc/modprobe.d/dummy.conf
options dummy numdummies=2

まとめ

modprobeコマンドは、カーネルモジュールの手動でロードまたはアンロードを行うためのコマンドです。依存関係の解決を自動的に行い、ユーザーが手動でモジュールを管理する手間を省きます

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました