Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Pornirea si oprirea sistemului

linux


Pornirea si oprirea sistemului

Imediat dupa punerea sub tensiune, BIOS-ul testeaza sistemul, cauta si initializeaza echipamentele periferice, iar apoi cauta discul de pe care va porni sistemul. BIOS-ul verifica sectorul de boot, MBR (Master Boot Record), îi încarca conti­nutul în memorie si îi preda controlul. MBR-ul citeste mai departe încarcatorul de boot (LILO sau GRUB) si îl executa.



încarcatorul de boot citeste imaginea nucleului si îi cedeaza controlul. Nucleul identifica echipamentele cunoscute din sistem, apoi cauta programul init în directorul /sbin si îl executa, nu înainte de a monta sistemul de fisiere-radacina în mod read-only.

Procesul init devine parintele tuturor proceselor care vor fi pornite ulterior. De asemenea, el continua operatiunea de pornire, dupa cum urmeaza:

Executa scriptul /etc/rc.d/rc.sysinit, care:

-     747l116h      747l116h   verifica integritatea sistemului de fisiere-radacina apelând fsck. De
asemenea, este verificata si integritatea celorlalte sisteme de fisiere
specificate în /etc/fstab;

-     747l116h      747l116h   monteaza sistemele de fisiere locale (aflate pe discurile din sistem);

-     747l116h      747l116h   initializeaza memoria virtuala;

-     747l116h      747l116h   initializeaza ceasul sistemului;

-     747l116h      747l116h   executa re.serial pentru a initializa porturile seriale speciale, daca
este cazul.

2.     747l116h      747l116h   Citeste configurarile din fisierul /etc/inittab, care descrie fiecare nivel de
executie si stabileste nivelul implicit. De asemenea, executa scripturile din
nivelul implicit de executie, /etc/rc.d/rc w, unde N este nivelul de
executie.

3.     747l116h      747l116h   Executa scriptul /etc/rc.d/rc. local, care efectueaza initializari locale.

Standardul System V defineste o serie de stari ale sistemului, denumite niveluri de executie (run levels). La un moment dat, sistemul se gaseste în una din aceste stari si poate fi trecut într-o alta stare utilizând anumite comenzi administrative. Urmatorul tabel prezinta nivelurile de executie uzuale:

Configurari de baza ale sistemului

Tabelul 3.1. Nivelurile de executie System V

Nivelul Descriere

de executie

O Starea de oprire (half): starea în care sistemul poate fi oprit în

Starea de reparare a sistemului (single-user): în aceasta stare
nu este montata decât partitia radacina, reteaua nu este activata
iar serviciile nu sunt pornite. Se utilizeaza atunci când apar

defectiuni în sistem, dej3xempjjŁdefectiunea unei partitii.

Starea normala a sistemului, fara NFS (mult-user without
NFS).

Starea normala a sistemului (multiuser).

Neutilizata.

Starea normala a sistemului, cu login X Window. _ __ _

Starea de repornire (reboof).

De asemenea, System V defineste câteva niveluri de executie aditionale, desemnate prin litere ale alfabetului. Acestea nu reprezinta stari distincte ale sistemului, ci folosesc pentru a comunica programului init sa execute anumite operatiuni. De exemplu, nivelul q comunica init sa reciteasca fisierul de configurare. Pentru detalii, vezi sectiunea 3.3.

3.1. Utilizarea modului single

Nivelul de executie single se foloseste pentru activitati administrative. Pentru a initializa nivelul single-user, init executa interpretorul de comenzi, sub utilizatorul root. In acest mod, serviciile normale ale sistemului nu sunt disponibile, nefiind posibila executia daemonilor sau altor programe în fundal.

Sistemul poate fi pornit în mod single furnizând nucleului Linux optiunea single, apelând, de exemplu, la promptul LILO, comanda:

| LILO: linux single

Este posibil ca sistemul sa porneasca automat în mod single, atunci când în cadrul procesului de pornire apar probleme care nu pot fi rezolvate automat, spre exemplu atunci cândfsck detecteaza erori ce nu pot fi reparate în mod implicit, în aceste cazuri, administratorul sistemului trebuie sa rezolve problema. O data rezolvata, pornirea poate continua terminând executia shell-ului de comenzi, apelând comanda exit sau logout.

Administrarea si configurarea sistemelor Linux

3.2. Fisierele de initializare System V

Fisierul /etc/inittab

Dupa cum am vazut mai devreme, fisierul de configurare al programului init este /etc/inittab. Acest fisier contine intrari care definesc actiunile sistemului atunci când acesta intra în fiecare nivel de executie. Intrarile au urmatorul format:

| eticheta : lista_stari : actiune : proces

unde:

-     747l116h      747l116h   eticheta este o eticheta unica ce identifica fiecare intrare. Lungimea
maxima a acesteia este de 4 caractere;

-     747l116h      747l116h   lista_stâri este lista nivelurilor la care se aplica intrarea. Daca este vida,
intrarea se aplica la toate nivelurile de executie;

-     747l116h      747l116h   actiune indica modul în care init trateaza procesul executat de intrare.
Atunci când sistemul intra într-un nou nivel de executie, init
prelucreaza toate intrarile specificate pentru respectivul nivel, în
ordinea aparitiei în fisierul de configurare. Cele mai importante tipuri
de actiuni sunt urmatoarele:

.     747l116h    wait: porneste procesul si asteapta sa se încheie înainte de a
trece la urmatoarea intrare;

.     747l116h    respawn: porneste procesul si îl reporneste daca acesta se
încheie (utilizata în general pentru procesele de tip getty, care
controleaza terminalele conectate la sistem);

.     747l116h    once: porneste procesul doar daca acesta nu ruleaza deja. Nu
asteapta încheierea lui;

.     747l116h    boof. executa intrarea doar la pornire. Porneste procesul, dar nu
asteapta încheierea lui;

.     747l116h    bootwait: executa intrarea doar la pornire. Porneste procesul si
asteapta încheierea lui;

» initdefault: stabileste nivelul de executie implicit, în mod normal are valoarea 3;

.     747l116h    off. daca procesul ruleaza, îl opreste;

.     747l116h    ondemand: un proces marcat cu un nivel de tip ondemand va fi
executat atunci când respectivul nivel este apelat. Nivelurile de
tip ondemand pot fi a, b sau c. Nu va avea loc totusi nici o
schimbare de nivel de executie;

.     747l116h    powerwait: procesul va fi executat atunci când tensiunea de
alimentare s-a întrerupt; init este informat de obicei despre acest
eveniment atunci când un proces comunica cu o sursa

Configurari de baza ale sistemului

neîntreruptibila (UPS) conectata la calculator; init va astepta ca procesul sa se încheie înainte de a continua;

.     747l116h   powerfail: la fel ca powerwait, dar nu asteapta încheierea
procesului;

.     747l116h   powerokwait: procesul va fi executat atunci când init este
informat ca tensiunea de alimentare a fost restabilita;

.     747l116h   powerfailnow. procesul va fi executat atunci când bateria
UPS-ului este aproape descarcata si tensiunea de alimentare va
fi oprita definitiv în cel mai scurt timp;

.     747l116h   ctrlaltdel: procesul va fi executat când init primeste semnalul
SIGINT (de obicei atunci când la consola s-a apasat

Ctrl+Alt+Del);

- proces reprezinta programul care va fi executat.

Pot fi utilizate si comentarii, care încep cu caracterul #, ca de altfel în majoritatea fisierelor de configurare ale sistemului UNIX.

Iata un fisier /etc/inittab implicit de pe un sistem Red Hat:

Acest fisier descrie modul în care procesul init seteaza

sistemul

în fiecare nivel de executie

Nivelul implicit de executie. Nivelurile utilizate de Linux

sunt:

#     747l116h      747l116h O - oprire (a nu se seta initdefault pe aceasta valoare!)

#     747l116h      747l116h l - mod single user

#     747l116h      747l116h 2 - multi-utilizator, fara NFS

#     747l116h      747l116h 3 - multi-utilizator

#     747l116h      747l116h 4 - nefolosit

#     747l116h      747l116h 5 - XII

#     747l116h      747l116h 6 - repornire (a nu se seta initdefault pe aceasta valoare)

id: 3:initdefault:

Initializarea sistemului
si::sysinit:/etc/rc.d/rc.sysinit
10:0:wait:/etc/rc.d/rc O
ll:l:wait:/etc/rc.d/rc l
12:2:wait:/etc/rc.d/rc 2
13:3:wait:/etc/rc.d/rc 3

14:4:wait:/etc/rc.d/rc 4 15:5:wait:/etc/rc.d/rc 5 16:6:wait:/etc/rc.d/rc 6

Procesele executate în fiecare nivel de executie
ud::once:/sbin/update

Administrarea si configurarea sistemelor Linux

tt Captureaza CTRL-ALT-DEL

ca: :ctrlaltdel:/sbin/shutdown -t3 -r now

Când sursa neîntreruptibila ne transmite ca s-a oprit tensiunea

de alimentare, presupunem ca mai avem la dispozitie doar câteva

minute. Programeaza oprirea sistemului peste 2 minute.

pf::powerfaii:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

Daca tensiunea de alimentare a fost restabilita înainte de

oprire, anuleaza operatiunea de oprire

pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

Executa getty în nivelurile de executie standard
respawn:/sbin/mingetty ttyl

2:234 5:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345: respawn:/sbin/mingetty 11y5 6:2345:respawn:/sbin/mingetty tty6

Executa xdm in nivelul 5

x:5:respawn:/etc/Xll/prefdm -nodaemon

Fisierele de initializare re

Atunci când nivelul de executie se schimba, init apeleaza scriptul /etc/rc.d/rc. Acesta executa toate scripturile aflate în directorul /etc/rc.d/rcn.d, unde n este numarul nivelului.

Continutul unui director /etc/rc.d/rc3. d este redat mai jos:

# îs -C /etc/rc.d/rc3.d

K12mysqld S12syslog SSOxinetd SSOsendmail SQOcrond

K74ntpd S13portmap S56rawdevices S85gpm S90xfs

K95kudzu      S20random S60lpd S85httpd S99local

SlOnetwork      S25netfs S75keytable S85postgresql

Dupa cum se observa, toate numele de fisiere încep cu un caracter initial (S de la Start sau K de la Kilf), urmate de un numar format din doua cifre, sfârsindu-se cu denumirea serviciului. Sunt executate mai întâi scripturile începând cu K, urmate de scripturile S, în ordine alfabetica. Astfel, în directorul exemplu, scripturile vor fi

executate ÎI1 Ordinea: K12mysqld, K74ntpd, K95kudzu, SlOnetwork s.a.m.d.

Scripturile începând cu K sunt utilizate în general pentru a încheia procese, iar scripturile începând cu S sunt utilizate pentru a porni procese.

Scripturile din directoarele re?.d sunt de obicei legaturi Ia scripturile aflate în directorul /etc/rc.d/init.d. Spre exemplu, fisierul ssotcp din directorul rc3.d

Configurari de baza ale sistemului

este o legatura la fisierul /init.d/tcp. Atunci când un script K este executat, acesta primeste parametrul stop, iar scriptul S primeste parametrul start.

3.3. Schimbarea nivelului de executie

Schimbarea nivelului de executie se poate realiza apelând telinit, furnizând ca parametru nivelul de executie dorit. Spre exemplu, comanda telinit 6 va determina sistemul de reporneasca. Practic, /sbin/teiinit este o legatura simbolica catre /sbin/init. Programul telinit primeste ca parametru un caracter si apeleaza init pentru a executa actiunea dorita. Parametrul poate lua una dintre urmatoarele valori:

-     747l116h      747l116h O, l, 2,3, 4, 5, 6: schimba nivelul de executie

-     747l116h      747l116h a, b, c: proceseaza intrarile de pe aceste niveluri

-     747l116h      747l116h q, Q: reciteste /etc/inittab

-     747l116h      747l116h s, S: trece în mod single-user

-     747l116h      747l116h u, U: reexecuta init

3.4. Oprirea sistemului

Oprirea sistemului poate fi necesara în cazul operatiunilor de întretinere periodica (cum ar fi curatarea ventilatoarelor), schimbarilor sau adaugirilor de echipamente hardware, sau altor operatiuni administrative.

Pentru închiderea sistemului se utilizeaza comanda shutdown, care efectueaza urmatoarele operatiuni:

-     747l116h      747l116h atentioneaza utilizatorii ca sistemul urmeaza sa fie oprit dupa un anumit
timp;

-     747l116h      747l116h sunt blocate intrarile utilizatorilor în sistem;

-     747l116h      747l116h trece sistemul în nivelul de executie O, daca sistemul va fi oprit, sau 6, daca
sistemul va fi repornit;

-     747l116h      747l116h este trimis semnalul SIGTERM tuturor proceselor din sistem, oferindu-se
timp pentru a-si încheia corect executia;

-     747l116h      747l116h este trimis semnalul SIGKILL proceselor care nu s-au încheiat;

-     747l116h      747l116h toti utilizatorii din sistem sunt scosi din sistem;

-     747l116h      747l116h sunt demontate toate sistemele de fisiere montate;

-     747l116h      747l116h masina este oprita sau repornita.

Administrarea si configurarea sistemelor Linux

Programul shutdown are urmatoarea sintaxa:

| shutdown [ -t sec ] [ optiuni ] timp [ mesaj ] unde optiuni pot fi:

-t sec asteapta sec secunde între trimiterea catre procese a semnalului

SIGTERMsi a semnalului SIGKILL; -k      nu realizeaza oprirea sistemului, ci doar trimite mesajul de atentionare

tuturor utilizatorilor; -r      reporneste masina; -h      opreste masina; -/ nu efectueaza fsck dupa repornire (pentru a grabi procedura de pornire).

în acest scop va fi creat fisierul /fastboot; -F      forteaza apelarea fsck dupa repornire. în acest scop va fi creat fisierul

/forcefsck; -c anuleaza un apel shutdown în curs;

timp reprezinta timpul la care va fi începuta procedura de oprire. Poate fi ori în formatul hh:mm (momentul absolut în ore, respectiv minute la care va fi oprit sistemul), ori în formatul +m, unde m este numarul de minute dupa care va fi oprit sistemul. Cuvântul-cheie now este sinonim cu +0. Daca oprirea nu se face imediat, va fi creat fisierul /etc/nologin, care va determina programul login sa nu mai permita intrarea utilizatorilor pe masina;

mesaj reprezinta mesajul de atentionare ce va fi trimis utilizatorilor.

Spre exemplu, comanda shutdown +10 -h "Masina va fi oprita peste 10 minute pentru adaugarea unui hard-disk" programeaza O oprire a sistemului dupa 10 minute, trimitând un mesaj explicativ utilizatorilor intrati pe masina în acest moment.

Oprirea sistemului se poate face si cu ajutorul comenzilor halt si powerqff, aceasta din urma trimitând dupa oprire comanda de închidere a calculatorului.

Repornirea sistemului se poate face prin comanda reboot sau apasând la consola combinatia ctri+Alt+Dei.


Document Info


Accesari: 1576
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )