Kilalanin ang Linux: Ang /etc/init.d Directory

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

Kung gumagamit ka ng Linux malamang na naririnig mo ang init.d direktoryo. Ngunit ano ba talaga ang ginagawa ng direktoryo na ito? Sa huli ito ay gumagawa ng isang bagay ngunit ginagawa nito ang isang bagay para sa iyong buong sistema, kung gayon init.d napakahalaga. Ang init.d direktoryo ay naglalaman ng isang bilang ng mga pagsisimula / ihinto ang mga script para sa iba't ibang mga serbisyo sa iyong system. Lahat mula sa acpid sa x11-karaniwan ay kinokontrol mula sa direktoryo na ito. Siyempre hindi ito eksaktong simple.

Kung titingnan mo ang / atbp direktoryo mahahanap mo ang mga direktoryo na nasa form rc # .d (Kung saan ang # ay isang numero ay sumasalamin sa isang tiyak na antas ng pagsisimula - mula 0 hanggang 6). Sa loob ng bawat isa sa mga direktoryo na ito ay isang bilang ng iba pang mga script na kumokontrol sa mga proseso. Ang mga script na ito ay alinman sa magsisimula sa isang 'K' o isang 'S'. Lahat ng 'K' script ay tatakbo bago ang 'S' script. At depende sa kung saan matatagpuan ang mga script ay matukoy kung kailan magsisimula ang mga script. Sa pagitan ng mga direktoryo ang mga serbisyo ng system ay nagtutulungan tulad ng isang mahusay na may langis na makina. Ngunit may mga oras na kailangan mong simulan o ihinto ang isang proseso nang malinis at nang hindi gumagamit ng utos ng pagpatay o killall. Iyon ay kung saan ang /etc/init.d madaling gamitin ang direktoryo.

Ngayon kung gumagamit ka ng isang pamamahagi tulad ng Fedora maaari mong makita ang direktoryo na ito sa /etc/rc.d/init.d . Anuman ang lokasyon, nagsisilbi ito sa parehong layunin.

Upang makontrol ang anuman sa mga script sa init.d manu-mano mayroon kang pag-access sa root (o sudo). Ang bawat script ay tatakbo bilang isang utos at ang istraktura ng utos ay magmukhang:

/etc/init.d/command OPTION

Saan utos ay ang tunay na utos na tumakbo at OPTION maaaring isa sa mga sumusunod:

  • magsimula
  • huminto
  • Reload
  • i-restart
  • lakas-reload

Karamihan sa mga madalas mong gagamitin simulan, ihinto, o i-restart. Kaya kung nais mong ihinto ang iyong network maaari kang mag-isyu ng utos:

/etc/init.d/networking stop

O kung gumawa ka ng pagbabago sa iyong network at kailangan mong i-restart ito, magagawa mo ito sa sumusunod na utos:

/etc/init.d/networking i-restart

Ang ilan sa mga mas karaniwang script ng init sa direktoryo na ito ay:

  • networking
  • samba
  • apache2
  • ftpd
  • sshd
  • dovecot
  • mysql

Siyempre maaaring mayroong mas madalas na ginagamit na mga script sa iyong direktoryo - nakasalalay ito sa iyong na-install. Ang listahan sa itaas ay kinuha mula sa isang Ubuntu Server 8.10 na pag-install upang ang isang karaniwang pag-install ng desktop ay magkakaroon ng ilang mas kaunting mga script na uri ng networking.

Ngunit ano ang tungkol sa /etc/rc.local

May pangatlong pagpipilian na ginamit ko nang kaunti. Ang pagpipiliang ito ay /etc/rc.local script. Tumatakbo ang file na ito matapos na tumakbo ang lahat ng mga script ng antas ng init, kaya ligtas na maglagay ng iba't ibang mga utos na nais mong maiisyu sa pagsisimula. Maraming mga beses na ilalagay ko ang mga naka-mount na tagubilin para sa mga bagay tulad ng nfs sa script na ito. Ito rin ay isang mabuting lugar upang ilagay ang mga script ng 'pag-troubleshoot' Halimbawa, sa sandaling mayroon akong isang makina na, sa ilang kadahilanan, ang samba ay tila hindi nais na magsimula. Kahit na mas malayo suriin upang matiyak na ang Samba daemon ay naka-setup upang simulan ang boot up. Kaya sa halip na gumastos ng lahat ng aking oras sa harap na ito ay inilagay ko lang ang linya:

/etc/init.d/samba magsimula

nasa /etc/rc.local script at Samba nagtrabaho tulad ng isang anting-anting. Kalaunan ay babalik ako at may problema na shoot ang isyung ito.

Pangwakas na Kaisipan

Ang kakayahang umangkop sa Linux. Ang Linux ay kaya nababaluktot halos, hindi maiwasan, maraming mga paraan upang malutas ang isang solong problema. Ang pagsisimula ng isang serbisyo ng system ay isa sa gayong isyu. Sa tulong ng /etc/init.d system (pati na rin /etc/rc.local ) maaari mong lubos na matitiyak na magsisimula ang iyong serbisyo.