Jak změnit parametr jádra za chodu systému

Problém: Lze změnit parametr jádra za chodu systému?

Odpověď: Při překladu jádra je předem určena většina konstant a parametrů budoucího systému. Od verze jádra 2.2.10 (plus minus 200) bylo do struktury /proc implementováno sysctl.

sysctl je nástroj konfigurace prostředků běžícího jádra. Podle dokumentace v jádře žádná dokumentace není potřeba, protože přece máme zdrojáky. Vše, co tedy potřebujete, je:

Program sysctl je součástí balíčku procps a měl by být součástí každé linuxové instalace. Vždy vám zůstává možnost zapisovat do struktury /proc/sys přímo pomocí echo a samozřejmě také přeložit si jádro s jinými parametry. Ale práce se sysctl je pohodlnější a přehlednější. K sysctl existuje také grafická nadstavba sysctlconfig, která nepokrývá všechny možnosti programu, ale zato nabízí k parametrům, které zná, vhodné hodnoty, a dá se tak celkem málo zkazit.

Příklady:

sysctl net.ipv4.ip_forward
vypsat hodnotu proměnné net.ipv4.ip_forward
sysctl net.ipv4.ip_forward=1
nastavit hodnotu proměnné net.ipv4.ip_forward na 1 - zapnout forwardování paketů na routeru
sysctl -a
vypsat všechny proměnné a jejich hodnoty
sysctl -p
nastavit proměnné podle údajů v souboru /etc/sysctl.conf (provádí se obvykle jednou, při startu počítače, a to automaticky v některém rc-skriptu, např. rc.sysinit v distribucích jako RHL)

Odkazy: