Upoznajte Linux: /etc/init.d direktorij

Isprobajte Naš Instrument Za Uklanjanje Problema

Ako koristite Linux, najvjerojatnije ste čuli za init.d imenik. Ali što točno ovaj direktorij čini? To u konačnici čini jednu stvar, ali to čini jedna stvar za cijeli vaš sustav, tako init.d vrlo je važno. init.d mapa sadrži brojne start / stop skripte za razne usluge na vašem sustavu. Sve iz acpid do X11-zajednička je kontrolirano iz ovog imenika. Naravno da nije baš tako jednostavno.

Ako pogledate na / etc direktorij naći ćete imenike koji se nalaze u obrascu rc # .d (Ako je # broj, odražava određenu razinu inicijalizacije - od 0 do 6). Unutar svake od tih mapa nalazi se i niz drugih skripti koje kontroliraju procese. Te će se skripte započeti s 'K' ili 'S'. Sve 'K' skripte pokreću se 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. Tamo je /etc/init.d direktorij dolazi u ruci.

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.

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

/etc/init.d/command OPTION

Gdje naredba je stvarna naredba za pokretanje i OPCIJA može biti jedno od sljedećeg:

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

Najčešće ćete koristiti bilo jedno start, stop, ili ponovno pokrenuti. Dakle, ako želite zaustaviti mrežu, možete izdati naredbu:

/etc/init.d/ mrežno zaustavljanje

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 č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 često koristio. Ova opcija je /etc/rc.local skripta. 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 nekih 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 scenarij i Samba djelovali su poput šarma. Na kraju bih se vratio i svladao problem.

Završne misli

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