5.4. Uso del comando sysctl

El comando /sbin/sysctl es usado para visualizar, configurar y automatizar configuraciones del kernel en el directorio /proc/sys/.

Para tener una vista rápida de todas las variables configurables en el directorio /proc/sys/, escriba el comando /sbin/sysctl -a como root. Esto creará una lista grande y exhaustiva, de la cual le mostramos un pequeño parte:

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

Esta es la misma información que vería si echara un vistazo a cada uno de los archivos individualmente. La única diferencia es la localización del archivo. Por ejemplo, el archivo /proc/sys/net/ipv4/route/min_delay está representado por net.ipv4.route.min_delay, con las barras oblicuas del directorio sustituídas por puntos y la porción asumida proc.sys.

El comando sysctl se puede usar en vez de echo para asignar valores a los archivos en los que se puede escribir en el directorio /proc/sys/ . Por ejemplo, en vez de usar el comando

echo 1 > /proc/sys/kernel/sysrq

utilice el comando sysctl equivalente como se muestra:

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

A pesar de que es muy útil durante las pruebas el poder rápidamente efectuar configuraciones de valores simples en /proc/sys/, esto no funciona bien en un ambiente de producción puesto que las configuraciones especiales en /proc/sys/ se pierden cuando se vuelve a arrancar el sistema. Para conservar las configuraciones personalizadas, añádalas al archivo /etc/sysctl.conf.

Cada vez que el sistema arranque, el programa init ejecuta el script /etc/rc.d/rc.sysinit. Este script contiene un comando para ejecutar sysctl mediante el uso de /etc/sysctl.conf para determinar los valores pasados al kernel. Cualquier valor añadido a /etc/sysctl.conf surtirá efecto cada vez que el sistema arranque.