Reporniți și opriți sistemul - înțelegeți funcționarea unix-sistemelor

Sistemele UNIX stochează tampoane de modificări în memorie și doar ocazional le scriu pe disc. Acest lucru accelerează operațiile de I / O ale discului, dar, de asemenea, face ca sistemul să fie mai susceptibil la pierderea datelor în caz de blocări bruște.







Anterior, sistemele UNIX erau foarte scrupuloase în ceea ce privește procedura de închidere. Sistemele moderne sunt mai tolerante, dar este mai bine să finalizăm munca cât mai bine posibil. Închiderea incorectă a sistemului poate duce la apariția unor greșeli greu de detectat, a unor erori neobișnuite și, uneori, la o colapsare completă.

Repornirea este necesară în cazul în care un dispozitiv nou este conectat sau un dispozitiv de lucru închide, astfel încât să nu poată fi resetat. Dacă fișierul de configurare este modificat, care este utilizat numai la momentul încărcării, modificările vor intra în vigoare numai după repornire. Și la sfârșit, dacă sistemul "se blochează" astfel încât este imposibil să se înregistreze, pur și simplu nu există altă cale decât să repornească.

Spre deosebire de boot-ul inițial, care se desfășoară într-un singur mod, sistemul poate fi oprit și repornit în diverse moduri:

Dați comanda oprire;

utilizați comenzile de oprire și repornire (în sistemele BSD și Linux);

trimiteți programului de inițiere un semnal TERM;

modificați nivelul programului init utilizând comanda telinit (pe sistemele System V);

va distruge procesul de init

Chiar și în sistemele UNIX mici, acest mod de oprire este inacceptabil. Aceasta poate duce nu numai la pierderea datelor și deteriorarea fișierelor de sistem. Există riscul de a corupe unitatea dacă este una dintre cele care necesită un întrerupător de protecție sau capete de parcare înainte de a opri alimentarea.

Desigur, în caz de inundații sau de incendiu, este mai bine să opriți alimentarea dacă nu aveți timp să opriți sistemul corect. În sălile mașinilor și în zilele noastre există un buton de urgență care vă permite să opriți tot echipamentul în același timp.

Comanda de închidere: modul corect de oprire a sistemului

Comanda de închidere este cea mai sigură și cea mai corectă metodă de oprire sau repornire a sistemului sau revenirea la modul de utilizator unic. Din nefericire, este dificil să găsim un furnizor care să nu-și "pună mâna" pe argumentele sale. Vom analiza această comandă în general și apoi vom da un rezumat al sintaxei și al argumentelor care vor fi utile atunci când lucrează în oricare dintre sistemele descrise.

Puteți spune comanda de închidere să se întrerupă înainte de a închide sistemul. În așteptare, comanda trimite utilizatorii înregistrați prin scurtarea treptată a intervalelor de timp ale mesajului, avertizându-i de oprirea apropiată. Implicit, mesajele indică faptul că sistemul se închide și indică perioada de timp rămasă înaintea opririi. Dacă doriți, administratorul poate adăuga propriul mesaj scurt, ceea ce explică de ce sistemul se oprește și cât timp va dura până când utilizatorii se pot conecta din nou.

Multe versiuni ale comenzii de închidere vă permit să specificați ce trebuie să facă sistemul: opriți, intrați în modul de utilizator unic sau reporniți. Uneori puteți specifica dacă trebuie să testați discurile după repornire folosind comanda fsck. În sistemele moderne cu discuri mari, un astfel de test va dura mult timp, deci, în general, nu poate fi efectuat dacă sistemul a fost finalizat corect înainte de acesta. În unele sisteme, pasul de verificare a discului este automat ignorat dacă sistemele de fișiere au fost demontate corespunzător.







În tabel. 2.6 afișează argumentele liniei de comandă pentru comanda de închidere pentru cele șase sisteme în cauză. O linie indică opțiunea implicită.

Tabelul 2.6. Comanda de închidere cu multe fețe

Comanda de oprire: o cale mai ușoară de oprire

Comanda de oprire efectuează toate operațiunile de bază necesare pentru închiderea sistemului. Pentru a invoca această comandă, puteți specifica în linia de comandă de oprire -h sau opri direct. Registrele de comandă oprire în caz de jurnal fișier de închidere distruge procesele inexistente execută comanda de sincronizare (care, la rândul său, se efectuează apel de sincronizare) de așteptare pentru finalizarea operațiilor de înregistrare pe disc, și apoi se termină nucleul operație.

Când se specifică comanda stop -n, apelul de sincronizare este suprimat. Această comandă este utilizată după ce partiția rădăcină este restabilită cu fsck. astfel încât kernelul nu poate suprascrie versiunile vechi ale partiției care sunt stocate în cache. Comanda stop -q inițiază o oprire aproape imediată fără sincronizare, distrugerea proceselor și logarea evenimentelor. Steagul -q este rar folosit.

Comanda de repornire: o repornire rapidă

Comanda de repornire este aproape identică cu comanda de oprire. Diferența este că sistemul repornește, dar nu se oprește. Modul de repornire este de asemenea apelat de comanda shutdown -r. În plus, comanda de închidere acceptă steagurile -n și -q.

Trimiterea semnalului TERM la programul init

Rezultatele distrugerii programului init sunt imprevizibile și, în majoritatea cazurilor, foarte dăunătoare. Înainte de a trimite orice semnal la acest program, consultați documentația. Când versiunea BSD a programului init primește un semnal TERM, acesta distruge de obicei toate procesele utilizatorului, daemonii, procesele getty și pune sistemul în modul de utilizator unic. Același lucru se face prin comanda de închidere.

Pentru a trimite un semnal procesului, trebuie să utilizați comanda ps pentru a afla identificatorul acestui proces. Programul de inițiere este întotdeauna procesul numărul unu. Pentru a trimite un semnal, folosiți comanda kill:

Comanda Telinit: modificați nivelul programului init

În sistemele în care programul init acceptă mai multe runlevelle, puteți utiliza comanda telinit pentru a instrui programul să meargă la un anumit nivel. De exemplu, comanda

traduce sistemul într-un singur mod de utilizare în Solaris și HP-UX. În Red Hat, trebuie să specificați 1, nu S, altfel interpretul shell va rula ca root. și nivelul în sine nu va fi schimbat:

Același lucru se poate face și cu ajutorul comenzii

care, printre altele, poate emite un mesaj de avertizare și poate face o scurtă pauză înainte de a trece la un nou nivel.

Comanda telinit este cea mai utilă atunci când verificați modificările aduse fișierului inittab. Dacă parametrul -q este prezent, comanda va determina programul inițial să citească din nou fișierul.

Distrugerea procesului de inițiere

Procesul inițial este atât de important pentru sistem încât, dacă o omori cu kill-KILL sau kill-9. atunci cele mai multe sisteme se vor reporni automat (unele kerneluri dau doar un mesaj de panică - o eroare fatală). Acesta este un mod foarte "brut" de a reporni. Este mai bine să utilizați comenzile de oprire și repornire.

Proiectul microG a lansat ansamblul LineageOS cu implementarea alternativă a serviciilor Google

Ca parte a proiectului LineageOS pentru construirea microG, este pregătită versiunea platformei LineageOS (dezvoltarea continuă a CyanogenMod), care oferă o implementare alternativă gratuită a serviciilor Google.

Fundația SPO a raportat scurgerea datelor de utilizator din cauza unei copii de rezervă uitate

Fundația pentru Software Liber a avertizat asupra incidentului, care a dus la publicarea unor informații referitoare la proiectul Defective By Design, inclusiv.

A fost creată versiunea corectivă a browserului specializat Tor Browser 7.0.9, axat pe asigurarea anonimatului, a securității și a confidențialității. Browserul este construit pe Firefox și.

Împotriva organizației Software Freedom Conservancy a intentat un proces împotriva retragerii mărcii

Software Conservancy Freedom Conservation (SFC) a anunțat primirea unei cereri de rechemare a mărcii lansate de Software Freedom Law Center (SFLC). Afirmația afirmă că este comercială.







Articole similare

Trimiteți-le prietenilor: