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 readonly 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 intro 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 (multiuser 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 singleuser 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 shellului
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 intrun 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 sa 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, sfarsinduse 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, oferindule timp pentru asi 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 sia 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