5.4. Usando il comando sysctl

Il /sbin/sysctl è utilizzato per visualizzare, impostare e automatizzare parametri speciali del kernel nella directory /proc/sys/.

Se desiderate una rapida panoramica di tutte le impostazioni configurabili nella directory /proc/sys, digitate il comando /sbin/sysctl-a come utente root. Questo rende possibile di ottenere un elenco molto dettagliato, una piccola parte di tale elenco ha all'incirca il seguente aspetto:

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

In questo modo si ottengono le stesse informazioni fornite dalla visualizzazione di un singolo file alla volta. L'unica differenza è data dalla posizione del file. Per esempio, /proc/sys/net/ipv4/route/min_delay è elencato come net.ipv4.route.min_delay: gli slash della directory sono sostituiti da punti e la parte proc.sys è presunta.

Il comando sysctl può essere utilizzato al posto di echo per assegnare dei valori a file scrivibili nella directory /proc/sys/. Per esempio, invece di utilizzare questo comando:

echo 1 > /proc/sys/kernel/sysrq

Il comando sysctl equivaleente è il seguente:

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

L'impostazione rapida di singoli valori come questo all'interno di /proc/sys risulta utile quando si sta effettuando una prova, ma non dà risultati altrettanto positivi su un sistema di produzione, in quanto le impostazioni speciali presenti in /proc/sys vanno perdute al riavvio della macchina. Per conservare le impostazioni personali, aggiungetele al file /etc/sysctl.conf.

A ogni riavvio del sistema, il programma init esegue lo script /etc/rc.d/rc.sysinit. Questo script contenente un comando per l'esecuzione di sysctl, utilizzando /etc/sysctl.conf per stabilire i valori passati al kernel. I valori aggiunti a /etc/sysctl.conf avranno effetto subito dopo l'avvio del sistema.