Anglická verzia tohto článku pochádza z: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
1. O /etc/init.d Ak ste niekedy používali Linuxový systém, určite ste počuli o adresári init.d. Na čo presne tento katalóg slúži? Na konci dňa robí len jednu vec, ale nie je to triviálna vec, robí sa to pre celý systém, takže je to veľmi dôležité. Adresár init.d obsahuje mnoho štartovacích a stop skriptov pre rôzne služby systému. Ovláda všetko od accpid po x11-common. Samozrejme, init.d nie je vôbec taký jednoduchý. (Poznámka prekladateľa: ACPID je nový štandard správy napájania pre operačné systémy Linux; X11 sa tiež nazýva systém X Window, systém X Window (X11 alebo X) je systém okien s bitmapovým zobrazením. Je to štandardný nástroj a protokol na tvorbu grafických používateľských rozhraní na Unix a Unix-like operačných systémoch, ako aj v OpenVMS, a dá sa použiť takmer pre všetky moderné operačné systémy. Keď sa pozriete do adresára /etc, nájdete mnoho adresárov vo forme rc#.d (kde # predstavuje určenú úroveň inicializacie, rozsah je 0~6). Pod týmito adresármi je mnoho scenárov, ktoré riadia proces. Tieto písma začínajú buď na "K" alebo na "S". Skripty začínajúce na K bežia skôr ako skripty začínajúce na S. Kde budú tieto skripty umiestnené, určí, kedy začnú bežať. Medzi týmito adresármi fungujú systémové služby spolu ako zdravý stroj. Niekedy však chcete začať alebo ukončiť proces čisto bez použitia príkazov zabiť alebo zabiť všetko. Práve tu prichádza na rad /etc/init.d! Ak používate systém Fedora, nájdete tento adresár: /etc/rc.d/init.d. Vlastne to robí to isté bez ohľadu na to, kam init.d. dáš. Aby ste mohli používať skripty v adresári init.d, potrebujete root alebo sudo oprávnenia. Každý skript sa spustí ako príkaz, ktorý je štruktúrovaný približne nasledovne: /etc/init.d/command option COMand je skutočný príkaz, ktorý sa spustí, a možnosti môžu byť nasledovné: začiatok zastaviť Nabíjanie Reštart Nútené prebíjanie Vo väčšine prípadov použijete možnosti štart, stop, reštart. Napríklad, ak chcete vypnúť sieť, môžete použiť príkaz ako tento:
/etc/init.d/networking stop Ďalším príkladom je, že zmeníte nastavenia siete a musíte sieť reštartovať. Môžete použiť príkazy ako tento: /etc/init.d/sieťový reštart Bežne používané inicializačné skripty v adresári init.d sú:
Sieťovanie Samba Apache2 FTPD SSHD holubník mysql Samozrejme, môžete mať aj iné, bežnejšie skripty, v závislosti od toho, aký linuxový operačný systém máte nainštalovaný. 2. O /etc/rc.local rc.local je tiež skript, ktorý často používam. Skript sa vykoná po spustení skriptu na úrovni inicializacie systému, takže je bezpečné pridať skript, ktorý chcete spustiť, až po spustení systému. Bežným prípadom je, že do neho môžete pridať NFS skript na montáž/montáž. Môžete tiež pridať skriptové príkazy na ladenie vo vnútri. Napríklad som sa stretol so situáciou, kde služba samba vždy zlyháva správne a kontrola ukazuje, že samba mala byť spustená a vykonaná už pri štarte systému, teda konfigurácia samba démonu zabezpečuje, že táto funkcia bude vykonaná správne. V tomto prípade zvyčajne netrávim veľa času hľadaním prečo, stačí pridať tento riadok do skriptu /etc/rc.local: /etc/init.d/samba start Týmto spôsobom bol úspešne vyriešený problém výnimky SAMBA služieb.
3. Zhrnutie Linux je flexibilný. Vďaka svojej flexibilite môžeme vždy nájsť mnoho rôznych spôsobov, ako vyriešiť ten istý problém. Príklad spustenia systémovej služby je dobrým príkladom. So skriptom v adresári /etc/init.d a výkonným nástrojom /etc/rc.local si môžete byť istí, že vaša služba bude fungovať bez problémov.
|