În calitate de administrator de sistem, o sarcină frecventă este inițierea repornirii sau opririi serverelor.
Această necesitate poate apărea ca urmare a operațiunilor regulate de întreținere, cum ar fi implementarea actualizărilor pentru sistemul de operare, sau din cauza unor disfuncționalități hardware care impun oprirea sistemului pentru efectuarea reparațiilor.
Un sistem Linux oferă o varietate de metode pentru a reporni sau opri serverul. Un sistem normal ar trebui să reacționeze la orice comandă, în timp ce un server cu probleme poate necesita o repornire forțată. Este crucial de reținut că majoritatea acestor comenzi necesită un anumit nivel de permisiuni, fie ca superutilizator, fie prin utilizarea sudo, pentru a fi executate cu succes, deoarece repornirea unui sistem este o operație administrativă. Mai ales pentru un sistem multi-utilizator sau un server care rulează procese critice, repornirea sau oprirea este o acțiune care poate perturba activitatea.
Acest articol explorează câteva dintre aceste metode care vă pot fi de ajutor în gestionarea proceselor de repornire/oprire pe un sistem Linux.
Interfața Grafică (GUI)
Dacă utilizați un mediu desktop GUI, precum Gnome, KDE, Mate, XFCE, etc., veți identifica un buton de pornire în meniul sistem/aplicație care oferă opțiuni precum deconectare, repornire, hibernare sau oprire. Opțiunile exacte pot varia ușor, în funcție de distribuția Linux, mediul desktop și versiunea sistemului de operare utilizat. Cu toate acestea, veți găsi, cu siguranță, setări legate de gestionarea energiei în meniurile disponibile, care vă permit să modificați starea de alimentare a sistemului.
De exemplu, în mediul desktop Ubuntu Mate pe care îl utilizez, opțiunea „Închidere” este accesibilă prin intermediul meniului de alimentare localizat în partea dreaptă-sus a ecranului.
După selectarea opțiunii „Oprire…”, un dialog va fi afișat, prezentând diverse opțiuni precum Suspendare, Repornire, Anulare și Închidere. Puteți opta fie pentru Repornire, fie pentru Închidere, prin clic pe butonul corespunzător, sau puteți anula acțiunea și reveni la mediul desktop.
Interfața GUI și opțiunile disponibile pot varia ușor, în funcție de distribuția și mediul desktop pe care le utilizați. Cu toate acestea, puteți fi sigur că există întotdeauna o modalitate de a schimba starea de alimentare a sistemului. Utilizând interfața GUI, această operațiune se realizează prin câteva clicuri în meniul de alimentare.
Comanda systemctl
Pe un sistem Linux care utilizează systemd ca sistem init, comanda systemctl poate fi folosită pentru a reporni mașina.
$ sudo systemctl start reboot.target
Alternativ, puteți utiliza direct comanda systemctl cu opțiunea relevantă, cum ar fi:
$ sudo systemctl reboot
Pentru a iniția o oprire, comanda systemctl este:
$ sudo systemctl shutdown
Pentru a opri complet sistemul, utilizați:
$ sudo systemctl halt
Comanda shutdown
Comanda shutdown este versatilă și poate fi folosită atât pentru oprirea, cât și pentru repornirea unui sistem Linux. Pentru a reporni imediat sistemul, utilizați:
$ sudo shutdown -r now
Pentru a opri sistemul fără nicio așteptare, folosiți opțiunile -h sau -P:
$ sudo shutdown -P now
Comanda shutdown poate fi configurată să execute repornirea/oprirea după un anumit interval de timp. Acest lucru se realizează astfel:
$ sudo shutdown -r 10
Pentru a opri un sistem fără a solicita hardware-ului să se oprească, utilizați semnalul -H:
$ sudo shutdown -H now
Dacă specificați doar comanda shutdown, oprirea va fi programată după un minut. Pentru a programa oprirea la o oră specifică:
$ sudo shutdown 22:30
De multe ori, în momentul în care un sistem se oprește, acesta trimite un mesaj către consolele utilizatorilor conectați. Dacă doriți să includeți un mesaj personalizat în acest anunț, puteți specifica mesajul împreună cu comanda shutdown, astfel:
$ sudo shutdown 23:00 "Sistemul se oprește pentru întreținere... salvați-vă lucrul"
Pentru a anula o oprire programată, utilizați semnalul -c:
$ sudo shutdown -c
În multe cazuri, comanda shutdown apelează systemctl în fundal pentru a executa operația de repornire/oprire dorită.
Comanda reboot
Pentru o repornire corectă a sistemului, puteți utiliza comanda reboot (poate fi necesară utilizarea sudo).
$ sudo reboot
Pentru a opri sistemul cu ajutorul comenzii reboot, folosiți indicatorul -p:
$ sudo reboot -p
Pentru a forța o repornire (în cazul sistemelor care nu răspund la comanda normală de repornire), încercați indicatorul -f:
$ sudo reboot -f
Comanda halt
Pentru a opri un sistem, folosiți pur și simplu comanda halt:
$ sudo halt
Comanda poweroff
O altă metodă pentru oprirea unui sistem este utilizarea comenzii poweroff:
$ sudo poweroff
Comanda init
Pentru sistemele care nu utilizează systemd, comanda init (și telinit) oferă opțiuni pentru a schimba nivelul de rulare al sistemului. Pentru a reporni un sistem cu init, utilizați:
$ sudo init 6
Similar, pentru a opri un sistem, comanda init de utilizat este:
$ sudo init 0
Apelarea unui nivel de rulare specific prin init determină procesul de inițializare al sistemului să execute o serie de scripturi de pornire într-o anumită ordine, pentru a asigura că sistemul atinge nivelul de rulare dorit. Nivelul de rulare 6 este definit pentru repornire, în timp ce nivelul de rulare 0 este definit pentru oprirea sistemului.
Butonul de Pornire
Pentru sistemele Linux care rulează pe un desktop sau laptop, acționarea implicită a butonului de pornire este de a pune sistemul în stare de repaus sau de a-l opri prin trimiterea unui semnal de oprire. Această acțiune poate fi ajustată din setările de putere ale sistemului. Ideal ar fi ca această opțiune să fie folosită ca ultimă soluție dacă comenzile obișnuite nu funcționează.
Pentru un server Linux la distanță, butonul de pornire oprește de obicei sistemul. Însă, cei care gestionează servere în centrele de date la distanță au opțiunea suplimentară de a reporni sau opri sistemele folosind instrumentele CLI/GUI de gestionare de la distanță oferite de furnizorii respectivi de servere.
Combinația Alt + SysRq
În cazul unui sistem înghețat, care nu mai răspunde, aducerea acestuia în starea de repornire sau oprire poate fi dificilă. Când nu mai aveți alte opțiuni și ca ultimă soluție, puteți încerca să apăsați Alt + PrintScreen și o secvență de taste pentru a reporni instantaneu sistemul. Nu este o metodă preferată sau recomandată, dar poate fi utilă ca ultimă instanță.
Trebuie să rețineți că există posibilitatea pierderii sau coruperii de date, folosind această metodă, similar oricărei alte reporniri sau opriri forțate. Implementați cele mai bune practici de sistem pentru backup și redundanță și fiți precauți când utilizați această opțiune.
Pentru ca această opțiune să funcționeze, trebuie să fie activată în nucleul Linux. Puteți verifica acest lucru folosind comanda de mai jos:
$ cat /proc/sys/kernel/sysrq
O ieșire de 1 indică faptul că este complet activată, în timp ce un număr mai mare sugerează că este parțial activată, cu anumite funcții. Pentru a o activa în mod explicit, utilizați:
$ sudo echo “1” > /proc/sys/kernel/sysrq
Pentru a reporni un sistem folosind această metodă, țineți apăsat Alt + SysRq (PrintScreen) și apăsați în succesiune următoarele taste, cu o mică pauză între fiecare:
R E I S U B
Sau, pentru a opri, apăsați O în loc de B la final:
R E I S U O
Iată semnificația fiecărei taste:
- R: Comută tastatura din modul brut în modul XLATE
- E: Trimite semnalul SIGTERM către toate procesele, cu excepția init
- I: Trimite semnalul SIGKILL către toate procesele, cu excepția init
- S: Sincronizează toate sistemele de fișiere montate
- U: Remontează toate sistemele de fișiere montate ca fiind doar pentru citire
La final avem fie B, fie O, care înseamnă:
- B: Repornește imediat sistemul, fără a demonta partițiile sau a sincroniza
SAU
- O: Oprește imediat sistemul, fără a demonta partițiile sau a sincroniza
Rezumat
Acestea sunt metodele variate prin care puteți reporni sau opri un sistem Linux. Acestea oferă opțiuni, de la interfețe grafice simple, până la comenzi de terminal complexe, care vă pot simplifica munca sau chiar vă pot permite automatizarea sarcinilor. Pentru sistemele care au devenit inaccesibile, am explorat metode forțate de a iniția repornirea sau oprirea, metode care nu sunt ideale, dar pot fi utile în situații rare.
Acționați cu precauție când utilizați comenzile menționate în acest articol, deoarece acestea afectează starea sistemului și pot influența mai mulți utilizatori și servicii, în cazul unui server enterprise. Consultați paginile de manual ale comenzilor sugerate pentru a afla mai multe despre ele și toate opțiunile disponibile.
Descoperiți aici cum să configurați WAS pentru a nu mai solicita parola la oprire.