Angleška različica tega članka je iz: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
1. O /etc/init.d Če ste kdaj uporabljali Linux sistem, ste že slišali za imenik init.d. Za kaj točno je ta katalog? Na koncu dneva naredi le eno stvar, a ni trivialna stvar, saj je namenjena celotnemu sistemu, zato je zelo pomembna. Imenik init.d vsebuje veliko začetnih in končnih skript za različne storitve sistema. Nadzoruje vse od acpid do x11-common. Seveda init.d ni tako preprost. (Opomba prevajalca: ACPID je nov standard za upravljanje porabe energije za operacijske sisteme Linux; X11 se imenuje tudi X Window sistem, X Window sistem (X11 ali X) je okenski sistem z bitno mapo prikaza. Gre za standardni komplet orodij in protokol za izdelavo grafičnih uporabniških vmesnikov na Unix in Unixu podobnih operacijskih sistemih, pa tudi na OpenVMS, in ga je mogoče uporabiti skoraj za vse sodobne operacijske sisteme. Ko pogledate /etc imenik, boste našli veliko imenikov, ki obstajajo v obliki rc#.d (kjer # predstavlja določeno inicializacijsko raven, razpon je 0~6). Pod temi imeniki je veliko skript, ki nadzorujejo proces. Te pisave se začnejo bodisi z "K" ali z "S". Skripte, ki se začnejo s K, se izvajajo pred tistimi, ki se začnejo s S. Kje bodo te skripte nameščene, bo določilo, kdaj začnejo delovati. Med temi imeniki sistemske storitve delujejo skupaj kot zdrav stroj. Vendar pa včasih želiš proces začeti ali ubiti brez ukazov kill ali killall. Tu pride prav /etc/init.d! Če uporabljate Fedora sistem, lahko najdete ta imenik: /etc/rc.d/init.d. Pravzaprav se zgodi isto, ne glede na to, kam vneseš init.d. Da bi lahko uporabljali skripte v init.d mapi, potrebujete root ali sudo privilegije. Vsaka skripta se izvaja kot ukaz, ki je strukturiran približno takole: /etc/init.d/command option COMAND je dejanski ukaz, ki se izvede, možnosti pa so lahko naslednje: začni ustavi se ponovno polnjenje Ponovni zagon Prisilno ponovno polnjenje V večini primerov boš uporabil možnosti začetek, ustavi, ponovni zagon. Na primer, če želite izklopiti omrežje, lahko uporabite ukaz, kot je ta:
/etc/init.d/networking stop Drug primer je, da spremeniš nastavitve omrežja in moraš ponovno zagnati omrežje. Lahko uporabite ukaze, kot so ta: /etc/init.d/ponovni začetek omrežja Pogosto uporabljene inicializacijske skripte v imeniku init.d so:
Mreženje samba Apache2 FTPD SSHD Golobnik mysql Seveda imate morda tudi druge, bolj pogosto uporabljene skripte, odvisno od tega, kateri Linux operacijski sistem imate nameščen. 2. O /etc/rc.local rc.local je tudi skripta, ki jo veliko uporabljam. Skripta se izvede po zagonu skripte na ravni inicializacije sistema, zato je varno, da dodate skripto, ki jo želite zagnati, ko se sistem zažene. Pogost primer je, da lahko vanj dodaš NFS mount ali mount skripto. Lahko dodaš tudi nekaj skriptnih ukazov za razhroščevanje v notranjosti. Na primer, naletel sem na situacijo, kjer storitev samba vedno ne deluje pravilno, pregled pa pokaže, da bi se morala samba začeti in izvesti ob zagonu sistema, torej konfiguracija samba demona zagotavlja, da je ta funkcija pravilno izvedena. V tem primeru običajno ne porabim veliko časa z iskanjem zakaj, samo dodati moram to vrstico v skripto /etc/rc.local: /etc/init.d/samba začetek Na ta način je bil uspešno rešen problem izjeme SAMBA storitev.
3. Povzetek Linux je prilagodljiv. Zaradi svoje prilagodljivosti lahko vedno najdemo veliko različnih načinov za reševanje istega problema. Primer zagona sistemske storitve je dober primer. S skripto v mapi /etc/init.d in zmogljivim orodjem /etc/rc.local ste lahko prepričani, da bo vaša storitev delovala brezhibno.
|