
Linuxカーネルは、Linuxオペレーティングシステムのコアコンポーネントです。システムのリソースを管理し、コンピュータのハードウェアとソフトウェアの間の架け橋です。
Linuxカーネルはモジュラー設計になっています。カーネルモジュール、またはしばしばドライバーと呼ばれるものは、カーネルの機能を拡張するコードの一部です。モジュールは、ロード可能なモジュールとしてコンパイルされるか、カーネルに組み込まれます。ロード可能なモジュールは、システムを再起動することなく、要求に応じて実行中のカーネルでロードおよびアンロードできます。
通常、モジュールはudev
によってオンデマンドでロードされます (デバイスマネージャ)。ただし、モジュールのロード方法を微調整する必要がある場合があります。たとえば、追加のパラメータを使用してモジュールをロードしたり、モジュールの自動ロードを防止したりする必要がある場合があります。
modprobe
を使用して、モジュールをカーネルに手動でロードできます。 コマンド、または/etc/modules
を使用して起動時に自動的に または/etc/modules-load.d/*.conf
ファイル。
この記事では、modprobe
の使用方法について説明します Linuxカーネルにモジュールを追加および削除します。 modprobe
kmod
の一部です 、Linuxカーネルモジュールの管理に使用される複数のプログラムを実装するバイナリ。
カーネルモジュールの追加#
カーネルモジュールは、/lib/modules/<kernel_version>
に保存されます。 ディレクトリ。実行中のカーネルのバージョンを見つけたら、uname -r
を使用します コマンド。
管理者権限を持つユーザーのみがカーネルモジュールを管理できます。
モジュールをロードするには、modprobe
を呼び出します コマンドの後にモジュール名を続ける:
modprobe module_name
modprobe
コマンドは、指定されたモジュールと追加のモジュール依存関係をロードします。コマンドラインで指定できるモジュールは1つだけです。
lsmod
を使用します モジュールがロードされていることを確認するコマンド:
lsmod | grep module_name
追加のパラメータを使用してモジュールをロードするには、parameter=value
を使用します 構文:
modprobe module_name parameter=value
このコマンドは、複数のparameter=value
を受け入れます スペースで区切られたペア。
通常、システムの起動中にモジュールをロードする必要があります。これを行うには、/etc/modules-load.d
内のファイルでモジュールとそのパラメーターを指定します。 ディレクトリ。ファイルは.conf
で終わる必要があります 任意の名前を付けることができます:
option module_name parameter=value
これらのファイルで指定された設定は、udev
によって読み取られます。 、modprobe
を使用してシステムの起動時にモジュールをロードします 。
カーネルモジュールの削除#
モジュールを削除するには、modprobe
を呼び出します -r
を使用したコマンド オプションの後にモジュール名が続く:
modprobe -r module_name
modprobe
未使用のモジュールの依存関係も削除されます。
-r
で呼び出された場合 、コマンドは引数として複数のモジュールを受け入れます:
modprobe -r module_name1 module_name2
rmmod
を使用することもできます Linuxカーネルからモジュールをアンロードするコマンド。
起動時にカーネルモジュールが読み込まれないようにする場合は、.conf
を作成します。 /etc/modprobe.d
内の任意の名前のファイル 。構文は次のとおりです。
blacklist module_name
追加のモジュールをブラックリストに登録する場合は、新しい行でモジュールを指定するか、新しい.conf
を作成します。 ファイル。
結論#
modprobe
コマンドを使用すると、Linuxカーネルモジュールを追加および削除できます。
ご不明な点がございましたら、お気軽にコメントをお寄せください。