Susipažinkite su „Linux“: /etc/init.d katalogas

Jei naudojate „Linux“, greičiausiai girdėjote apie „ init.d“ katalogą. Bet ką tiksliai daro šis katalogas? Tai galų gale daro vieną dalyką, bet tai daro ir visą jūsų sistemą, todėl init.d yra labai svarbus. „ Init.d“ kataloge yra daugybė įvairių jūsų sistemos paslaugų pradžios / sustabdymo scenarijų. Šiame kataloge kontroliuojama viskas, nuo greito iki x11 bendro . Žinoma, tai nėra visiškai taip paprasta.

Pažvelgę ​​į / etc katalogą, rasite katalogus, kurių forma yra rc # .d (kur # yra skaičius atspindi konkretų inicijavimo lygį - nuo 0 iki 6). Kiekviename iš šių katalogų yra daugybė kitų scenarijų, valdančių procesus. Šie scenarijai prasideda arba „K“, arba „S“. Visi „K“ scenarijai vykdomi prieš „S“ scenarijus. Ir priklausomai nuo to, kur yra scenarijai, bus nustatyta, kada scenarijai bus inicijuojami. Tarp katalogų sistemos paslaugos veikia kartu kaip gerai sutepta mašina. Tačiau kartais reikia švariai pradėti arba sustabdyti procesą, nenaudojant užmušimo ar žudymo komandų. Čia naudingas katalogas /etc/init.d .

Dabar, jei naudojate tokį platinimą kaip „Fedora“, šį katalogą galite rasti /etc/rc.d/init.d . Nepriklausomai nuo vietos, jis tarnauja tam pačiam tikslui.

Norėdami rankiniu būdu valdyti bet kurį init.d scenarijų, turite turėti root (arba sudo) prieigą. Kiekvienas scenarijus bus vykdomas kaip komanda, o komandos struktūra atrodys taip:

/etc/init.d/command OPTION

Kur komanda yra tikroji komanda, kurią reikia paleisti, o PARINKTYS gali būti viena iš šių:

  • pradžia
  • sustabdyti
  • perkrauti
  • perkrauti
  • jėgos perkrovimas

Dažniausiai naudosite arba paleisdami , ir sustabdydami, arba paleisdami iš naujo. Taigi, jei norite sustabdyti savo tinklą, galite išduoti komandą:

/etc/init.d/networking stop

Arba jei pakeisite savo tinklą ir reikės jį paleisti iš naujo, tai galite padaryti atlikdami šią komandą:

/etc/init.d/networking paleisti iš naujo

Kai kurie iš labiau paplitusių init scenarijų šiame kataloge yra:

  • tinklų kūrimas
  • samba
  • apache2
  • ftpd
  • sshd
  • balandis
  • mysql

Žinoma, jūsų kataloge gali būti dažniau naudojamų scenarijų - tai priklauso nuo to, ką įdiegėte. Aukščiau pateiktas sąrašas buvo paimtas iš „Ubuntu Server 8.10“ diegimo, taigi standartiniame darbalaukio diegime būtų keli mažiau tinklo tipo scenarijai.

Bet kaip su /etc/rc.local

Yra trečias variantas, kurį aš gana dažnai naudojau. Ši parinktis yra /etc/rc.local scenarijus. Šis failas paleidžiamas po visų kitų init lygio scenarijų paleidimo, todėl saugu dėti įvairias komandas, kurias norite išduoti paleisdami. Daugybę kartų šiame scenarijuje pateiksiu montavimo instrukcijas tokiems dalykams kaip NFS. Čia taip pat gera vieta talpinti scenarijų „trikčių šalinimą“. Pavyzdžiui, kažkada turėjau aparatą, kuris dėl tam tikrų priežasčių atrodė, kad „samba“ nenori paleisti. Net ir vėliau patikrinkite, ar „Samba“ demonas buvo paruoštas paleisti paleidžiant. Taigi, užuot praleidęs visą savo laiką su tuo, aš tiesiog įdėjau eilutę:

/etc/init.d/samba pradžia

scenarijuje /etc/rc.local ir Samba dirbo kaip žavesys. Galiausiai grįšiu ir pabandysiu išspręsti šią problemą.

Baigiamosios mintys

„Linux“ yra lanksti. „Linux“ yra tokia lanksti, kad neišvengiamai yra daugybė būdų, kaip išspręsti vieną problemą. Viena iš tokių problemų yra sistemos paslaugos paleidimas. Naudodamiesi /etc/init.d sistema (taip pat /etc/rc.local ) galite būti tikri, kad jūsų paslauga prasidės.