Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 11617|Răspunde: 0

[Linux] Înțelege directorul /etc/init.d și scripturile /etc/rc.local pe sistemele Linux

[Copiază linkul]
Postat pe 13.11.2017 11:53:19 | | |
Versiunea în limba engleză a acestui articol provine din: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/

1. Despre /etc/init.d
     Dacă ai folosit vreodată un sistem Linux, atunci ai auzit de directorul init.d. La ce folosește exact acest catalog? La finalul zilei face un singur lucru, dar nu este un lucru trivial, se face pentru întregul sistem, deci este foarte important. Directorul init.d conține multe scripturi de start și stop pentru diverse servicii ale sistemului. Controlează totul, de la acpid la x11-common. Desigur, init.d este departe de a fi atât de simplu. (Notă a traducătorului: ACPID este un nou standard de management al energiei pentru sistemele de operare Linux; X11 este numit și sistemul X Window, X Window system (X11 sau X) este un sistem de ferestre cu afișare bitmap. Este un set de instrumente standard și un protocol pentru construirea interfețelor grafice cu utilizatorul pe Unix și sisteme de operare asemănătoare Unix, precum și OpenVMS, și poate fi folosit pentru aproape toate sistemele de operare moderne.
    Când te uiți la directorul /etc, vei găsi multe directoare care există sub forma rc#.d (unde # reprezintă un nivel de inițializare specificat, intervalul fiind 0~6). În cadrul acestor directoare, există multe scripturi care controlează procesul. Aceste scripturi încep fie cu "K", fie cu "S". Scripturile care încep cu K rulează înaintea celor care încep cu S. Locul unde sunt plasate aceste scripturi va determina când încep rularea. Între aceste directoare, serviciile de sistem funcționează împreună ca o mașină sănătoasă. Totuși, uneori vrei să începi sau să oprești un proces curat, fără să folosești comenzile kill sau killall. Aici este util /etc/init.d!
    Dacă folosești un sistem Fedora, poți găsi acest director: /etc/rc.d/init.d. De fapt, face același lucru indiferent unde pui init.d.
     Pentru a putea folosi scripturi în directorul init.d, ai nevoie de privilegii root sau sudo. Fiecare script va fi rulat ca o comandă, structurată aproximativ astfel:
     /etc/init.d/opțiune comandă
     comand este comanda care rulează efectiv, iar opțiunile pot fi următoarele:
Startul
opreşte-te
Reîncărcare
Repornire
Reîncărcare forțată
       În majoritatea cazurilor, vei folosi opțiunile start, stop, restart. De exemplu, dacă vrei să oprești rețeaua, poți folosi o comandă de genul:
     
         /etc/init.d/networking stop
        Un alt exemplu este că schimbi setările rețelei și trebuie să o repornești. Poți folosi comenzi de genul acesta:
        /etc/init.d/restart de rețea
        Scripturile de inițializare utilizate frecvent în directorul init.d sunt:
      
Networking
Samba
apache2
FTPD
sshd
porumbelul
mysql
         Desigur, s-ar putea să ai și alte scripturi folosite mai frecvent, în funcție de sistemul de operare Linux pe care îl ai instalat.
2. Despre /etc/rc.local
      rc.local este și un script pe care îl folosesc mult. Scriptul se execută după ce scriptul la nivel de inițializare a sistemului a fost rulat, deci este sigur să adaugi scriptul pe care vrei să-l rulezi după ce sistemul pornește. Un caz comun este că poți adăuga un script NFS mount/mount la el. Poți adăuga și comenzi script pentru depanare în interior. De exemplu, m-am confruntat cu această situație în care serviciul samba nu funcționează întotdeauna corect, iar inspecția arată că samba ar fi trebuit să fi pornit și executat la pornirea sistemului, adică configurația daemonului samba asigură că această funcție trebuie executată corect. În acest caz, de obicei nu petrec mult timp căutând de ce, trebuie doar să adaug această replică în scriptul /etc/rc.local:
          /etc/init.d/samba start
     Astfel, problema excepției de serviciu SAMBA a fost rezolvată cu succes.

3. Rezumat
         Linux este flexibil. Datorită flexibilității sale, putem găsi întotdeauna multe modalități diferite de a rezolva aceeași problemă. Exemplul de a începe un serviciu de sistem este un exemplu bun. Cu scriptul din directorul /etc/init.d, împreună cu instrumentul puternic /etc/rc.local, poți fi sigur că serviciul tău va funcționa perfect.




Precedent:Asp.Net Apare în EF6.0 și nu este găsit cu numele fix "System.Data.SqlClient"...
Următor:Fișierul de configurare MySQL my.cnf este explicat în detaliu
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com