Dacă doriți să aflați mai multe despre sistemele init, este important să înțelegeți mai întâi comenzile systemctl și service și diferențele lor subiacente.
Recomandări cheie
- Comenzile service și systemctl în Linux sunt vitale și extrem de similare, systemctl fiind o comandă mai versatilă și mai puternică.
- Atât service cât și systemctl permit utilizatorilor să configureze și să interacționeze cu serviciile de sistem, dar acestea aparțin unor sisteme de inițializare diferite (SysVinit și, respectiv, systemd).
- Serviciul operează pe fișierele de sistem de inițializare din /etc/init.d, în timp ce systemctl funcționează cu fișierele din /lib/systemd. Familiarizarea cu ambele comenzi este importantă pentru gestionarea eficientă a serviciilor de sistem.
service și systemctl sunt ambele comenzi vitale și extrem de similare în Linux. Sunt atât de similare încât este ușor să te întrebi ce diferențe există între ele și dacă poți folosi cele două comenzi în mod interschimbabil.
Cunoașterea detaliilor mai fine despre service și systemctl vă va permite să lucrați cu ele fără probleme.
Ce este comanda de serviciu în Linux?
În Linux, comanda de serviciu este un script wrapper care permite utilizatorilor să configureze și să interacționeze cu ușurință cu serviciile de sistem. Acesta precede systemd și funcționează în primul rând cu scripturile găsite în /etc/init.d.
Chiar dacă systemctl a depășit o mare parte din semnificația anterioară a serviciului, continuă să rămână relevant prin multe funcții moștenite.
Trecerea între sistemele de inițializare asociate — SysVinit la systemd — a fost controversată, dar provocările tot mai mari ale funcției sistemului de inițializare original au făcut-o necesară.
systemd pornește serviciile în paralel în loc de o secvență serială, făcând timpul de pornire mai rapid decât SysVinit - și oferă un control puțin mai sofisticat al demonii de sistem prin interfața de linie de comandă (CLI).
Ce este comanda systemctl în Linux?
La fel ca serviciul, systemctl este o comandă incredibil de versatilă care vă permite activați, reîncărcați, porniți, opriți și verificați starea serviciilor rulează pe sistemul dvs. Linux.
systemctl servește ca o interfață puternică și ușor de utilizat pentru configurarea fișierelor în systemd - de exemplu, este nevoie de doar una sau două comenzi pentru a dezactiva un serviciu la pornire folosind systemctl.
systemctl este compatibil cu sistemul de inițializare, SysVinit, utilizat în principal cu service. systemctl nu servește drept succesor direct al serviciului, dar este mult mai versatil în ceea ce privește instrumentele pe care le oferă pentru a gestiona serviciile de sistem.
Puteți îndeplini sarcini precum mascarea sau dezactivarea unui serviciu în doar una sau două linii.
Diferențele dintre service și systemctl
service și systemctl servesc în mare măsură aceluiași scop. Multe dintre asemănările dintre ele au fost introduse în mod deliberat pentru a permite utilizatorilor o tranziție mai simplă de la service la systemctl.
Totuși, există câteva diferențe între cele două de care ar trebui să fii conștient când începeți să lucrați cu sistemul de inițializare pe Linux.
1. Diferite sisteme Init
Cea mai semnificativă diferență între service și systemctl este că acestea aparțin unor sisteme de inițializare diferite. serviciul aparține SysVinit (System V Init), altfel cunoscut ca procesul clasic de inițializare Linux.
systemctl aparține lui systemd, succesorul SysVinit și procesului modern de inițializare utilizat pe multe sisteme Linux.
Deoarece service și systemctl fac parte din diferite procese de inițializare, ele operează pe fișiere de sistem de inițializare din directoare diferite. serviciul funcționează cu fișierele de sistem de inițializare găsite în /etc/init.d, în timp ce systemctl funcționează cu fișierele de sistem de inițializare găsite în /lib/systemd.
În general, sistemul de inițializare pe care îl veți întâlni la instalările Linux predefinite este systemd - așa că veți dori să vă familiarizați cu utilizarea systemctl pentru a interacționa cu el.
Dacă intenționați să lucrați cu sisteme care preced sau coincid cu lansarea Systemd în 2010, nu strica să vă familiarizați și cu utilizarea comenzii de serviciu.
2. Compatibilitate
service continuă să fie o comandă extrem de utilă în ceea ce privește compatibilitatea — ca comandă wrapper, este capabilă să redirecționeze către managerul de servicii utilizat pe diferite sisteme. Ar trebui să plănuiți să-l învățați și să îl faceți parte din arsenalul dvs. dacă veți lucra cu o varietate de sisteme Linux.
3. Funcții de bază
O altă diferență cheie între systemctl și service constă în modul în care funcționează. service este o comandă de nivel înalt care redirecționează către managerul de servicii de bază utilizat pe un anumit sistem, ceea ce înseamnă că este destul de versatil între sisteme. Poate redirecționa către /etc/init.d, upstart sau chiar systemctl. Comenzile systemctl, între timp, interacționează direct cu systemd.
4. Capacitate
În ceea ce privește ceea ce puteți realiza, este sigur să spuneți că systemctl depășește cu mult serviciul în putere. Pe lângă funcțiile de bază, cum ar fi pornirea, oprirea, activarea sau dezactivarea unui anumit serviciu, puteți configura și configurații avansate cu systemctl.
serviciul este mai limitat datorită compatibilității necesare cu managerii de servicii de bază pe care se bazează.
Configurați eficient serviciile de sistem pe Linux
service și systemctl sunt ambele comenzi incredibil de importante pentru gestionarea serviciilor de sistem. Indiferent dacă doriți doar să profitați la maximum de sistemul dvs. Linux sau intenționați să lucrați în rețele de întreprindere, familiarizarea cu ambele comenzi este vitală.
Din fericire, există o mulțime de tutoriale grozave care vă pot ajuta să deveniți un maestru în utilizarea systemctl și a serviciului în terminal.