5.4. sysctl コマンドの使用
/sbin/sysctl コマンドは、
/proc/sys/
ディレクトリーでカーネル設定を表示、設定、および自動化するために使用されます。
/proc/sys/
ディレクトリーで設定可能なすべての設定の概要については、root で /sbin/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
部分が想定されます。
sysctl コマンドを echo の代わりに使用して、
/proc/sys/
ディレクトリー内の書き込み可能なファイルに値を割り当てることができます。たとえば、コマンドを使用する代わりに、以下を実行します。
echo 1 > /proc/sys/kernel/sysrq
以下のように同等の sysctl コマンドを使用します。
~]# sysctl -w kernel.sysrq="1"
kernel.sysrq = 1
/proc/sys/
でこのような単一の値をすばやく設定するとテスト時に役立ちますが、この方法は実稼働システムではマシンを再起動すると /proc/sys/
内の特別な設定が失われるためです。カスタム設定を保持するには、/etc/sysctl.conf
ファイルに追加します。
システムの起動時に、init プログラムが
/etc/rc.d/rc.sysinit
スクリプトを実行します。このスクリプトには、/etc/ sysctl.conf
を使用して sysctl を実行し、カーネルに渡される値を判断するコマンドが含まれています。したがって、/etc/sysctl.conf
に追加した値は、システムが起動するたびに有効になります。