wiki:docs/vl7/cui-guide/kernel-module

Vine Linux ドキュメント / Vine Linux 7.x / CUI ユーザーズガイド / カーネルモジュールの制御

カーネルモジュールの制御

Linuxのカーネルでは、特定のハードウェアに必要なデバイスドライバといった利用者が限られる機能などを必要に応じ読み込みや解放ができるモジュールという形式で提供しています。このため、不必要なモジュールを読み込まないことでリソースの節約が可能です。この章では、カーネルモジュールを制御する方法について解説します。

カーネルモジュールを制御するコマンド

以下、カーネルモジュールを制御するコマンドについて簡単に説明します。それぞれのコマンドの詳細は、manページを確認してください。

$ man lsmod

読み込まれているモジュールの一覧表示 ==

現在読み込まれているモジュールを確認するには、lsmod コマンドを実行します。一般ユーザでも実行可能です。

表示は、4つの列に分かれており、左からモジュール名、大きさ、使用カウント数、当該モジュールを使用しているモジュール名です。

$ /sbin/lsmod
Module                  Size  Used by
udf                    72136  0 
crc_itu_t               2272  1 udf
fuse                   62688  0 
ipv6                  283280  20 
vboxnetflt             88780  0 
vboxdrv              1692492  1 vboxnetflt
autofs4                25224  2 
nf_conntrack_netbios_ns     2752  0 
ipt_REJECT              3200  1 
nf_conntrack_ipv4      14904  1 
nf_defrag_ipv4          2208  1 nf_conntrack_ipv4
xt_state                2336  1 
nf_conntrack           72640  3 nf_conntrack_netbios_ns,nf_conntrack_ipv4,xt_state
xt_tcpudp               3296  3 
iptable_filter          3744  1 
ip_tables              17488  1 iptable_filter

カーネルモジュールの読み込みと解放

カーネルモジュールの読み込むと解放には、root 権限で modprobe コマンドを利用します。

以下の例では、パラレルポート用プリンタを使用するのに必要な lp モジュールを読み込みます。

$ su /sbin/modprobe lp

なお、lp モジュールが依存するモジュールも同時に読み込まれます。

また、現在読み込まれているモジュールを開放したい場合は、オプション -r を使用します。

以下の例では、PCスピーカのビープ音を鳴らすモジュールを解放します。

$ sudo /sbin/modprobe -r pcspkr

なお、これらのコマンドによる操作結果は、コンピュータを終了するまでの一時的なものです。

起動時のカーネルモジュールの制御

起動時に自動的に読み込ませたいモジュールがある場合、ディレクトリ /etc/sysconfig/modules/ に filename.modules のような名前で次の例のようなスクリプトファイルを作成します。(filenameの部分は、任意の名前にします。)

起動時にlpモジュールを読み込ませたい場合、/etc/sysconfig/modules/lp.modules といった名前で以下のスクリプトファイルを作成します。

#!/bin/bash

/sbin/modprobe lp

逆に読み込みを禁止したいモジュールがある場合は、次の例を参考にしてください。

pcspkr モジュールを読み込み禁止にするには、ファイル /etc/modprobe.d/blacklist.conf に以下のような行を追加します。

blacklist pcspkr