Problém: Po startu se mi nespouští démon a musím ho startovat ručně
Odpověď: Startovací skript nemá link v adresáři pro příslušný runlevel. U některých programů je to takto zařízeno dokonce i v distribuční verzi naschvál, aby byl správce donucen program nejprve správně nakonfigurovat a pak teprve si sám zařídil automatické spouštění.
# Startup script for the Apache Web Server # # chkconfig: 35 55 45např. příkazem
chkconfig --level 35 httpd onzajistíte spouštění služby httpd v runlevelech 3 a 5 s prioritou podle údajů v /etc/init.d/httpd (tj. 55 pro start a 45 pro kill) - viz chkconfig (8).
for i in \ /etc/rc0.d/K45sshd /etc/rc1.d/K45sshd \ /etc/rc2.d/S55sshd /etc/rc3.d/S55sshd \ /etc/rc5.d/S55sshd /etc/rc6.d/K45sshd do ln -s ../init.d/sshd $i doneNebo pro rwhod takto:
for i in \ /etc/rc0.d/K20rwhod \ /etc/rc1.d/K20rwhod \ /etc/rc2.d/S60rwhod \ /etc/rc3.d/S60rwhod \ /etc/rc5.d/S60rwhod \ /etc/rc6.d/K20rwhod do ln -s ../init.d/rwhod $i done
Všechna tato řešení dělají nakonec totéž. To hlavní, co je potřeba zajistit, je existence startovacích (start, S*) a ukončovacích (kill, K*) souborů v adresářích /etc/rc3.d, resp. /etc/rc5.d pro spouštění příslušného programu v runlevelu 3, resp. 5. Obvykle jsou zde jenom symbolické odkazy do adresáře /etc/init.d, kde jsou "skutečné verze" těchto spouštěcích skriptů. Skripty se spouští postupně, dvojčíslí za písmenem S nebo K určuje pořadí spouštění. Příklady jsou uvedeny pro distribuce s FHS 2.0 (Debian, Red Hat od verze 7 apod.), v debianovských distribucích je k dispozici je také program update-rc.d, v SuSE Linuxu je obvykle lepší se řídit vlastními nástroji této distribuce. Ve starších distribucích mohou být adresáře rc?.d a init.d podadresáři /etc/rc.d.
Odkazy: