Pornirea/ Închiderea sistemului

Pornirea (bootarea)

Probabil mulți dintre cei care utilizează Linux-ul sunt îndrăgostiți de felul în care are loc pornirea sistemului. Mulți dintre noi s-au plictisit privind la ecranele colorate cu logo-uri ale Windows-ului în loc să afle ce se întâmplă în realitate. Dacă un sistem Windows crapă, trebuie să te transformi în Sherlock Holmes și să investighezi ce s-a întâmplat. Când Linux-ul nu reușește să pornească fără probleme, utilizatorul are foarte multe șanse să descopere ce s-a întâmplat doar privind ecranele ce se desfășoară la încărcarea sistemului, deoarece sunt afișate virtual toate sarcinile pe care le realizează acesta. Același lucru se întâmplă și la oprirea sistemului.

Nucleul (kernel-ul) Red Hat Linux, inima sistemului de operare, este de obicei păstrat într-un fișier compresat. Când kernel-ul este pornit de către managerul de boot (LILO, GRUB), se decompresează, inițializează sistemul video și începe verificarea celorlalte componente hardware atașate calculatorului. În timp ce descoperă discurile hard, driverele floppy, plăcile de rețea și așa mai departe, sunt încărcate și modulele driver corespunzătoare. Pe parcursul acestui proces sunt afișate pe ecran mesaje în format text. Figurile următoare prezintă o parte din aceste mesaje.

linux15
Figura 5.9. Mesaje la consolă în timpul procesului de încărcare
linux16
Figura 5.10. Mesaje la consolă în timpul procesului de încărcare

De la consolă, în timpul acestui proces, puteți apăsa combinația de taste Shift + PageUp pentru a derula înapoi mesajele. Puteți să vedeți mesajele afișate în timpul procesului de bootare rulând în orice moment programul dmesg. Fișierele /var/log/messages vor conține, de asemenea, multe mesaje din procesul de bootare.

            În acest moment, kernelul va monta sistemul de fișiere rădăcină (/) ca read-only (doar cu drepturi de citire) și va verifica sistemul de fișiere. Dacă totul este găsit în regulă, atunci sistemul de fișiere rădăcină va fi montat cu drepturi read/write (citire/scriere).

            Dacă apar probleme și kernel-ul nu reușește să monteze partiția rădăcină sau sunt descoperite probleme grave, kernelul va intra în panică și sistemul se va opri. Dacă discul devine corupt din anumite motive, kernel-ul va asigura o opțiune de rulare a unui program de verificare a sistemului de fișiere cum ar fi fsck.ext2 prin intermediul unui shell restrâns.

            Odată ce sistemul rădăcină de fișiere a fost montat, kernel-ul pornește un program numit init. Acest program pornește toate celelalte programe. Odată ce init a terminat de rulat toate programele necesare, sistemul poate fi considerat funcțional iar procesul de încărcare terminat.

            Ceea ce rulează init ca parte a procesului de bootare este foarte personalizabil.

            În timpul procesului de încărcare a sistemului, init va rula mai întâi scriptul rc.sysinit și apoi scriptul corespunzător nivelului implicit de rulare. Nivelul de rulare implicit este stabilit în /etc/inittab utilizând o linie precum următoarea:

init:3:initdefault:

În acest caz, nivelul implicit este stabilit nivelul 3. Aceasta înseamnă că init va rula scriptul necesar pentru a pune sistemul în modul de lucru multiutilizator.

            Iată în continuare exemplificate utilizările nivelelor de lucru (run level), exemplu obținut prin editarea fișierului /etc/inittab.

linux17
Figura 5.11. Editarea fișierului /etc/inittab (runlevel-urile)

 

Închiderea sistemului

Puteți executa manual init manual și să îi spuneți să schimbe nivelul de lucru cu un nivel dorit de dumneavoastră. De exemplu: init 0 va cere programului init să schimbe nivelul curent cu nivelul 0. Cu alte cuvinte, sistemul va fi stins. Dacă va aflați în modul multiuser (3), comanda precedentă nu este foarte recomandabilă deoarece nu înștiințează utilizatorii conectați la sistem că acesta se va opri.

În mod obișnuit este utilizată comanda shutdown pentru a opri sistemul. Această comandă trimite tuturor utilizatorilor conectați la sistem un mesaj de avertizare cu privire la modificarea nivelului de lucru. Această comandă oferă și posibilitatea programării în timp a opririi.

Comanda shutdown cere programului init să schimbe nivelul curent al sistemului fie cu cel de oprire (halt=0) fie cu cel de repornire (reboot=6). De exemplu, shutdown –h now.

Această comandă va cere init să schimbe nivelul cu 0 (oprirea sistemului) imediat.

Așa cum am spus, comanda shutdown permite programarea opririi sistemului la un moment viitor. De exemplu, shutdown +10 va programa oprirea sistemului peste exact 10 minute după ce comanda a fost introdusă de la tastatură. Dacă doriți să anulați oprirea programată, puteți folosi comanda shutdown împreună cu opțiunea –c. De exemplu, shutdown –c va anula orice programare de oprire a sistemului.

Puteți executa manual init pentru a reporni calculatorul. De exemplu, init 6

Dacă vă aflați în modul de lucru multiuser veți observa faptul că această comandă nu înștiințează utilizatorii sistemului despre eveniment, astfel încât ar fi de preferat să utilizați comenzile shutdown sau reboot pentru aceasta. De exemplu, shutdown –r +10

Această comandă va reporni sistemul în 10 minute. Toți utilizatorii vor primi un mesaj de înștiințare. Acest lucru le va permite să-și termine munca și să-și salveze fișierele dacă este cazul.

Pentru a reporni sistemul imediat puteți folosi: shutdown –r now sau reboot.

Leave a comment