Cum se schimbă nivelurile de rulare (ținte) în SystemD


Systemd este un sistem de inițializare modern pentru Linux: un manager de sistem și servicii care este compatibil cu popularul sistem de inițiere SysV și cu scripturile de inițiere LSB. Acesta a fost destinat să depășească deficiențele SysV init, așa cum se explică în articolul următor.

  1. Povestea din spatele „init” și „systemd”: de ce „init” a trebuit să fie înlocuit cu „systemd” în Linux

Pe sisteme asemănătoare Unix, cum ar fi Linux, starea curentă de operare a sistemului de operare este cunoscută ca runlevel; definește ce servicii de sistem rulează. În sistemele de init populare precum SysV init, nivelurile de rulare sunt identificate prin numere. Cu toate acestea, în systemd, nivelurile de execuție sunt denumite ținte.

Lectură recomandată: Gestionarea procesului și serviciilor de pornire a sistemului (SysVinit, Systemd și Upstart)

În acest articol, vom explica cum să schimbați nivelurile de rulare (ținte) cu systemd. Înainte de a trece mai departe, să analizăm pe scurt relația dintre numerele nivelurilor de rulare și ținte.

  • Nivelul de rulare 0 este asociat cu poweroff.target (și runlevel0.target este un link simbolic către poweroff.target ).
  • Nivelul de rulare 1 este corelat cu rescue.target (și runlevel1.target este un link simbolic către rescue.target ).
  • Nivelul de rulare 3 este emulat de multi-user.target (și runlevel3.target este o legătură simbolică către multi-user.target ).
  • Nivelul de rulare 5 este emulat de graphical.target (și runlevel5.target este un link simbolic către graphical.target ).
  • Nivelul de rulare 6 este emulat de reboot.target (și runlevel6.target este un link simbolic către reboot.target ).
  • Emergency este asociat cu emergency.target.

Cum să vizualizați ținta curentă (nivel de rulare) în Systemd

Când sistemul pornește, în mod implicit systemd activează unitatea default.target. Lucrarea principală este de a activa serviciile și alte unități prin introducerea lor prin dependențe.

Pentru a vedea ținta implicită, tastați comanda de mai jos.

#systemctl get-default 

graphical.target

Pentru a seta ținta implicită, executați comanda de mai jos.

systemctl set-default multi-user.target  

Cum se schimbă ținta (nivelul de rulare) în Systemd

În timp ce sistemul rulează, puteți comuta ținta (nivel de rulare), ceea ce înseamnă că numai serviciile, precum și unitățile definite în această țintă vor rula acum pe sistem.

Pentru a trece la nivelul de rulare 3, executați următoarea comandă.

systemctl isolate multi-user.target 

Pentru a schimba sistemul la nivelul de rulare 5, tastați comanda de mai jos.

systemctl isolate graphical.target

Pentru mai multe informații despre systemd, citiți aceste articole utile:

  1. Cum să gestionați serviciile și unitățile „Systemd” folosind „Systemctl” în Linux
  2. Cum să creați și să rulați noi unități de servicii în Systemd folosind scriptul Shell
  3. Gestionarea procesului și serviciilor de pornire a sistemului (SysVinit, Systemd și Upstart)
  4. Gestionați mesajele de jurnal sub Systemd utilizând Journalctl [Ghid cuprinzător]

În acest ghid, am arătat cum să schimbați nivelurile de rulare (ținte) cu systemd. Utilizați formularul de comentarii de mai jos pentru a ne trimite orice întrebări sau păreri referitoare la acest articol.