5.4. Benutzen von sysctl

Der Befehl /sbin/sysctl wird zum Betrachten, Setzen und Automatisieren von Kerneleinstellungen im Verzeichnis /proc/sys verwendet.

Um einen schnellen Überblick über alle konfigurierbaren Einstellungen im Verzeichnis /proc/sys/ zu bekommen, geben Sie den Befehl /sbin/sysctl -a als root ein. Dies gibt eine lange, umfassende Liste aus, wobei ein kleiner Teil dieser Liste ungefähr so aussehen könnte:

net.ipv4.route.min_delay = 2
kernel.sysrq = 0
kernel.sem = 250     32000     32     128

Das ist im Prinzip diesselbe Information, die Sie auch sähen, wenn Sie jede Datei einzeln betrachteten. Der einzige Unterschied ist der Ort der Datei. Die Datei /proc/sys/net/ipv4/route/min_delay wird durch net.ipv4.route.min_delay angesprochen, die Schrägstriche im Verzeichnis werden durch Punkte ersetzt, und derproc.sys-Teil wird angenommen.

Der Befehl sysctl kann anstelle von echo für das Zuweisen von Werten zu schreibfähigen Dateien im Verzeichnis /proc/sys/ verwendet werden. Zum Beispiel, anstatt diesen Befehl zu verwenden,

echo 1 > /proc/sys/kernel/sysrq

benutzen Sie den äquivalenten sysctl-Befehl wie folgt:

sysctl -w kernel.sysrq="1"
kernel.sysrq = 1

Auch wenn das schnelle Setzen von Werten, wie bei diesem in /proc/sys/ nützlich zum Testen ist, funktioniert das nicht gut auf einem Produktionssystem, weil alle Einstellungen aus /proc/sys/ bei einem Neustart verloren gehen. Um permanente Einstellungen zu sichern, fügen Sie diese zu der Datei /etc/sysctl.conf hinzu.

Jedes Mal, wenn das System gestartet wird, wird das Skript /etc/rc.d/rc.sysinit von init aufgerufen. Dieses Skript enthält einen Befehl um sysctl auszuführen und verwendet /etc/sysctl.conf zur Vorgabe der Werte, die an den Kernel gegegeben wurden. Alle Werte, die zu /etc/sysctl.conf hinzugeführt wurden, werden nach jedem Neustart aktiviert.