| 1 | [wiki:docs Vine Linux ドキュメント] / [wiki:../../ Vine Linux 7.x] / [wiki:../ CUI ユーザーズガイド] / カーネルモジュールの制御 |
| 2 | |
| 3 | = カーネルモジュールの制御 = |
| 4 | |
| 5 | Linuxのカーネルでは、特定のハードウェアに必要なデバイスドライバといった利用者が限られる機能などを必要に応じ読み込みや解放ができるモジュールという形式で提供しています。このため、不必要なモジュールを読み込まないことでリソースの節約が可能です。この章では、カーネルモジュールを制御する方法について解説します。 |
| 6 | |
| 7 | == カーネルモジュールを制御するコマンド == |
| 8 | |
| 9 | 以下、カーネルモジュールを制御するコマンドについて簡単に説明します。それぞれのコマンドの詳細は、manページを確認してください。 |
| 10 | |
| 11 | {{{ |
| 12 | #!sh |
| 13 | $ man lsmod |
| 14 | }}} |
| 15 | |
| 16 | === 読み込まれているモジュールの一覧表示 == |
| 17 | |
| 18 | 現在読み込まれているモジュールを確認するには、lsmod コマンドを実行します。一般ユーザでも実行可能です。 |
| 19 | |
| 20 | 表示は、4つの列に分かれており、左からモジュール名、大きさ、使用カウント数、当該モジュールを使用しているモジュール名です。 |
| 21 | |
| 22 | {{{ |
| 23 | #!sh |
| 24 | $ /sbin/lsmod |
| 25 | Module Size Used by |
| 26 | udf 72136 0 |
| 27 | crc_itu_t 2272 1 udf |
| 28 | fuse 62688 0 |
| 29 | ipv6 283280 20 |
| 30 | vboxnetflt 88780 0 |
| 31 | vboxdrv 1692492 1 vboxnetflt |
| 32 | autofs4 25224 2 |
| 33 | nf_conntrack_netbios_ns 2752 0 |
| 34 | ipt_REJECT 3200 1 |
| 35 | nf_conntrack_ipv4 14904 1 |
| 36 | nf_defrag_ipv4 2208 1 nf_conntrack_ipv4 |
| 37 | xt_state 2336 1 |
| 38 | nf_conntrack 72640 3 nf_conntrack_netbios_ns,nf_conntrack_ipv4,xt_state |
| 39 | xt_tcpudp 3296 3 |
| 40 | iptable_filter 3744 1 |
| 41 | ip_tables 17488 1 iptable_filter |
| 42 | }}} |
| 43 | |
| 44 | === カーネルモジュールの読み込みと解放 === |
| 45 | |
| 46 | カーネルモジュールの読み込むと解放には、root 権限で modprobe コマンドを利用します。 |
| 47 | |
| 48 | 以下の例では、パラレルポート用プリンタを使用するのに必要な lp モジュールを読み込みます。 |
| 49 | |
| 50 | {{{ |
| 51 | #!sh |
| 52 | $ su /sbin/modprobe lp |
| 53 | }}} |
| 54 | |
| 55 | なお、lp モジュールが依存するモジュールも同時に読み込まれます。 |
| 56 | |
| 57 | また、現在読み込まれているモジュールを開放したい場合は、オプション -r を使用します。 |
| 58 | |
| 59 | 以下の例では、PCスピーカのビープ音を鳴らすモジュールを解放します。 |
| 60 | |
| 61 | {{{ |
| 62 | #!sh |
| 63 | $ sudo /sbin/modprobe -r pcspkr |
| 64 | }}} |
| 65 | |
| 66 | なお、これらのコマンドによる操作結果は、コンピュータを終了するまでの一時的なものです。 |
| 67 | |
| 68 | == 起動時のカーネルモジュールの制御 == |
| 69 | |
| 70 | 起動時に自動的に読み込ませたいモジュールがある場合、ディレクトリ /etc/sysconfig/modules/ に filename.modules のような名前で次の例のようなスクリプトファイルを作成します。(filenameの部分は、任意の名前にします。) |
| 71 | |
| 72 | 起動時にlpモジュールを読み込ませたい場合、/etc/sysconfig/modules/lp.modules といった名前で以下のスクリプトファイルを作成します。 |
| 73 | |
| 74 | {{{ |
| 75 | #!sh |
| 76 | #!/bin/bash |
| 77 | |
| 78 | /sbin/modprobe lp |
| 79 | }}} |
| 80 | |
| 81 | 逆に読み込みを禁止したいモジュールがある場合は、次の例を参考にしてください。 |
| 82 | |
| 83 | pcspkr モジュールを読み込み禁止にするには、ファイル /etc/modprobe.d/blacklist.conf に以下のような行を追加します。 |
| 84 | |
| 85 | {{{ |
| 86 | #!sh |
| 87 | blacklist pcspkr |
| 88 | }}} |