Linux servisi mogu da se pokreću, zaustavljaju i ponovo učitavaju pomoću skriptova koji se nalaze u /etc/init.d/. Međutim, tokom startovanja ili prilikom promene runlevel-a, ovi skriptovi se traže u /etc/rcX.d/ gde je X broj runlevel-a.
Ovaj članak će vam pokazati kako da aktivirate, deaktivirate ili modifikujete startovanje servisa.
Kada instalirate novi servis pod Debian-om, standardno podešavanje je da je on aktiviran. Na primer, ako ste upravo instalirali apache2 paket, nakon što ste ga instalirali, apache servis će se učitati i pokretaće se kod svakog butovanja računara.
Ako ne koristite apache stalno, možda ćete želeti da ga isključite kako se ne bi startovao prilikom butovanja i kako biste mogli ručno da ga aktivirate kada vam treba pomoću sledeće komande:
# /etc/init.d/apache2 start
Vi takođe možete da ga deaktivirate prilikom butovanja tako što ćete ukloniti bilo koje simboličke linkove u /etc/rcX.d/SYYapache2 ili tako što ćete upotrebiti update-rc.d.
Prednost upotrebe update-rc.d-a je to što će se on automatski postarati za uklanjanje/dodavanje potrebnih linkova u /etc/init.d.
Koristeći apache2 kao primer, hajde da proučimo kako /etc/rcX.d izgleda na sledeći način:
# ls -l /etc/rc?.d/*apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc0.d/K91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc1.d/K91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc2.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc3.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc4.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc5.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc6.d/K91apache2 -> ../init.d/apache2
Kao što možete da vidite, za runlevel-e 0, 1 i 6 postoji K na početku linka, za runlevele-e 2, 3, 4 i 5, postoji S. Ta dva slova označavaju Kill i Start.
Na Debian-u i Ubuntu-u, runlevel-i 2, 3, 4 i 5 su višekorisnički runlevel-i.
Runlevel 0 je Halt.
Runlevel 1 je single user mode
Runlevel 6 je reboot
1. Uklanjanje servisa
Ako želite ručno potpuno da stopirate apache2 servis, trebaćete da izbrišete svaki postojeći link u /etc/rcX.d/. Ako upotrebite update-rc.d to ćete vrlo jednostavno uraditi na sledeći način:
# update-rc.d -f apache2 remove
Upotreba -f je potrebna da bi se nasilno uklonili symlink-ovi čak i ako još postoji /etc/init.d/apache2.
Napomena: Ova komanda će samo deaktivirati servis sve dok servis sledeći put ne bude nadgrađen. Ako želite da obezbedite da servis ne bude reaktiviran prilikom nadgradnje, treba da ukucate i sledeće:
# update-rc.d apache2 stop 80 0 1 2 3 4 5 6 .
2. Dodavanje servisa
2.1. Standardni prioriteti
Sada, ako želite ponovo da dodate ovaj servis kako bi se pokrenuo prilikom butovanja, možete jednostavno da upotrebite:
# update-rc.d apache2 defaults
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K20apache2 -> ../init.d/apache2
/etc/rc1.d/K20apache2 -> ../init.d/apache2
/etc/rc6.d/K20apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
2.2. Nestandardni prioriteti
Ali kao što možete da vidite, standardna vrednost od 20 je dosta drugačija od 91 ... S20 link je startovan pre S91 a K91 je "kill-ovan" pre K20.
Da biste prisilili apache2 da se pokrene sa prioritetima 91 i za Start i za Kill, mi treba da upotrebimo sledeću komandu:
# update-rc.d apache2 defaults 91
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K91apache2 -> ../init.d/apache2
/etc/rc1.d/K91apache2 -> ../init.d/apache2
/etc/rc6.d/K91apache2 -> ../init.d/apache2
/etc/rc2.d/S91apache2 -> ../init.d/apache2
/etc/rc3.d/S91apache2 -> ../init.d/apache2
/etc/rc4.d/S91apache2 -> ../init.d/apache2
/etc/rc5.d/S91apache2 -> ../init.d/apache2
2.3. Različiti prioriteti za Start i Kill
Alternativno, ako želite da podesite drugačije prioritete za Start nego za Kill, recimo Start sa 20 a Kill sa 80, trebaćete da upotrebite sledeću komandu:
# update-rc.d apache2 defaults 20 80
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
3. Specifikovanje prilagođenih runlevel-ova
I konačno, ako samo želite da upotrebite Start i Kill na specifičnim runlevel-ovima, na primer da startujete apache sa prioritetom 20 na runlevel-ovima 2, 3, 4 i 5 a Kill sa prioritetom 80 na runlevel-ovima 0, 1 i 6, upotrebite sledeću komandu:
# update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
Ili, da biste startovali sa prioritetom 20 na runlevel-ovima 2, 3 i 4 i prioritetu 30 za runlevel 5 i kill sa prioritetom 80 za runlevel 0, 1 i 6, upotrebite sledeću komandu:
# update-rc.d apache2 start 20 2 3 4 . start 30 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S30apache2 -> ../init.d/apache2
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272 |
||