Cunoașteți Linux: directorul /etc/init.d

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

Dacă utilizați Linux, cel mai probabil ați auzit despre init.d director. Dar ce face exact acest director? În cele din urmă, face un lucru, dar face acel lucru pentru întregul sistem, deci init.d este foarte important. init.d directorul conține o serie de scripturi de pornire / oprire pentru diverse servicii din sistemul dvs. Totul de la acpid la x11-common este controlat din acest director. Desigur, nu este chiar atât de simplu.

Dacă te uiți la / etc director veți găsi directoare care sunt sub formă rc # .D (Unde # este un număr reflectă un nivel de inițializare specific - de la 0 la 6). În fiecare din aceste directoare există o serie de alte scripturi care controlează procesele. Aceste scripturi vor începe fie cu un „K”, fie cu un „S”. Toate scripturile „K” sunt rulate înainte de scripturile „S”. Și în funcție de locul în care se află scripturile va determina când inițiază scripturile. Între directoare, serviciile de sistem lucrează împreună ca o mașină bine unsă. Există însă momente în care trebuie să porniți sau să opriți un proces curat și fără a utiliza comenzile kill sau killall. Acolo este /etc/init.d directorul vine la îndemână.

Acum, dacă utilizați o distribuție precum Fedora, puteți găsi acest director în /etc/rc.d/init.d . Indiferent de locație, acesta servește același scop.

Pentru a controla oricare dintre scripturile din init.d manual trebuie să aveți acces root (sau sudo). Fiecare script va fi rulat ca o comandă și structura comenzii va arăta astfel:

/etc/init.d/command OPȚIE

Unde comanda este comanda efectivă de a rula și OPȚIUNE poate fi unul dintre următoarele:

  • start
  • Stop
  • Reîncărcați
  • repornire
  • force-reload

Cel mai adesea veți folosi fie start Stop, sau repornire. Deci, dacă doriți să opriți rețeaua dvs., puteți emite comanda:

/etc/init.d/network stop

Sau dacă efectuați o modificare a rețelei dvs. și doriți să o reporniți, o puteți face cu următoarea comandă:

/etc/init.d/network restart

Unele dintre scripturile inițiale mai frecvente din acest director sunt:

  • rețele
  • samba
  • apache2
  • ftpd
  • sshd
  • porumbar
  • MySQL

Desigur, pot fi scripturi mai des utilizate în directorul dvs. - depinde de ceea ce ați instalat. Lista de mai sus a fost preluată dintr-o instalație Ubuntu Server 8.10, astfel încât o instalare standard de desktop ar avea câteva scripturi mai puțin de tip rețea.

Dar despre /etc/rc.local

Există o a treia opțiune pe care am folosit-o destul de mult. Această opțiune este /etc/rc.local script-ul. Acest fișier rulează după ce s-au rulat toate celelalte scripturi de nivel inițial, așa că este sigur să puneți diverse comenzi pe care doriți să le-ați emis la pornire. De multe ori voi pune instrucțiuni de montare pentru lucruri precum nfs în acest script. Acesta este, de asemenea, un loc bun pentru a plasa scripturi de „rezolvare a problemelor”. De exemplu, odată ce am avut o mașină care, din anumite motive, samba părea să nu vrea să pornească. Chiar și verificarea afară pentru a vă asigura că demonul Samba a fost configurat pentru a inițializa la pornire. Așa că, în loc să-mi petrec tot timpul cu acest lucru, am plasat pur și simplu linia:

/etc/init.d/samba start

în /etc/rc.local scenariu și Samba au funcționat ca un farmec. În cele din urmă, m-aș întoarce și ar rezolva probleme în acest aspect.

Gânduri finale

Linux este flexibil. Linux este atât de flexibil încât există aproape, inevitabil, numeroase moduri de a rezolva o singură problemă. Pornirea unui serviciu de sistem este o astfel de problemă. Cu ajutorul /etc/init.d sistem (precum și /etc/rc.local ) puteți fi sigur că serviciul dvs. va începe.