Iepazīstiet Linux: /etc/init.d direktorijs

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

Ja jūs izmantojat Linux, jūs, visticamāk, esat dzirdējis par inic.d direktoriju. Bet ko tieši šis direktorijs dara? Tas galu galā dara vienu lietu, bet tas pats - visu jūsu sistēmu inic.d ir ļoti svarīgi. inic.d direktorijā ir vairāki starta / apstāšanās skripti dažādiem pakalpojumiem jūsu sistēmā. Viss no plkst straujš uz x11-izplatīts tiek kontrolēts no šī direktorija. Protams, tas nav tieši tik vienkārši.

Ja paskatās / utt direktorijā atradīsit veidlapas rc # .d (Kur # ir skaitlis, tas atspoguļo noteiktu inicializācijas līmeni - no 0 līdz 6). Katrā no šiem direktorijiem ir virkne citu skriptu, kas kontrolē procesus. Šie skripti sāksies ar “K” vai “S”. Visi 'K' skripti tiek palaisti pirms 'S' skriptiem. Un atkarībā no tā, kur atrodas skripti, tiks noteikts, kad skripti tiek iniciēti. Starp direktorijiem sistēmas pakalpojumi darbojas kopā kā labi ieeļļota mašīna. Bet ir reizes, kad jums process jāuzsāk vai jāpārtrauc tīri un neizmantojot komandas nogalināt vai nogalināt. Tas ir, ja /etc/init.d direktorijs noder.

Tagad, ja jūs izmantojat tādu izplatīšanu kā Fedora, iespējams, ka jūs atradīsit šo direktoriju /etc/rc.d/init.d . Neatkarīgi no atrašanās vietas, tas kalpo vienam un tam pašam mērķim.

Lai kontrolētu jebkuru no skriptiem, kas atrodas inic.d manuāli jums jābūt root (vai sudo) piekļuvei. Katrs skripts tiks palaists kā komanda, un komandas struktūra izskatīsies šādi:

/etc/init.d/command OPTION

Kur komanda ir faktiskā komanda palaist un IESPĒJA var būt viens no šiem:

  • sākt
  • apstāties
  • Pārlādēt
  • restartēt
  • piespiedu pārlādēšana

Visbiežāk jūs izmantosit vienu vai otru sākt, apstāties, vai restartēt. Tātad, ja vēlaties pārtraukt tīkla darbību, varat izdot komandu:

/etc/init.d/networking stop

Vai arī, ja veicat izmaiņas tīklā un jums tas ir jārestartē, varat to izdarīt ar šādu komandu:

/etc/init.d/networking restart

Daži no biežākajiem init skriptiem šajā direktorijā ir:

  • tīklošana
  • samba
  • apache2
  • ftpd
  • sshd
  • balodis
  • mysql

Protams, jūsu direktorijā var būt biežāk lietoti skripti - tas ir atkarīgs no tā, ko esat instalējis. Iepriekš minētais saraksts tika ņemts no Ubuntu Server 8.10 instalācijas, tāpēc standarta darbvirsmas instalācijai būtu par pāris mazāk tīkla tipa skriptiem.

Bet kā ir ar /etc/rc.local

Ir trešā iespēja, kuru es diezgan bieži izmantoju. Šī opcija ir /etc/rc.local skripts. Šis fails tiek palaists pēc visu pārējo init līmeņa skriptu palaišanas, tāpēc ir droši ievietot dažādas komandas, kuras vēlaties izsniegt, startējot. Daudzreiz es šajā skriptā ievietošu montāžas instrukcijas tādām lietām kā nfs. Šī ir arī laba vieta, kur ievietot “problēmu novēršanas” skriptus. Piemēram, reiz man bija mašīna, kas kaut kādu iemeslu dēļ šķita, ka samba nevēlas startēt. Pat pēc pārbaudēm, lai pārliecinātos, ka Samba dēmons ir iestatīts, lai sāktu sāknēšanas brīdī. Tā vietā, lai visu savu laiku pavadītu priekšā, es vienkārši novietoju līniju:

/etc/init.d/samba sākums

iekš /etc/rc.local scenārijs un Samba darbojās kā šarms. Galu galā es atgriezīšos un nepatikšu par šo jautājumu.

Noslēguma domas

Linux ir elastīgs. Linux ir tik elastīgs, ka gandrīz neizbēgami ir daudzi veidi, kā atrisināt vienu problēmu. Sistēmas pakalpojuma palaišana ir viena no šādām problēmām. Ar /etc/init.d sistēma (kā arī /etc/rc.local ), jūs varat būt pārliecināti, ka jūsu pakalpojums sāksies.