カーネルモジュールの制御
Linuxのカーネルでは、特定のハードウェアに必要なデバイスドライバといった利用者が限られる機能などを必要に応じ読み込みや解放ができるモジュールという形式で提供しています。このため、不必要なモジュールを読み込まないことでリソースの節約が可能です。この章では、カーネルモジュールを制御する方法について解説します。
- IV.20.1. カーネルモジュールを制御するコマンド
- IV.20.2. 起動時のカーネルモジュールの制御
IV.20.1. カーネルモジュールを制御するコマンド
以下、カーネルモジュールを制御するコマンドについて簡単に説明します。それぞれのコマンドの詳細は、manページを確認してください。
$ man lsmod
- IV.20.1.1. 読み込まれているモジュールの一覧表示
- IV.20.1.2. カーネルモジュールの読み込みと解放
IV.20.1.1. 読み込まれているモジュールの一覧表示
現在読み込まれているモジュールを確認するには、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
IV.20.1.2. カーネルモジュールの読み込みと解放
カーネルモジュールの読み込むと解放には、root権限でmodprobeコマンドを利用します。
以下の例では、パラレルポート用プリンタを使用するのに必要なlpモジュールをロードします。
$ sudo /sbin/modprobe lp
なお、lpモジュールが依存するモジュールも同時に読み込まれます。
以下の例では、PCスピーカのビープ音を鳴らすモジュールを解放します。
$ sudo /sbin/modprobe -r pcspkr
なお、これらのコマンドによる操作結果は、コンピュータを終了するまでの一時的なものです。
IV.20.2. 起動時のカーネルモジュールの制御
起動時に自動的に読み込ませたいモジュールがある場合、ディレクトリ/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