その時点でLinuxLikeオペレーティングシステムをインストールすると、Linuxカーネルはほとんどのデバイスドライバーのモジュールをインストールし、インストール後に、コマンドmodprobeおよびinsmodを使用して新しいデバイスドライバーをモジュールとしてインストールすることもできます。
通常、カーネルモジュールは自動的にロードされますが、手動で追加モジュールをインストールする必要がある場合もあります。たとえば、ストレージデバイスなどのデバイスドライバをインストールしたい場合。このために、いくつかのコマンドがあります。それらのいくつかを以下に示します。
lsmodコマンド
lsmodは「リストモジュール」の略です ‘。名前が示すように、このコマンドはシステムに現在ロードされているカーネルモジュールを一覧表示します。
[[email protected] ~]# lsmod
特定のモジュールを検索したい場合。これはネットワークドライバモジュール( e1000 )にすることができます )その後、 grepを介して実行できます コマンド。
[[email protected] ~]# lsmod | grep e1000
modinfoコマンド
modinfoは「モジュール情報」の略です ‘。このコマンドは、カーネルモジュールに関する情報を表示します。たとえば、ネットワークドライバモジュールに関する情報を表示したい場合:
[[email protected] ~]# modinfo e1000
modinfoコマンドの出力は、このモジュールのバージョン、製造工場を示す説明、ライセンスはGPL、およびその他の重要な情報を明確に示しています。
modprobeコマンド
modprobeコマンドは、カーネルにモジュールを追加したり、カーネルからモジュールを削除したりするために使用されます。 Linuxは、カーネルモジュールディレクトリを「 / lib / modules/'uname-r」/kernel/ drivers /の下に維持します。 ‘および構成ファイル( /etc/modprobe.d/の追加の構成ファイルを除く) )。カーネルドライバを確認したい場合は、以下のコマンドを実行してください。
[[email protected] ~]# ls /lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/
i8kを追加する必要がある場合 このモジュールが「デルのラップトップでSMMBIOSにアクセスする」ために使用しているカーネルモジュール 」
[[email protected] ~]# modprobe i8k
このコマンドの出力にエラーがある場合は、「 –quite」を使用できます。 ‘オプション、このフラグまたはオプションを指定すると、modprobeはエラーメッセージを出力しません。
注: ほとんどの場合、 modprobeを使用します insmodを介してカーネルモジュールをインストールするコマンド Linuxでカーネルモジュールをロードするためにも使用されます。
カーネルモジュールを削除する
-r modprobeコマンドのオプションは、カーネルモジュールを削除するために使用されます。フロッピーモジュールを削除したいとします。
[[email protected] ~]# modprobe -r floppy [[email protected] ~]#
ここでは、入力した後にカーネルからフロッピーモジュールを削除します
[[email protected] ~]# lsmod | grep floppy
何も表示されないはずです。このモジュールを再度追加する場合は、次のように入力できます
[[email protected] ~]# modprobe floppy
ある時点で、モジュールのロード中に問題が発生したり、モジュールが正しくロードされなかったりする場合があります。これらのエラーを克服するために、「 –force」を使用してモジュールを強制的に追加またはロードできます。 オプション( -f )modprobeコマンドで。
[[email protected] ~]# modprobe -f floppy
モジュールのロード中にまだ問題やエラーが発生する場合は、今回はデバッグを行う必要があります。デバッグを有効にすることで、モジュールのインストール前またはインストール後に正確なエラーまたは問題を見つけることができます。言い換えれば、デバッグはモジュールのロードのドライランと同等です。
‘ -n’ modprobeコマンドのオプションを使用すると、このタイプのデバッグを有効にできます。このオプションは、modprobeコマンドに、最後のステップを除くすべてのモジュールロードステップを実行するように強制します。
[[email protected] ~]# modprobe -vn 'module_name'
また、「 –show-depends 」を使用すると、モジュールの依存関係を確認できます。 ‘modprobeコマンドの例を以下に示します
[[email protected] ~]# modprobe --show-depends e1000 insmod /lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000/e1000.ko [[email protected] ~]#
この記事は以上です。 Linuxでカーネルモジュールを一覧表示、インストール、削除する方法を理解していただければ幸いです。