Tutustu Linuxiin: /etc/init.d-hakemisto

Jos käytät Linuxia, olet todennäköisesti kuullut init.d- hakemistosta. Mutta mitä tarkkaan tämä hakemisto tekee? Viime kädessä se tekee yhden asian, mutta tekee yhden yhden koko järjestelmällesi, joten init.d on erittäin tärkeä. Init.d- hakemisto sisältää useita käynnistys- / lopetuskomentosarjoja järjestelmän eri palveluille. Tästä hakemistosta ohjataan kaikkea nopeaa x11-yleiseen . Tietenkään se ei ole aivan niin yksinkertaista.

Jos tarkastelet hakemistoa / etc, löydät hakemistoja, jotka ovat muodossa rc # .d (missä # on numero heijastaa tiettyä alustusastetta - 0 - 6). Kussakin näistä hakemistoista on joukko muita skriptejä, jotka ohjaavat prosesseja. Nämä komentosarjat alkavat joko "K" tai "S". Kaikki "K" -komentosarjat ajetaan ennen "S" -komentosarjoja. Ja riippuen siitä, missä skriptit sijaitsevat, määritetään, milloin skriptit alkavat. Hakemistojen välillä järjestelmäpalvelut toimivat yhdessä kuin hyvin öljytty kone. Mutta on aikoja, jolloin joudut aloittamaan tai lopettamaan prosessin puhtaasti ja käyttämättä tappa- tai killall-komentoja. Sieltä hakemisto /etc/init.d on hyödyllinen.

Nyt jos käytät Fedoran kaltaista jakelua, saatat löytää tämän hakemiston hakemistosta /etc/rc.d/init.d . Sijainnistaan ​​riippumatta, se palvelee samaa tarkoitusta.

Jotta kaikkia init.d: n komentosarjoja voidaan hallita manuaalisesti, sinulla on oltava pääkäyttäjän (tai sudo) käyttöoikeus. Jokainen komentosarja suoritetaan komennona ja komennon rakenne näyttää seuraavalta:

/etc/init.d/command OPTION

Missä komento on todellinen komento suoritettavaksi ja VALINTA voi olla yksi seuraavista:

  • alkaa
  • Stop
  • ladata
  • uudelleenkäynnistää
  • force-reload

Useimmiten käytät joko käynnistämistä, lopettamista tai uudelleenkäynnistystä. Joten jos haluat pysäyttää verkon, voit antaa komennon:

/etc/init.d/networking stop

Tai jos teet muutoksen verkkoon ja joudut käynnistämään sen uudelleen, voit tehdä sen seuraavalla komennolla:

/etc/init.d/verkkokäynnistys uudelleen

Jotkut yleisimmät init-skriptit tässä hakemistossa ovat:

  • verkostoituminen
  • samba
  • apache2
  • ftpd
  • sshd
  • Dovecot
  • mysql

Tietenkin hakemistossa voi olla useammin käytettyjä komentosarjoja - se riippuu siitä, mitä olet asentanut. Yllä oleva luettelo on otettu Ubuntu Server 8.10 -asennuksesta, joten tavallisessa työpöytäasennuksessa olisi muutama vähemmän verkkotyyppisiä komentosarjoja.

Entä /etc/rc.local

On olemassa kolmas vaihtoehto, jota käytin aika aika vähän. Tämä vaihtoehto on /etc/rc.local-skripti . Tämä tiedosto suoritetaan, kun kaikki muut init-tason komentosarjat ovat suoritettu, joten on turvallista laittaa erilaisia ​​komentoja, jotka haluat antaa käynnistyksen yhteydessä. Laitan monta kertaa asennusohjeita esimerkiksi nfs-kirjoituksiin tähän komentosarjaan. Tämä on myös hyvä paikka sijoittaa "vianetsinnän" skriptit sisään. Esimerkiksi kerran minulla oli kone, joka sambasta jostain syystä ei halunnut käynnistyä. Vieläkin tarkemmin tarkistamalla, että Samba-demoni on asennettu alustamaan käynnistyksen yhteydessä. Joten sen sijaan, että viettäisin kaiken aikani edessäni tämän kanssa, asetin yksinkertaisesti linjan:

/etc/init.d/samba start

/etc/rc.local-käsikirjoituksessa ja Samba toimi kuin viehätys. Lopulta palaan takaisin ja ampun ongelman ongelmasta.

Lopulliset ajatukset

Linux on joustava. Linux on niin joustava, että melkein väistämättä on olemassa useita tapoja ratkaista yksi ongelma. Järjestelmäpalvelun käynnistäminen on yksi tällainen asia. /Etc/init.d-järjestelmän (samoin kuin /etc/rc.local ) avulla voit olla varma, että palvelusi alkaa.