/proc/sysディレクトリ内のカーネルパラメータ設定は手動で行う必要はありません。また間違わないよう心配しながら仮想ファイルにエコーする必要もありません。sysctlコマンドは閲覧、設定、特別なカーネルの自動設定を非常に容易にしてくれます。
/proc/sysディレクトリ内のすべての可能な設定の概要を知るには、rootとしてsysctl -aコマンドを入力します。これは大きく包括的な一覧を作成します。その一部は以下のようになっています。
net.ipv4.route.min_delay = 2 kernel.sysrq = 0 kernel.sem = 250 32000 32 128 |
これはファイルを個別に見た場合と同じ基本情報です。唯一の違いはファイルロケーションです。/proc/sys/net/ipv4/route/min_delayはnet.ipv4.route.min_delayで示されます。ディレクトリのスラッシュはドットと仮定したproc.sysに置き換えられています。
/proc/sys項に示されているように、値をファイルにエコーさせて書き込み可能なファイルに値を手動で割り当てることができます。sysctlコマンドでも同じことができます。sysctl -w <ファイル>="<新しい値>"と入力します。たとえば、システム要求キーをアクティブにするには、以下のコマンドが必要です。
[root@bleach /]# sysctl -w kernel.sysrq="1" kernel.sysrq = 1 [root@bleach /]# |
/proc/sysにこうした単一の値をすぐに設定できるのでテスト中は重宝しますが、/proc/sysの特別な設定はすべてマシンの再起動時に失われるので生産システム上では機能しません。カーネルに対しずっと有効にしておきたい設定を保存するには、その設定を/etc/sysctl.confファイルに追加します。
システムがブートするたびに、/etc/rc.d/rc.sysinitスクリプトがinitによって実行されます。このスクリプトには/etc/sysctl.confを設定する値として使用されるsysctlを実行するコマンドが含まれています。ですから、/etc/sysctl.confに追加された値は、システムブート後に有効となり、変更を組み込むためにカーネルを再設定し再コンパイルする必要はありません。