kernel
S kernelom možno obcovať niekoľko sposobmi:
- prekomplilovať ho
- pomocou modulov
- za behu parametricky cez /proc
1. kompilácia kernelu (pre Centos)
tento (RPM way ) a tento link (klasická cesta)
2. moduly
Moduly sú kusy softu, ktoré sa zavádzajú ako drivery pre nejaků funkcionalitu/hardware. Fyzicky sa nachádzajú v /lib/modules/KERNEL_VER . V prípade, že ho chcem zaviesť hneď po štarte systému do jadra, tak umiestniť konfigurák do /etc/modprobe.d/. V niektorých iných verziách sú moduly, ktoré nabiehajú po štarte jadra v /etc/modules.conf (nabiehajú pred démonmi a pred runlevelom!). Modul beží v kernel space, nie v userspace a dobrý všeobecný článok o programovaní modulov má Derek Molloy.
lsmod —–> vylistuje všetky moduly zavedené do jadra, uvedie názov, veľkosť a vlastníka (procesy a zariadenia, kt. ho používajú)
modinfo @MODUL —–> detailný výpis parametrov modulu
xxxxxxxxxxxxxxxxxxxxxx
insmod (modprobe) – zavedenie modulu
rmmod (modprobe -r) – odstranenie modulu (nepojde, ak sú tam závislosti vylistovateľné v lsmod), príp. použiť depmod -n na list závislostí
xxxxxxxxxxxxxxxxxxxxxxx
3. /proc/sys
Parametry kernelu je možné meniť za behu vo virtuálnom pseudosystéme /proc. Robí sa to 3 sposobni:
- vypísaním parametrov priamo do konfiguráku – napr echo “1” > /proc/sys/net/ipv4/ip_forward – neni persistent
- cez utilitku sysctl, korá robí to isté – ale s rozdielnou syntaxou (sysctl -w net.ipv4.ip_forward=1). prepínač “w” je na write a syntax má zvláštnu dotovú. Je persistent, zapíše sa to do /etc/sysctl.conf
- zápisom do konfiguráku /etc/sysctl.conf – je persistent
sysctl -a ——> vypísanie všetkých systémových parametrov (napr. u mňa aktiálne 820)
sysctl -p /etc/sysctl.conf ——> znovu načítať obsah hlavného konfu