Sunteți pe pagina 1din 14

Administrarea sistemelor Linux

Cursul 5
Notiuni de configurare de baza

Dragoş Acostăchioaie

http://www.adt.ro
Pornirea si oprirea sistemului
Pornirea sistemului

­ pornirea nucleului Linux
­ initializeaza echipamentele cunoscute
­ monteaza sistemul de fisiere radacina in mod read­only
­ executa /sbin/init
­ init devine parintele tuturor proceselor care vor fi pornite ulterior
­ executa scriptul /etc/rc.d/rc.sysinit
­ verifica integritatea sistemului radacina apeland fsck
­ verifica integritatea celorlalte sisteme de fisiere din /etc/fstab
­ monteaza sistemele de fisiere locale
­ initializeaza memoria virtuala
­ initializeaza ceasul sistemului
­ executa rc.serial pentru a initializa porturile seriale speciale
Pornirea sistemului (continuare)

­ citeste configurarile din /etc/inittab, care descrie fiecare nivel de executie
si stabileste nivelul implicit
­ executa scripturile asociate nivelului implicit de executie, aflate in
directorul /etc/rc.d/rcN (N = nivelul de executie)
­ executa scriptul /etc/rc.d/rc.local, care efectueaza initializari locale
Nivelurile de executie

­ standardul UNIX System V defineste o serie de stari ale sistemului,
denumite niveluri de executie (run levels)
­ la un moment dat, sistemul se gaseste in una din aceste stari
­ poate fi trecut oricand intr­o alta stare (nivel)
­ nivelurile de executie:
­ 0 – starea de oprire (halt): starea in care sistemul poate fi oprit in
siguranta
­ 1 – starea de reparare a sistemului (single user): nu este montata decat
partitia radacina, reteaua nu este activata iar serviciile nu sunt pornite;
este pornit doar un interpretor de comenzi; se foloseste atunci cand
apar defectiuni in sistem, de ex. defectiunea unei partitii
­ 2 – starea normala a sistemului, fara NFS (multi­user without NFS)
­ 3 – starea normala a sistemului (multiuser)
­ 4 – neutilizata
Nivelurile de executie (continuare)

­ 5 – starea normala a sistemului, cu login X Window
­ 6 – starea de repornire (reboot)

­ exista o serie de niveluri de executie aditionale, desemnate prin litere
­ nu reprezinta stari distincte, ci folosesc pentru a comunica programului
init sa execute anumite operatiuni
­ schimbarea nivelului de executie se face prin telinit (legatura simbolica la
init), primind ca argument un caracter si executa o actiune:
­ 0, 1, 2, 3, 4, 5, 6 – schimba nivelul de executie
­ q, Q – reciteste /etc/inittab
­ s, S – trece in mod single­user
­ u, U – reexecuta programul init
Utilizarea modului single

­ nivelul de executie single se foloseste pentru activitati administrative
­ pentru a initializa acest mod, init executa un interpretor de comenzi
sub utilizatorul root
­ serviciile sistemului nu sunt disponibile, nefiind disponibila executia
daemonilor sau altor programe in fundal
­ sistemul poate fi pornit in mod single furnizand nucleului Linux optiunea
single, la promptul incarcatorului de comenzi
­ este posibil ca sistemul sa porneasca automat in mod single, atunci cand
in cadrul procesului de pornire apar probleme care nu pot fi rezolvate
automat (de exemplu cand fsck detecteaza erori care nu pot fi reparate in
mod implicit)
­ pornirea sistemului poate continua terminand executia shell­ului
Fisierele de configurare System V

­ fisierul /etc/inittab contine intrari care definesc actiunile sistemului atunci
cand acesta intra in fiecare nivel de executie, cu formatul:
eticheta : lista_stari : actiune : proces

­ eticheta – eticheta unica ce identifica fiecare intrare (maxim 4 car.)
­ lista_stari – lista nivelurilor la care se aplica intrarea; daca este vida,
intrarea se aplica la toate nivelurile de executie
­ proces – programul care va fi executat
­ actiune – indica modul in care init trateaza procesul executat de intrare
atunci cand sistemul intra intr­un nou nivel de executie, init prelucreaza
toate intrarile specificate pentru respectivul nivel, in ordinea aparitiei
in fisierul de configurare:
­ wait – porneste procesul si asteapta sa se incheie inainte de a trece
la urmatoarea intrare
Fisierele de configurare System V (continuare)

­ respawn – porneste procesul si il reporneste daca aceste isi termina executia
(utilizata in general pentru procesele de tip getty)
­ once – porneste procesul doar daca acesta nu ruleaza deja; nu asteapta
incheierea lui
­ boot – executa procesul doar la pornirea sistemului; nu asteapta incheierea
­ bootwait – executa procesul doar la pornirea sistemului; asteapta incheierea
­ initdefault – stabileste nivelul de executie implicit; de obicei are valoarea 3
­ off – daca procesul ruleaza, il opreste
­ ondemand – procesul va fi executat cand respectivul nivel este apela; nu va
avea loc o schimbare de nivel de executie; nivelurile de acest tip pot fi a, b
sau c
­ ctrlaltdel – procesul va fi executat cand init primeste semnalul SIGINT
(cand s­a apasat Ctrl+Alt+Del la consola)
Fisierele de configurare rc

­ la schimbarea nivelului de executie, init apeleaza scriptul /etc/rc.d/rc, care
executa toate scripturile din directorul /etc/rc.d/rcn.d, unde n este numarul
noului nivel
­ toate numele de fisiere incep cu un caracter initial (S sau K), urmat de un
numar format din doua cifre, sfarsindu­se cu numele serviciului
­ sunt executate mai intai scripturile care incep cu K (folosite pentru a
incheia procese), urmate de cele care incep cu S (utilizate pentru a porni
procese), in ordine alfabetica
­ scripturile din directoarele rcn.d sunt de obicei legaturi la scripturile aflate
in /etc/rc.d/init.d
­ atunci cand un script K este executat, acesta primeste parametrul stop,
iar scriptul S, parametrul start
Oprirea sistemului

­ se foloseste comanda shutdown
­ atentioneaza utilizatorii ca sistemul urmeaza sa fie oprit
­ sunt blocate intrarile utilizatorilor in sistem
­ trece sistemul in nivelul de executie 0 (pentru oprire)
sau 6 (pentru repornire)
­ este trimis proceselor semnalul SIGTERM, oferindu­le
timp pentru a­si incheia executia
­ este trimis proceselor semnalul SIGKILL
­ sunt demontate toate sistemele de fisiere montate
­ calculatorul este oprit sau repornit
­ shutdown [ optiuni ] timp [ mesaj ]
­ ­t sec – asteapta sec secunde intre trimiterea semnalului SIGTERM si
SIGKILL
­ ­r – reporneste sistemul
Oprirea sistemului (continuare)

­ ­h – opreste sistemul
­ ­c – anuleaza un apel shutdown in curs
­ timp – timpul la care va fi inceputa procedura de oprire
­ hh:mm – timp absolut
­ +m – numar de minute dupa care va fi oprit sistemul
­ now – imediat
­ mesaj – mesajul de atentionare trimis utilizatorilor
­ alte comenzi
­ halt
­ poweroff (trimite si comanda de oprire)
­ reboot, Ctrl+Alt+Del
Pornirea, repornirea si oprirea serviciilor

­ se apeleaza scriptul ­ /etc/rc.d/init.d/nume_serviciu cu parametrul:
­ start – porneste serviciul
­ stop – opreste serviciul
­ restart – reporneste serviciul
­ status – verifica daca serviciul este activ
­ se foloseste comanda service nume_serviciu actiune
Daemonul xinetd

­ daemonul xinetd are rolul de a superviza activitatea unor servicii (FTP,
POP3, telnet etc.)
­ xinetd asteapta conexiuni pe o serie de porturi, iar cand apare o cerere
lanseaza un program care o trateaza
­ dupa ce programul si­a incheiat executia, xinetd continua sa accepte
conexiuni
­ se configureaza prin intermediul /etc/xinetd.conf
­ serviciile prin intermediul xinetd se gestioneaza cu chkconfig
Utilitarul chkconfig

­ chkconfig configureaza serviciile sistemului:
­ chkconfig [ ­­list ] [ ­­add ] [ ­­del ] [ ­­level lista_niveluri ] serviciu
[ actiune ]
­ lista_niveluri – lista de niveluri de executie in care se doreste activarea/
dezactivarea serviciului
­ actiune – poate fi on sau off – pentru activarea/dezactivarea serviciului
­ ­­list – afiseaza toate serviciile inregistrate, precum si setarile pentru
fiecare nivel de executie in parte
­ ­­add – adauga serviciul specificat in lista de servicii inregistrate
­ ­­del – sterge serviciul din lista de servicii inregistrate