Šī raksta angļu valodas versija ir no: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
1. Par /etc/init.d Ja kādreiz esat izmantojis Linux sistēmu, tad esat dzirdējis par direktoriju init.d. Kam tieši ir šis katalogs? Dienas beigās tas dara tikai vienu lietu, bet tā nav triviāla lieta, tas tiek darīts visai sistēmai, tāpēc tas ir ļoti svarīgi. Direktorijā init.d ir daudz sākuma un apturēšanas skriptu dažādiem sistēmas pakalpojumiem. Tas kontrolē visu, sākot no acpid līdz x11-common. Protams, init.d ir tālu no tik vienkārša. (Tulkotāja piezīme: ACPID ir jauns enerģijas pārvaldības standarts Linux operētājsistēmām; X11 sauc arī par X Window sistēmu, X Window sistēma (X11 vai X) ir logu sistēma ar bitkartes displeju. Tas ir standarta rīku komplekts un protokols grafisko lietotāja interfeisu veidošanai Unix un Unix līdzīgās operētājsistēmās, kā arī OpenVMS, un to var izmantot gandrīz visām mūsdienu operētājsistēmām). Aplūkojot direktoriju /etc, jūs atradīsiet daudzus direktorijus, kas pastāv rc#.d formā (kur # apzīmē noteiktu inicializācijas līmeni, diapazons ir 0~6). Šajos direktorijos ir daudz skriptu, kas kontrolē procesu. Šie skripti sākas ar "K" vai "S". Skripti, kas sākas ar K, tiek izpildīti pirms skriptiem, kas sākas ar S. Kur šie skripti tiek novietoti, noteiks, kad tie sāks darboties. Starp šiem direktorijiem sistēmas pakalpojumi darbojas kopā kā veselīga mašīna. Tomēr dažreiz vēlaties sākt vai nogalināt procesu tīri, neizmantojot komandas kill vai killall. Šeit noder /etc/init.d! Ja izmantojat Fedora sistēmu, varat atrast šo direktoriju: /etc/rc.d/init.d. Patiesībā tas dara to pašu, neatkarīgi no tā, kur jūs ievietojat init.d. Lai varētu izmantot skriptus direktorijā init.d, jums ir nepieciešamas root vai sudo privilēģijas. Katrs skripts tiks palaists kā komanda, kas ir strukturēta aptuveni šādi: /etc/init.d/command opcija comand ir faktiskā komanda, kas darbojas, un opcijas var būt šādas: Sākt apstājieties Pārlādēt Restartēt Spēka pārlādēšana Vairumā gadījumu izmantosiet sākuma, apturēšanas, restartēšanas opcijas. Piemēram, ja vēlaties izslēgt tīklu, varat izmantot šādu komandu:
/etc/init.d/networking stop Vēl viens piemērs ir tīkla iestatījumu maiņa un tīkla restartēšana. Varat izmantot šādas komandas: /etc/init.d/networking restart Visbiežāk izmantotie inicializācijas skripti direktorijā init.d ir:
tīklošana samba Apache2 ftpd sshd Dovecot mysql Protams, jums var būt citi biežāk izmantoti skripti atkarībā no tā, kādu Linux operētājsistēmu esat instalējis. 2. Par /etc/rc.local rc.local ir arī skripts, ko es daudz izmantoju. Skripts tiek izpildīts pēc sistēmas inicializācijas līmeņa skripta palaišanas, tāpēc ir droši pievienot skriptu, kuru vēlaties izpildīt pēc sistēmas palaišanas. Izplatīts gadījums ir tāds, ka tam var pievienot NFS montāžas / montāžas skriptu. Varat arī pievienot dažas skripta komandas atkļūdošanai. Piemēram, esmu saskāries ar šo situāciju, kad samba pakalpojums vienmēr nedarbojas pareizi, un pārbaude rāda, ka samba bija jāsāk un jāizpilda sistēmas startēšanas laikā, tas ir, samba dēmona konfigurācija nodrošina, ka šī funkcija ir jāveic pareizi. Šajā gadījumā es parasti neuztraucos pavadīt daudz laika, meklējot, kāpēc, man vienkārši jāpievieno šī rinda /etc/rc.local skriptam: /etc/init.d/samba sākums Tādā veidā tika veiksmīgi atrisināta SAMBA pakalpojuma izņēmuma problēma.
3. Kopsavilkums Linux ir elastīgs. Pateicoties tās elastībai, mēs vienmēr varam atrast daudz dažādu veidu, kā atrisināt vienu un to pašu problēmu. Labs piemērs ir sistēmas pakalpojuma palaišanas piemērs. Izmantojot skriptu direktorijā /etc/init.d, apvienojumā ar jaudīgu rīku /etc/rc.local, varat būt pārliecināti, ka jūsu pakalpojums darbosies nevainojami.
|