Ako vytvorit spravne init script

Založil rado3105, 01. 08. 2011, 15:13:02

Předchozí téma - Další téma

rado3105

Zdravim , potreboval by som vytvorit init script v debiane. Ale akosi sa mi nedari.
Potreboval by som aby tam bolo toto:
flow-capture -w /var/netflow/ft 0/0/2055 -S5 -V5 -E1G -n 287 -N 0 -R /usr/local/netflow/bin/linkme

ale ked to chcem dat aby sa spustalo pri starte, ukaze mi taktuto chybu:
update-rc.d startflowcapture defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'K01startflowcapture' missing LSB tags and overrides
insserv: warning: script 'startflowcapture' missing LSB tags and overrides

Hobild

#1
nejprve zkus sluzbu jen spustit:
etc/init.d/<sluzba> start
"S" na zacatku nazvu znamena, ze se v dane urovni behu spousti, "K" pak vypina/nespousti /kill/. To se tyka adresaru rcX.d.
Pokud to neumis rucne, pouzij nastavovatko, v grafickem havu /spousti jen root/ z balicku "bum" (BootUpManager)
doufam, ze znas runlevely v debu, kdyz se poustis do tvorby init skriptu
H.

rado3105

V ubuntu som to robil takto bez problemov.
Presiel som na debian, tu to je ine.

Nemusi to byt init script, staci aby mi dany prikaz spustilo vzdy po starte systemu.
Viete poradit? iny sposob ako initscript?

Hobild

#3
init scrip je nejcistci reseni, ale neni nejjednodussi.
Jednodussi je to dat napr. do .bashrc v uzivatelove adresari, nebo do pro vsechny napr. do /etc/profile.d/nazev_skriptu.

Init skripty funguji jednoduse receno takto:
skript musi mit zahlavi definovate tak, jak je uvedeno v /etc/init.d/README, prakticke priklady viz vsechny skripty v danem adresari. Ulozi se prave sem.
Skript se pak vola prislusnou urovni behu (tj. symlinkem z prislusneho adresare /etc/rcX.d, kde X je cislo urovne behu) s tim, ze S a K znamenaji to, co jsem psal v prispevku vyse a cislo pak poradi ve kterem se skripty spousti (nektere sluzby jsou zavisle na behu jinych, ktere se proto musi spustit driv)
Tyhle symlinky nedelas rucne, ty se vygeneruji prikazem update-rc.d (dalsi viz /etc/rc2.d/README).
Takze jednodussi to bude asi bez init skriptu
H.