Pornirea si repornirea sistemului ================================= La alimentare cu curent a sistemului sunt urmati urmatorii pasi: - BIOS testeaza sistemul, cauta si initializeaza echipamentele periferice, apoi cauta discul de pe care va porni sistemul - BIOS verifica sectorul de boot (MBR), ii incarca continutul in memorie si ii preda controlul - MBR citeste incarcatorul de boot (boot loader) (LILO sau GRUB) si il executa - incarcatorul de boot citeste imaginea nucleului SO si ii cedeaza controlul - nucleul SO identifica echipamentele folosite in sistem, apoi cauta programul init in directorul /sbin si il executa, dupa ce in prealabil a montat sistemul de fisiere radacina in modul read-only - procesul init devene parintele tuturor proceselor care vor fi executate ulterior. El continua operatia de pornire, in urmatoarele etape: a) executa scriptul /etc/rc.d/rc.sysinit, care: - verifica integritatea sistemului de fisiere radacina, apeland fsck - verifica integritatea celorlalte sisteme de fisiere specificate in /etc/fstab - monteaza sistemele de fisiere locale (aflate pe discurile sistem) - initializeaza memoria virtuala - initializeaza ceasul sistemului - executa rc.serial pentru a initializa porturile seriale speciale b) citeste configurarile din fisierul /etc/inittab, care descrie fiecare nivel de executie si stabileste nivelul implicit N (prin intermrdiul liniei id:3:initdefault a acestui fisier se spune, de exemplu ca nivelul implicit de executie este 3) c) executa sctripturile din nivelul implicit de executie /etc/rc.d/rcN.d unde N este nivelul de executie d) executa scriptul /etc/rc.d/rc.local, care efectueaza initializarile locale ------------------------------------------------------------------------------------- Nivele de executie 0 starea de oprire (halt) = starea in care sistemul poate fi oprit in siguranta 1 starea single user = in aceasta stare nu este montata decat partitia radacina, reteaua nu este activata, serviciile nu sunt pornite. Se utilizeaza cand apar defectiuni in sistem 2 starea normala a sistemului, fara NFS (multi user without NFS) 3 starea normala a sistemului (multiuser) 4 neutilizata 5 starea normala a sistemului cu X login window 6 starea de repornire (reboot) Schimbarea nivelului de executie se poate face cu programul /sbin/telinit parametru unde parametru este unul dintre caracterele 0,1,2,3,4,5,6: schimba nivelul de executie a,b,c: proceseaza intrarile de pe aceste niveluri q,Q: reciteste /etc/inittab s,S: trece in mod single-user u,U: reexecuta init ------------------------------------------------------------------------------------- Fisierul /etc/inittab --------------------- este fisierul de configurare al programului /sbin/init si contine intrari care definesc actiunile sistemului pentru fiecare nivel de executie. Intrarile au formatul eticheta:lista_de_stari:actiune:proces De cautat in manual semnificatia actiunilor wait, respawn, once, boot, initdefault, ondemand, ctrlaltdel ------------------------------------------------------------------------------------- Fisierele de initializare rc ---------------------------- Atunci cand nivelul de executie se schimba, init apeleaza scriptul /etc/rc.d/rc (vezi mai sus, punctul c)) Acest script executa toate scripturile aflate intr-un director de tipul /etc/rc.d/rcN.d unde N=0, 1, ..., 6 corespunde unuia dintre nivelurile de executie. De exemplu pentru nivelul 3 de executie, continutul directorului /etc/rc.d/rc3.d este K05innd K35dhcpd K65krb5kdc S06reconfig S60lpd K09junkbuster K35vncserver K70aep1000 S08ip6tables S60nfs K12mysqld K40mars-nwe K70bcm5820 S08ipchains S80sendmail K15httpd K45arpwatch K74ntpd S08iptables S85gpm K15postgresql K45named K74ups S09isdn S90crond K16rarpd K45smartd K74ypserv S10network S90xfs K20bootparamd K46radvd K74ypxfrd S12syslog S91smb K20iscsi K50netdump K75gated S13portmap S95anacron K20netdump-server K50snmpd K84bgpd S17keytable S95atd K20rstatd K50snmptrapd K84ospf6d S20random S97rhnsd K20rusersd K50tux K84ospfd S24pcmcia S98wine K20rwalld K54pxe K84ripd S25netfs S99local K20rwhod K55routed K84ripngd S26apmd S99usermin K24irda K61ldap K85zebra S27ypbind S99webmin K25squid K65identd K86nfslock S28autofs K28amd K65kadmin K90isicom S55sshd K34yppasswdd K65kprop K99microcode_ctl S56rawdevices K35atalk K65krb524 S05kudzu S56xinetd Exista scripturi marcate cu K (de la kill) si scripturi marcate cu S (de la start). Cele marcate cu K opresc programele corespunzatoare. De exemplu K61ldap opreste programul ldap ,adica executa /etc/init.d/ldap stop Cele marcate cu S pornesc programul corespunzator. De exemplu, S55sshd porneste programul ssh, adica executa /etc/init.d/sshd start service ldap stop service sshd start service sshd status Numerele care apar dupa K sau S determina ordinea in care se executa aceste comenzi. Ati dedus probabil deja ca toate scripturile din acest director sunt de fapt sunt de fapt link-uri (scurtaturi) catre scripturi din directorul /etc/init.d O consecinta a acestui fapt este ca putem stabili care script sa porneasca si care nu pe un anumit nivel de executie, redenumind link-ul din directoul /etc/rc.d/rcN.d. De exemplu daca dorim sa nu mai porneasca sshd pe nivelul de executie 3 putem da mv /etc/rc.d/rc3.d/S55sshd /etc/rc.d/rc3.d/K55sshd Nu e prea elegant sa procedam in acest fel, dar e posibil. 2) O alta modalitate de a spune care programe sa porneasca si care nu pe un anumit nivel de executie este cu programul serviceconf din interfata grafica 3) O a treia modalitate de a face acest lucru este cu utilitarul in mod text ntsysv De exemplu: a) ntsysv (fara parametri) configureaza nivelul curent de executie b) ntsysv --level 35 configureaza nivelele de executie 3 si 5 4) O a patra modalitate de a specifica programele care sa porneasca pe fiecare dintre nivelele de executie este cu comanda chkconfig De exemplu: a) chkconfig --level 345 postgresql on seteaza serviciul postgresql sa porneasca automat pe nivelele de executie 3, 4 si 5 b) chkconfig postgresql off face ca postgresql sa fie oprit doar pe nivelul de executie curent c) chkconfig --help afiseaza help-ul pentru utilizarea comenzii d) chkconfig --list or chkconfig afiseaza fiecare serviciu si starea sa pentru fiecare nivel de executie e) chkconfig --add serviciu1 adauga serviciul "serviciu1" la lista serviciilor inregistrate f) chkconfig --del serviciu1 sterge serviciul "serviciu1" de pe lista serviciilor inregistrate g) daca nu specific nivelul de executie atunci este vorba despre nivelul de executie curent. h) serviciile pornite cu chkconfig vor porni automat si dupa resetarea sistemului 5) Pornirea manuala a serviciilor se face cu comanda /etc/init.d/serviciu1 start unde serviciu este unul dintre serviciile inregistrate. Acesta pornire nu este persistenta, la resetarea sistemului serviciul "serviciu1" va trebui repornit manual. ------------------------------------------------------------------------------------- Tiparirea la imprimanta ======================= lprd demonul de imprimare lpr adauga un print job lpq afiseaza sarcinile din coada de tiparire lprm sterge o sarcina din coada de tiparire lpc interfata pentru administrarea sistemului de tiparire Meniul System -> Printer Configuration Pentru configurare in mod text avem printconf-tui