Upoznajte Linux: /etc/init.d direktorij

Ako koristite Linux, najvjerojatnije ste čuli za init.d direktorij. Ali što točno ovaj direktorij radi? To u konačnici čini jednu stvar, ali to čini jednu stvar za cijeli vaš sustav, pa je init.d vrlo važna. Init.d direktorij sadrži brojne start / stop skripte za razne usluge na vašem sustavu. Iz ovog direktorija upravlja sve, od acpid do x11-common . Naravno da nije baš tako jednostavno.

Ako pogledate / etc direktorij, naći ćete direktorije u obliku rc # .d (gdje je # broj koji odražava određenu razinu inicijalizacije - od 0 do 6). Unutar svake od tih mapa nalazi se i niz drugih skripti koje kontroliraju procese. Ove će skripte započeti s "K" ili s "S". Sve "K" skripte pokrenute su prije "S" skripte. Ovisno o mjestu na kojem se nalaze skripte odredit će se kada se skripte pokreću. Između imenika sistemske službe djeluju zajedno kao dobro podmazan stroj. Ali postoje slučajevi kada trebate pokrenuti ili zaustaviti postupak čisto i bez korištenja naredbi kill ili killall. Tu vam dolazi /etc/init.d direktorij.

Ako koristite distribuciju kao što je Fedora, možete pronaći ovaj direktorij u /etc/rc.d/init.d . Bez obzira na lokaciju, on služi istoj svrsi.

Za kontrolu bilo koje od skripti u init.d ručno morate imati korijenski (ili sudo) pristup. Svaka se skripta izvodi kao naredba, a struktura naredbe izgledat će:

/etc/init.d/command OPTION

Ako je naredba stvarna naredba koju treba izvesti i OPTION može biti jedno od sljedećeg:

  • početak
  • Stop
  • ponovno učitati
  • ponovno pokretanje
  • sila-reload

Najčešće ćete koristiti ili pokretanje, zaustavljanje ili ponovno pokretanje. Dakle, ako želite zaustaviti mrežu, možete izdati naredbu:

/etc/init.d/neustajanje mreže

Ili ako promijenite mrežu i trebate je ponovo pokrenuti, to možete učiniti sljedećom naredbom:

/etc/init.d/ ponovno pokretanje

Neke od najčešćih init skripti u ovom direktoriju su:

  • umrežavanje
  • samba
  • apache2
  • ftpd
  • sshd
  • golubinjak
  • mySQL

Naravno da u vašem imeniku mogu biti češće korištene skripte - to ovisi o tome što ste instalirali. Gornji popis preuzet je iz Ubuntu Server 8.10 instalacije, tako da bi standardna instalacija na radnoj površini imala nekoliko manje skripti tipa umrežavanja.

Ali što je s /etc/rc.local

Postoji i treća opcija koju sam prilično koristio. Ova je opcija skripta /etc/rc.local . Ova se datoteka pokreće nakon što su pokrenute sve skripte za početnu razinu, pa je sigurno staviti naredbe koje želite izdati pri pokretanju. Mnogo puta ću u ovu skriptu staviti upute za montažu za stvari poput nfs. Ovo je također dobro mjesto za postavljanje skripti za "rješavanje problema". Na primjer, jednom kada sam imao stroj za koji se, čini se, iz nekog razloga samba nije željela pokrenuti. Čak i provjeravanje da biste bili sigurni da je Samba demon postavljen za inicijalizaciju pri pokretanju sustava. Stoga sam, umjesto da cijelo svoje vrijeme provodim unaprijed s tim, jednostavno stavio liniju:

/etc/init.d/samba start

u /etc/rc.local skripti i Samba je djelovao poput šarma. Na kraju bih se vratio i svladao problem.

Završne misli

Linux je fleksibilan. Linux je toliko fleksibilan da postoje gotovo uvijek neizbježni brojni načini za rješavanje jednog problema. Pokretanje sistemske usluge jedno je od takvih pitanja. Uz pomoć /etc/init.d sustava (kao i /etc/rc.local ) možete biti sasvim sigurni da će vaša usluga započeti.