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; ein kleiner Teil dieser Liste könnte z.B. so aussehen:

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 schreibbaren Dateien im Verzeichnis /proc/sys/ verwendet werden. Statt diesen Befehl zu verwenden:

echo 1 > /proc/sys/kernel/sysrq

Der entsprechende sysctl-Befehl ist Folgender:

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.