Tutustu Linuxiin: /etc/init.d-hakemisto

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

Jos katsot /jne hakemistosta löydät hakemistot, jotka ovat muodossa rc # .d (Jos # on luku, heijastaa tiettyä alustustasoa - 0 - 6). Kussakin näistä hakemistoista on joukko muita skriptejä, jotka ohjaavat prosesseja. Nämä komentosarjat alkavat joko 'K' tai 'S'. Kaikkia K-komentosarjoja suoritetaan 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 tilanteita, jolloin joudut aloittamaan tai lopettamaan prosessin siististi ja käyttämättä tappa- tai killall-komentoja. Siellä /etc/init.d hakemisto on kätevä.

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

Jotta voitaisiin hallita kaikkia init.d 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 suorittaa ja VAIHTOEHTO voi olla yksi seuraavista:

  • alkaa
  • lopettaa
  • reload
  • uudelleenkäynnistää
  • force-reload

Useimmiten käytät kumpaakin aloita, lopeta, tai uudelleenkäynnistää. 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 verkkotyyppinen komentosarja.

Entä /etc/rc.local

On olemassa kolmas vaihtoehto, jota käytin aika aika vähän. Tämä vaihtoehto on /etc/rc.local script. Tämä tiedosto suoritetaan, kun kaikki muut init-tason komentosarjat ovat suoritettu, joten on turvallista laittaa erilaisia ​​komentoja, jotka haluat antaa käynnistyksen yhteydessä. Aion monta kertaa asettaa asennusohjeita esimerkiksi nfs-ohjelmaan tähän komentosarjaan. Tämä on myös hyvä paikka sijoittaa 'vianmääritys' skriptejä. 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

että /etc/rc.local käsikirjoitus ja Samba toimivat kuin viehätys. Lopulta palaan takaisin ja vaikeuksissa ampua tätä asiaa.

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. Kanssa /etc/init.d järjestelmä (samoin kuin /etc/rc.local ) voit olla varma, että palvelusi alkaa.