Sunteți pe pagina 1din 73

Administrarea sistemelor Linux

Drago Acost chioaie

Cap. 1. Introducere
1.1. Scopul cursului

Scopul cursului Administrarea sistemelor Linux este iniierea n configurarea i administrarea unui server avnd instalat sistemul de operare Linux, asigurarea bunei funcionri a serviciile pe care acesta le ofer i meninerea securitii reelei.

1.2.

Bibliografie

Suportul de curs are la baz lucrarea Drago Acostchioaie, Administrarea i configurarea sistemelor Linux, ed. a II-a, Polirom, Iai, 2003 (http://www.adt.ro/ admin/). Alte referine bibliografice recomandate sunt urmtoarele: 1. Kirch, O.; Dawson, T., Linux Network Administrators Guide, 2nd Edition, OR eilly & Associates, Inc., 2000: http://www.oreilly.com/catalog/ linag2/. 2. Hunt, C., Linux Network Servers, SYBEX Inc., Alameda, 2002. 3. Frisch, ., Essential System Administration, O Reilly & Associates, Inc., Sebastopol, 1995. 4. Mourani, G., Securing and Optimizing Linux: The Ultimate Solution, Open Network Architecture Inc., 2001: http://www.openna.com/. 5. http://www.linux.org: situl oficial al sistemului de operare Linux. 6. http://www.linuxhq.com: o baz de date complet de surse, patch-uri i documentaii Linux. 7. http://sourceforge.net: cel mai puternic sit dedicat dezvoltrii de programe open-source. 8. http://freshmeat.net: cea mai mare baz de date de programe open-source. 9. http://www.adt.ro/projects/linux-ro/: documentaii referitoare la Linux traduse n limba romn.

1.3.

Ce este Linux

Linux este un sistem de operare gratuit (open source), compatibil UNIX. UNIX este un sistem multi-tasking - putnd executa n mod concurent un numr nedeterminat de programe, i multi-utilizator - utilizatorii avnd acces la resursele calculatorului de la diferite terminale plasate local sau la distan. Linux respect standardele POSIX, suport toat gama de aplicaii GNU i posed o interfa grafic X Window System. Scurt istoric

n anul 1969, cercettorii Kenneth Thompson i Dennis Ritchie de la AT&T Bell Labs au nceput dezvoltarea unui sistem de operare numit UNIX, pe un calculator PDP-7. Multe idei din UNIX au fost preluate dintr-un sistem anterior, MULTICS. n 1972, sistemul a fost rescris n proasptul nscut limbaj de programare C. Astfel, UNIX-ul a devenit portabil i pe alte maini, deoarece doar o mic parte a sa mai era realizat n limbaj de asamblare. Sistemul a fost lansat n curnd n comunitatea academic, putnd astfel nva de la utilizatorii si. n 1979 a fost lansat versiunea V7 de UNIX, care a constituit ulterior "printele" celorlalte implementri. O serie de profesori de la Universitatea Berkeley a dezvoltat propria variant de UNIX, denumit BSD (Berkeley Software Distribution), n timp ce AT&T continua n paralel dezvoltarea propriei variante, culminnd cu UNIX System V. n anii care au urmat, BSD a fost preluat i de alte organizaii, rezultnd ale variante derivate din acesta, cum ar fi una proprietar, realizat de Sun Microsystems i denumit Solaris, i trei open-source, denumite FreeBSD, NetBSD i OpenBSD. De asemenea, System V a constituit i el o serie ntreag de "clonri" i versiuni derivate. Alt pas important n evoluia UNIX-ului a fost nfiinarea, n 1984, de ctre Richard Stallman (cercettor pe atunci la celebrele MIT AI Labs), a fundaiei FSF (Free Software Foundation), care apr interesele autorilor de programe gratuite (pentru informaii suplimentare, a se vizita situl http://www.gnu.org). El a pornit proiectul GNU (denumire recursiv, dat n spiritul hacker-ilor anilor ' 80, nsemnnd GNU' s Not Unix), cu scopul de a crea o versiune gratuit (open-source) a sistemului UNIX, din considerentul c toate cunoinele nglobate ntr-un program trebuie s fie publice. Primul program realizat de ctre Stallman n cadrul proiectului GNU a fost Emacs, care a devenit operaional n 1985. Editorul de texte Emacs a fost fcut disponibil pe serverul ftp.prep.ai.mit.edu. Fiindc multe persoane erau interesate de acest editor, dar nu aveau acces la Internet, Stallman a pus la dispoziia publicului o band (tape) coninand programul, contra sumei de 150$. n acest mod a nceput prima afacere de distribuie de software free. n anul 1990, proiectul coninea deja o serie complet de aplicaii (cum ar fi compilatorul GCC, editorul Emacs, precum i un numr impresionant de alte programe), singura component major care lipsea fiind nucleul sistemului de operare. n acest moment intervine n scen sistemul Linux. Linux a aprut iniial ca un proiect al lui Linus Torvalds, student pe atunci la Universitatea din Helsinki. Prima versiune funcional a nucleului Linux a fost lansat pe 5 octombrie 1991. Acest sistem de operare a fost combinat cu programele GNU, diferite programe BSD precum i cu sistemul grafic X Window de la MIT, pentru a forma un sistem de operare complet, denumit GNU/Linux. Linux a cunoscut ncepnd cu lansarea sa un succes crescnd, ajungnd n acest moment pe locul al doilea din punct de vedere al numrului de utilizatori. n momentul fa se estimeaz c exist circa 18 milioane de utilizatori de Linux (pentru detalii, a se vedea situl http://counter.li.org).

Un studiu recent efectuat de IDC relev faptul c Linux este privit ca avand avantaje semnificative fa de alte sisteme de operare n ceea ce privete preul, costul de administrare, stabilitatea i performana. Spre deosebire de alte sisteme de operare, nici o firm nu este proprietara sistemului Linux. Mai mult dect att, el este protejat de Licena Public GNU, care stipuleaz faptul c se poate copia i utiliza gratuit codul programelor, cu condiia de a se permite i altora s fac acelai lucru. Linux i toate programele distribuite mpreun cu distribuia Linux sunt gratuite i, permis de licena mai sus menionat, poate fi copiat sau redistribuit fr nici un fel de restricii. Sistemul Linux este alctuit propriu-zis dintr-un nucleu (kernel) i un numr uria de programe i utilitare. Este un sistem de operare complet, care conine practic orice tip de aplicaie, putnd astfel juca o varietate de roluri, printre care: Server. Sistemul Linux conine un suport excepional pentru reea, pund oferi att serviciile specifice Internet-ului, cum ar fi Web, FTP, pot electronic, grupuri de discuii etc., precum i alte servicii de reea, cum ar fi server de imprimante, server de fiiere (NFS) .a.m.d. De asemenea, el poate substitui un server Windows NT/2000/XP sau Novell Netware. Stabilitatea, fiabilitatea i securitatea sa sporite i confer posibilitatea de a fi utilizat pe servere high-end i n medii critice. Sistem personal. Linux poate fi utilizat pentru redactarea de texte, tiprirea la imprimant, conectarea i navigarea pe Internet, citirea corespondenei. n plus, este o platform multimedia perfect pentru jocuri, pentru vizionarea de filme sau audiia de piese muzicale. Sistem utilizat la serviciu. Sistemul Linux conine o suit complet de programe pentru birou, cum ar fi programe de calcul tabelar, redactare profesionist de texte, realizarea de prezentri etc. Instrumentele pentru acces la Internet reprezint i ele un punct forte al acestui sistem. Sistem educa ional. Atuul principal este costul practic nul al sistemului. Instalarea de sisteme proprietare pe multe calculatoare poate fi extrem de costisitoare. Linux include aplicaii, compilatoare i medii integrate de dezvoltare a cror calitate este n general superioar celei a programelor comerciale.

Un sistem Linux, alctuit dintr-un program de instalare, nucleu i aplicaii gata compilate se numete distribuie Linux. Numeroase companii i organizaii au realizat asemenea distribuii. Acestea sunt disponibile gratuit pe Internet, dar pot fi achiziionate i contra cost ca pachete formate din CD-ROM-uri i manuale de utilizare. Distribuiile Linux cele mai rspndite sunt Fedora/Red Hat (http://fedora.redhat.com), Mandrake (http:// www.mandrake.com), SuSE (http://www.suse.de), Debian (http://www.debian.org), Caldera (http://www.caldera.com) i Slackware (http://www.slackware.org) i Knoppix (distribuie "live", care poate fi folosit prin pornirea direct de pe CD, nefiind necesar instalarea acesteia, disponibil la

http://www.knopper.net/knoppix/index-en.html).Diferenele

dintre aceste distribuii constau doar n sistemele diferite de instalare i programele de configurare folosite. Majoritatea acestor distribuii, precum i multe altele, pot fi gsite pe situl http://www.linuxiso.org.

1.4.

Arhitectura sistemului Linux

Ca n cazul oricrui sistem de operare compatibil UNIX, principala component a Linux-ului o constituie nucleul (kernel). Acesta este ncrcat n memorie dup pornirea calculatorului, de ctre un program special numit nc rctor de boot. Similar programelor obinuite, nucleul accept o serie de argumente i parametri, acetia putnd fi transmii prin intermediul ncrctorului de boot. Nucleul este lansat n execuie i ramne n memoria volatil (RAM) tot timpul utilizrii sistemului Linux. Driverele pentru dispozitivele hardware i anumite funcii ale nucleului pot fi compilate fie monolitic (ca parte integrant din nucleu) fie ca module; n acest ultim caz ele vor fi ncrcate n momentul n care devin necesare sau la dorina utilizatorului. n cadrul sistemului pot rula mai multe programe n regim concurent, regsite sub numele de procese. Exist o serie de procese speciale, care ruleaz n fundal (adic nu interacioneaz cu utilizatorul), cu rolul de a asigura diverse servicii (cum ar fi tiprirea la imprimant, bazele de date, server Web .a.m.d.). Aceste procese poart denumirea de daemoni. Interfaa grafic utilizat pe sistemele Linux este X Window, o interfa complex, cu posibilitatea lucrului n reea. Aceast interfa poate cpta aspecte i moduri de interaciune cu utilizatorul total diferite, prin intermediul mediilor desktop precum KDE i GNOME, sau a managerelor de fereastr . X Window este practic un ansamblu de procese, care pot rula eventual i pe calculatoare diferite, existnd posibilitatea ca o aplicaie s se execute pe un calculator iar afiarea s se fac pe un altul. Accesul la resursele sistemului se realizeaz prin intermediul utilizatorilor creai n sistem, n funcie de drepturile atribuite acestora. Astfel, se asigur o bun securitate a sistemului. Administrarea sistemului se efectueaz de ctre un utilizator special, denumit root.

Cap. 2. No iuni de baz


2.1. Pornirea sistemului Linux
Imediat dup punerea sub tensiune, BIOS-ul testeaz sistemul, caut i iniializeaz echipamentele periferice, iar apoi caut discul de pe care va porni sistemul. BIOS-ul verific sectorul de boot, MBR (Master Boot Record), i ncarc coninutul n memorie i i pred controlul. MBR-ul citete mai departe ncrctorul de boot i l execut. ncrctoarele de boot folosite de Linux sunt GRUB i LILO. 2.1.1. nc rc torul de boot n cazul utilizrii programului GRUB, pot fi utilizate tastele-sgei pentru selectarea sistemului de operare dorit. Dac utilizatorul nu acioneaz nici o tast n intervalul de timp afiat pe ecran, va fi pornit sistemul implicit (pe care se afl cursorul). Poate fi folosit de asemenea i tasta "e" pentru a modifica configuraia GRUB sau "a" pentru a edita argumentele trimise nucleului sistemului. Dac se folosete programul LILO, la prompterul afiat pe ecran trebuie introdus denumirea sistemului care va fi pornit (de exemplu linux sau win), i tasta ENTER pentru a porni nucleul. Opional, denumirea sistemului poate fi urmat de argumentele care vor fi trimise nucleului. Tasta Tab va afia lista de sisteme definite. Dac utilizatorul nu apas nici o tast ntr-un interval prestabilit de timp, va fi pornit sistemul implicit. 2.1.2. Pornirea sistemului O dat ales de ctre utilizator sistemul de operare Linux, ncrctorul de boot citete imaginea nucleului i i cedeaz controlul. Nucleul identific echipamentele cunoscute din sistem i ncarc driverele pentru ele, monteaz sistemul de fiiere rdcin, iar apoi pornete o serie de scripturi care pregtesc mediul UNIX. Astfel, sunt montate restul sistemelor de fiiere, este iniializat conexiunea la reea (dac exist) i sunt pornite serviciile pe care le va oferi sistemul (cum ar fi serviciul de tiprire la imprimant, serverul de baze de date, serverul Web .a.m.d.).

Pornirea sistemului Linux

n timpul pornirii sistemului Linux, pot fi remarcate o serie de mesaje care de obicei se deruleaz cu vitez pe ecran. Primele mesaje afiate sunt cele generate de nucleu, dup care urmeaz mesajele cauzate de pornirea serviciilor, despre care am discutat mai sus. Mesajele generate de ctre nucleu indic detectarea echipamentelor hardware de ctre driverele n cauz. Ele sunt utile att n vederea diagnosticrii funcionrii acestora ct i pentru verificarea corectitudinii configuraiei n care a fost compilat nucleul. Mesajele nucleului pot fi revzute ulterior prin apelul comenzii dmesg. Mesajele legate de pornirea serviciilor sistemului conin descrierea serviciului i un cod de succes a pornirii serviciului. Astfel, codurile afiate pot fi: OK - avnd culoarea verde, i semnificnd pornirea cu succes a serviciului, FAILED - avnd culoarea roie, semnificnd o pornire euat, i PASSED - avnd culoarea galben, atunci cnd pornirea unui serviciu a generat o eroare, aceasta putnd fi ns corectat. n funcie de configuraie, sistemul va porni sistemul de autentificare a utilizatorilor, fie n mod text, fie n mod grafic (vezi infra). 2.1.3. Intrarea i ieirea din sistem Fiecare persoan creia i este permis s lucreze pe un sistem UNIX trebuie s posede un cont de utilizator pe respectivul calculator. Fiecare utilizator are asociate un set de drepturi, avnd astfel acces la o anumit serie de resurse ale sistemului. Acesta deine

un director propriu, n care sunt stocate fiierele personale, inclusiv configurrile aplicaiilor etc. Orice sesiune de lucru UNIX ncepe cu autentificarea i acceptarea utilizatorului n sistem. Pentru a a-i fi permis accesul, acesta trebuie s furnizeze numele su de utilizator i parola. Intrarea n sistem grafic X Window va conduce la ncrcarea mediului desktop preferat de utilizator (KDE sau GNOME), n configuraia specific acestuia, nsoit de programele configurate a fi pornite automat. Ieirea din sistem n cazul utilizrii X Window se face prin selectarea opiunii Logout, controlul fiind cedat sistemului de autentificare grafic sau consolei virtuale din care a fost lansat n execuie, dup caz. Intrarea la consol va fi de felul:
Fedora Core 3 Kernel 2.6.10 on an i686 fenrir login: dragos Password:

Dup introducerea corect a parolei (care nu va fi afiat pe ecran), va fi pornit execuia interpretorului de comenzi. Ieirea din sistem (echivalnd cu ncheierea execuiei interpretorului de comenzi) se face prin comanda exit sau logout. Poate fi folosit i combinaia de taste Ctrl+D, care genereaz n UNIX codul pentru sfrit de fiier (End Of File). 2.1.4. Oprirea sistemului nainte de oprirea sistemului, toate programele n curs de execuie trebuie nchise, deoarece este posibil ca acestea s piard informaii nesalvate. n acest sens, se recomand verificarea tuturor consolelor virtuale pentru a nu exista aplicaii pornite, nainte de oprirea calculatorului. Pentru oprirea sistemului din sistemul X Window, se va selecta optiunea Logout iar apoi, din sistemul de autentificare, opiunea Shutdown oprire, sau Reboot - repornire (n unele versiuni Restart).

Oprirea sistemului Linux

Oprirea sistemului din mod text se va face din utilizatorul root sau utilizatorul curent dac i sunt conferite drepturi n acest sens, prin intermediul comenzii halt oprire sau reboot - repornire. Util este i comanda poweroff, care va trimite calculatorului comanda de nchidere automat, dac configuraia sa hardware permite acest lucru. Repornirea sistemului se poate face i prin apsarea combinaiei de taste Ctrl+Alt+Del. 2.1.5. Consola sistemului Din perspectiva UNIX clasic, accesul la sistem se face prin intermediul terminalelor, aflate local sau la distan. Linux implementeaz un sistem care permite deschiderea mai multor sesiuni de lucru la consol, concept care poart numele de terminal virtual. La pornirea sistemului n mod text (consol), controlul este predat terminalului virtual cu numrul 1. Comutarea ntre terminalele virtuale se face cu ajutorul combinaiei de taste Alt + Fn, unde n reprezint numrul terminalului. O excepie notabil o face sistemul X Window, cruia n momentul pornirii i se aloc un terminal virtual, i anume cel avnd numrul egal cu numrul maxim de terminale virtuale alocate plus unu. Spre exemplu, dac numrul maxim de terminale virtuale este 6 (configuraia standard dup instalare), atunci sistemul X Window va utiliza terminalul 7. Comutarea din mod grafic n mod text se va face prin intermediul combinaiei de taste Ctrl + Alt + Fn. Sesiunile de lucru clasice se desfoar n mod text, de aceea acest mod mai este cunoscut i sub numele de mod consol. Aa cum menionam i mai devreme, sesiunea de lucru ncepe odat cu autentificarea corect a utilizatorului n sistem i pornirea execuiei interpretorului de comenzi (shell). Sesiunea se ncheie odat cu ncetarea execuiei acestui interpretor. Istoricul informaiilor afiate pe ecranul terminalului virtual (n limita dimensiunii spaiului de memorie alocat pentru aceasta) poate fi accesat prin intermediul combinaiilor de taste Shift+PgUp (pagina precedent) respectiv Shift+PgDn (pagina urmtoare). Aceast operaiune poate fi realizat numai pentru informaiile afiate dup ultima schimbare a terminalului. Terminalele virtuale permit i utilizarea mouse-ului. Astfel, selecia efectuat cu ajutorul cursorului mouse-ului poate fi copiat la locaia curent a cursorului prin apsarea butonului-dreapta. Dac se utilizeaz sistemul X Window, o sesiune de lucru (nsoit n mod evident de lansarea interpretorului de comenzi) poate fi deschis prin intermediul aplicaiilor konsole, gnome-terminal sau xterm. n mod evident, utilizatorul care deine sesiunea este cel care a pornit mediul X Window.

2.2. Interpretorul de comenzi

Un interpretor de comenzi (shell) reprezint un program capabil de a executa comenzi introduse de utilizator i de a controla modul de afiare a rezultatelor acestor comenzi. Un shell UNIX este att un interpretor de comenzi, interfa ntre utilizator i un larg set de comenzi i utilitare puse la dispoziie, ct i un limbaj de programare care ofer mecanisme complexe de operare cu sistemul. Bash este un interpretor de comenzi specific sistemului de operare Linux. Numele su este un acronim de la Bourne-Again Shell, dup Steve Bourne, autorul shell-ului sh pentru UNIX, predecesorul bash-ului. 2.2.1. Generaliti Exist dou categorii de comenzi care pot fi apelate prin intermediul interpretorului:

comenzi interne (builtin, care se gsesc implementate n cadrul shell-ului); ca exemple de comenzi interne putem enumera cd, echo sau kill lista tuturor comenzilor interne poate fi vizualizat prin intermediul comenzii help. comenzi externe (acestea se gsesc separat fiecare n fiiere executabile; de exemplu, passwd, ls sau mail). Comenzile externe pot fi fiiere executabile (programe binare rezultate n urma procesului de compilare din programe surs scrise n C sau alte limbaje compilabile) sau script-uri (fiiere de comenzi, interpretate de un procesor de comenzi, cum ar fi bash sau Perl).

Shell-ul de cele mai multe ori este apelat interactiv, n sensul c va dialoga cu utilizatorul, interpretnd i executnd comenzile introduse de acesta. Utilizarea interactiv a interpretorului de comenzi (de la invocarea sa i pn la terminarea activitii) constituie o sesiune de lucru. Pornirea interpretorului de comenzi se poate face n dou moduri:

n mod automat, la conectarea n sistem, fie de la consola calculatorului, fie de la distan prin telnet sau ssh, dup autentificarea utilizatorului; din cadrul altui program care necesit rularea interpretorului de comenzi pentru a executa diferite comenzi sau la cererea utilizatorului, cum este cazul ferestrelorterminal atunci cnd se folosete sistemul X Window.

Pentru a se indica utilizatorului c interpretorul de comenzi este gata de a executa urmtoarea comand, se va afia un prompt. Astfel, n exemplul de mai jos, prompt-ul include adragos, desemnnd numele de cont al utilizatorului, iar fenrir este numele mainii pe care se lucreaz. Se precizeaz i numele directorului curent (n acest caz, directorul rdcin):
[adragos@fenrir /]$ pwd /

Prsirea shell-ului interactiv (sesiunii curente de lucru) se realizeaz prin intermediul comenzii exit sau acionnd combinaia de taste CTRL+D (sfrit de fiier n UNIX). Pentru editarea facil a comenzilor introduse, pot fi folosite tastele sgei sus i jos pentru a parcurge lista istoricului comenzilor introduse. n cadrul unei linii de comenzi, combinaia CTRL+A mut cursorul la nceputul liniei, iar CTRL+E la sfritul ei. De asemenea, shell-ul ofer facilitatea numit tab completion care d posibilitatea introducerii pariale a numelui unui fiier, la apsarea tastei Tab interpretorul completnd (dac este posibil) cea mai bun potrivire cu textul-prefix deja introdus. Pentru mai multe detalii referitoare la shell-ul bash recomandm consultarea lucrrii Buraga S., Tarhon-Onu V., Tanas S., Programare Web n bash i Perl, Polirom, Iai, 2002. 3.2.2. Apelarea comenzilor Sintaxa general pentru apelarea unei comenzi - fie ea intern sau extern - n cadrul interpretorului de comenzi este:
comand [ opiuni ] [ parametri ]

n care opiuni indic opiunile dorite (n general prefixate de caracterul "-"), iar parametri, parametrii care vor fi transmii programului. Att opiunile ct i parametrii sunt opionali, iar numrul lor este nelimitat, variind n funcie de comanda sau programul apelat i de nevoile utilizatorului. Separatorii pentru numele comenzii, opiuni i parametri sunt caracterele spaiu sau tab. Caracterul "\ la sfritul liniei semnific faptul c aceasta continu pe linia urmtoare. Pot fi introduse mai multe comenzi ntr-o singur linie de comand, separate prin caracterul ";". O comand poate fi executat n fundal (background), dac la apelarea sa se adaug caracterul "& . Majoritatea comenzilor de sistem i programelor realizate de ctre fundaia GNU suport n mod standard opiunea --help, care afieaz modalitatea utilizrii sale, precum i opiunile i parametrii admii. 2.2.3. Redirecionarea intr rilor i ieirilor n UNIX, exist trei dispozitive logice de intrare/ieiere:

Intrarea standard (stdin), de la care se citesc datele de intrare. Implicit, intrarea standard are asociat tastatura; Ieirea standard (stdout), unde sunt afiate datele de ieire. Implicit, ieirea standard are asociat terminalul curent;

Ieirea de eroare standard (stderr), la care sunt afiate mesajele de eroare. Implicit, aceasta are asociat terminalul curent.

n cadrul shell-ului, exist posibilitatea redirecionrii acestor dispozitive, dup cum urmeaz:

redirecionarea intrrii redirecionare "<";

se

realizeaz

prin

intermediul

operatorului

de

redirecionarea ieirii se poate face cu ajutorul operatorului ">". Spre exemplu, comanda ls -la > list va trimite ieirea comenzii ctre fiierul list. Poate fi utilizat i operatorul ">>", care, spre deosebire de operatorul ">", nu suprascrie fiierul spre care se face redirecionarea, ci adaug ieirea la sfritul acestuia (bineneles, n cazul n care fiierul exist); redirecionarea ieirii de eroare se realizeaz prin "2>", cifra "2" reprezentnd numrul descriptorului de fiier corespunztor ieirii standard pentru erori.

De asemenea, redirectarea poate fi utilizat n rnduri multiple n cadrul unei linii de comand, ca n forma de mai jos:
comand < date_intrare > rezultate

2.2.4. Mecanismul pipe


Acest mecanism const n nlnuirea comenzilor, adic prima comand trimite ieirea standard a celei de-a doua comenzi .a.m.d. Sintaxa acestui mecanism este:
comanda1 | comanda2

Spre exemplu, comanda ps aux | grep squid | wc -l va afia numrul de procese squid care ruleaz pe main (ieirea comenzii ps aux, adic lista de procese curente, este trimis ca intrare comenzii grep squid - filtrnd doar procesele cu numele squid - care, la rndul ei, genereaz intrarea pentru comanda wc -l, ce contorizeaz numrul de linii dintr-un text). O utilizare frecvent a acestui mecanism o constituie comenzile de tip filtru. Cele mai uzuale comenzi de acest gen sunt:

more - pagineaz textul primit ca intrare, cu posibilitatea de defilare n jos, cu cte o linie sau pagin de ecran; less - asemntoare cu more, dar ofer posibilitatea de defilare n ambele sensuri;

wc - numr caracterele (opiunea "-c"), cuvintele ("-w") sau liniilor (opiunea "-l"); grep - caut un ir de caractere (pattern) n cadrul intrrii, trimind la ieiere doar liniile de text care conin respectivul ir. irul de caractere de cutat poate conine i unul dintre urmtoarele meta-caractere: "^" indic nceputul unei linii; "$" indic sfritul unei linii.

2.2.5. Specificatori Interpretorul de comenzi bash permite utilizarea specificatorilor de fiiere. Astfel, la specificarea numelui unui fiier pot fi folosite urmtoarele meta-expresii (wildcards) pentru a nlocui o parte din numele acestuia:

caracterul "?" nlocuiete un singur caracter; caracterul "*" nlocuiete unul sau mai multe caractere; expresia "[ expresie ]" definete un interval de valori.

Spre exemplu, specificatorul de fiier oferta[1-65]* va desemna numele de fiiere care ncep cu oferta, urmat de un numr ntreg aflat n intervalul 1-65, putnd fiind succedat de oricare alte caractere. ntre delimitatorii "[" i "]" poate fi utilizat i meta-caracterul "|", cu semnificaia operaiunii logice SAU, precum i "!", reprezentnd operaiunea de negaie logic. Spre exemplu, specificatorul doc[!a]* desemneaz numele de fiiere care ncep cu doc, urmat de orice caracter diferit de "a", apoi de alte caractere. 2.2.6. Variabile de sistem n bash, variabilele sunt de tip ir de caractere, ele fiind create la momentul definirii lor. Stabilirea valorii acestora se face prin comanda set variabil=valoare.

Eliminarea din memorie a unei variabile se va face cu ajutorul comenzii unset variabil. n mod normal, variabilele definite nu sunt vizibile i n procesele-copil ale shellului curent. Pentru ca o variabil s fie vizibil i n cadrul acestor procese, aceasta trebuie exportat cu ajutorul comenzii export variabil [ =valoare ]. La variabile se face referire prin prefixarea caracterului "$" la numele acestora (de exemplu, $HOME). Exist o serie de variabile predefinite, cele mai importante fiind:

HOME - calea absolut a directorului home al utilizatorului curent (spre exemplu, /home/dragos); USER - numele utilizatorului curent; HOSTNAME - numele mainii; HOSTTYPE - arhitectura mainii (de exemplu, i386); OSTYPE - tipul sistemului de operare (e.g. Linux); MACHTYPE - tipul sistemului n formatul arhitectur- productor-so (e.g. i386redhat-linux-gnu); TERM - tipul terminalului (e.g. linux, vt100 etc.); PATH - lista de directoare pentru cutarea fiierelor executabile; PWD - directorul curent; UID - identificatorul utilizatorului curent; EUID - identificatorul efectiv al utilizatorului curent.

2.2.7. Script-uri shell

Scripturile sunt fiiere coninnd comenzi ale unui limbaj - n cazul nostru interpretorul de comenzi. Ele sunt utile pentru automatizarea unor activiti cum ar fi administrarea sistemului. Acestea trebuie s aib drept de execuie (de exemplu 755) pentru a putea fi apelate. De obicei, orice fiier script ncepe cu numele programului care va fi apelat pentru a executa comenzile din cadrul scriptului:
#!/bin/sh

Fiierul script poate conine i comentarii, introduse prin caracterul "#", fiind valabile pn la sfritul liniei. 2.2.8. Comenzi pentru asisten ( help) Comenzile mai importante pentru asistena utilizatorului sunt:

- afieaz descrierea comenzilor, funciilor sau fiierelor care conin cuvntul-cheie specificat, precum i seciunile de manual n care pot fi regsite informaii detaliate;
apropos cuvnt_cheie

- afieaz informaii despre comanda specificat. Dac aceasta nu este menionat, va fi afiat lista tuturor comenzilor interne ale bashului.
help [ comand ] info program

- afieaz pagina de manual info aferent programului specificat;

- afieaz pagina de manual despre comanda specificat (sintaxa, descriere, explicarea opiunilor oferite, semnificaia parametrilor, comenzi nrudite etc.). Parametrul comand poate fi o comand, un nume de apel de sistem, o funcie de bibliotec C/C++ sau numele unui fiier de configurare. Manualele sunt organizate pe seciuni, dup cum urmeaz:
man [ seciune ] comand

1 - programe (comenzi). 2 - funcii sistem. 3 - funcii de bibliotec. 4 - funcii ale nucleului.

5 - fiiere de configurare. 6 - diverse programe. 7 - protocoale i standarde. 8 - programe sistem. l - serverul de baze de date PostgreSQL. n - mediul de programare Tcl/Tk. - afieaz informaii rezumate despre funcionalitatea comenzii specificate, precum i seciunile de manual de unde pot fi obinute informaii detaliate.
whatis comand

2.3. Fiierele
2.3.1. Generaliti Ca i n alte sisteme de operare, n Linux informaiile (date sau programe) sunt memorate n fiiere (files). n Linux, numele de fiiere pot avea lungimea de maxim 255 de caractere, literele mici diferind de cele mari (case-sensitive). n componena unui nume de fiier pot intra orice caractere, exceptnd "/", care reprezint delimitatorul de nume de director. Linux, ca dealtfel orice sistem UNIX, nu utilizeaz ideea de extensie (cele trei caractere prefixate de punct care ncheie numele unui fiier, sub sistemele DOS/Windows) pentru a determina tipul unui fiier. Totui, anumite aplicaii pot necesita utilizarea unor extensii specifice (e.g. compilatorul de C sau serverul/navigatoarele Web). Fiierele pot fi de mai multe tipuri:

obinuite sau ordinare, coninnd date, programe etc. Ele sunt de dou feluri:

fiiere text, structurate pe linii, fiecare dintre aceasta coninnd caractere ASCII afiabile, i terminndu-se cu caracterul special Carriage Return (CR); fiiere binare, folosite pentru stocarea de cod executabil, informaii multimedia, baze de date, date diverse etc.

Intern, fiierele ordinare sunt identificate prin intermediul unui numr denumit i-number, un index dintr-un ir de i-noduri. I-nodurile conin atribute asociate fiecrui fiier, dintre care enumerm pe cele mai importante:
o

tipul; proprietarul (identificatorul utilizatorului care deine fiierul, UID, precum i identificatorul grupului care deine fiierul, GID); permisiunile de acces, de trei tipuri: citire (Read), scriere (Write) i execuie (eXecute), grupate n trei categorii: pentru proprietar (user), pentru grupul care l deine (group) i ali utilizatori (others); lungimea; timpii ultimei operaiuni de accesare, modificare i schimbare a strii (modificarea i-nodului nsui); num rul de legturi ctre fiierul respectiv. directoare, care permit structurarea ierarhic a fiierelor; speciale, astfel: dispozitive, fie ele fizice (discuri, imprimante, mouse, plci de reea etc.) sau virtuale (memoria intern, terminale etc.). Fiierele speciale de tip dispozitiv pot fi orientate caracter - caz n care citirile i scrierile se realizeaz direct, cte un caracter, n mod uzual transferndu-se cantiti

mici de date, sau bloc - pentru care citirile i scrierile se realizeaz prin intermediul unor zone de memorie tampon. Pentru exemplificare, terminalele sunt dispozitive de tip caracter (character devices), iar discurile - dispozitive de tip bloc (block devices); pipe-uri, constituind mod de transfer de informaii ntre procese locale, practic cozi FIFO (First In-First Out); socket-uri, utilizate pentru transferul de informaii ntre procese aflate la distan. legturi, "shortcut-uri" ctre fiiere sau directoare, pentru o mai uoar regsire sau accesare. Ele sunt percepute de utilizatori ca fiiere avnd nume proprii, dar care se refer de fapt la alte fiiere aflate pe disc. Orice operaie care se execut asupra fiierului-legtur (exceptnd tergerea) va avea practic efect asupra fiierului indicat de respectiva legtur. Legturile pot fi de dou tipuri: fizice (hard links) i simbolice (symbolic links).

Directoarele sunt stocate ca fiiere obinuite, permind astfel aranjarea fiierelor n manier ierarhic. Astfel, un fiier va fi referit printr-o cale de directoare (path) care va avea n componen nume de directoare delimitate de "/" i la sfrit numele fiierului dorit. Fiecare utilizator are asociat, n cadrul interpretorului de comenzi, un aa-numit director curent. Directorul curent are proprietatea c toate fiierele (i sub-directoarele) pe care le conine pot fi identificate prin numele lor, fr a mai fi necesar s se precizeze i calea. Pentru a evita conflictele, un sistem de fiiere nu posed dect un singur director curent la un moment dat. Utilizatorul poate schimba directorul curent n orice moment, dup dorin. Putem avea ci relative care ncep avnd ca punct de referin directorul curent sau ci absolute, acestea din urm fiind prefixate ntotdeauna de "/" i pornind de la directorul rd cin . Directorul rdcin (root) este stabilit atunci cnd se instaleaz sistemul de operare i va conine toate fiierele ce vor fi stocate, ntr-un arbore consistent de directoare. Chiar dac vom putea accesa mai multe sisteme de fiiere, posibil aflate pe discuri ori calculatoare diferite, va exista un director rdcin unic, spre deosebire de alte sisteme de operare. n cadrul fiecrui director exist dou fiiere cu numele speciale "." i ".." care semnific directorul curent i directorul printe, respectiv. Aceste dou directoare cu nume special vor putea fi utilizate n specificarea cilor relative. De exemplu, ../tmp va desemna directorul tmp al directorului printe, iar ./doc/manual.pdf va conduce la fiierul manual.pdf aflat n sub-directorul doc al directorului curent.

Utilizatorul poate crea legturi care reprezint "scurtturi" ("shortcuts") ctre un fiier sau un director, pentru a putea fi mai uor de regsit sau accesat; astfel, un fiier poate fi regsit n cadrul sistemului de fiiere prin mai multe nume, eventual n directoare diferite.

2.3.2. Comenzi pentru lucrul cu fiiere


Principalele comenzi referitoare la directoare sunt:
mkdir director

creaz un director; terge un director gol, n sensul c acesta nu conine dect

rmdir director intrrile . i ..; cd [ director pwd

] schimb directorul curent de lucru n cale;

afieaz numele directorului curent;

Afiarea coninutului unui director se obine n urma apelrii comenzii ls. Aceasta ofer mai multe opiuni, dintre care le menionm pe cele mai importante:
-a -l

listeaz i fiierele ascunse (cele ale cror nume ncepe cu caracterul ".");

afieaz formatul lung coninnd informaii suplimentare, cum ar fi cele referitoare la drepturile de acces, proprietar i grup, dimensiunea, data crerii etc.; are urmtorul efect: dimensiunile fiierelor sunt transformate din octei n kilooctei (K) sau mega-octei (M) pentru a fi mai uor citite de utilizator;
-h

va lista i subdirectoarele, n mod recursiv (aceast opiune va putea fi folosit i n cazul altor comenzi).
-R

O alt comand util este file, care determin tipul unui fier: Comanda du afieaz dimensiunile tuturor subdirectoarelor din directorul curent sau dintr-un director precizat. Se pot utiliza urmtoarele opiuni:
-h:

dimensiunile sunt scrise n kilo-octei sau mega-octei pentru a fi ct mai uor citite de utilizator.
-s: -a:

se va afia doar dimensiunea directorului curent. listeaz i dimensiunile fiierelor.

Comanda df listeaz informaii privitoare la spaiul liber al partiiilor de disc. Aceast comand are aceleai opiuni ca i comanda du.

Comenzile pentru realizarea operaiunilor de baz cu fiiere sunt:


cp realizeaz copierea unui cp surs destinaie. mv ln,

fiier sau grup de fiiere, sintaxa uzual a comenzii fiind:

mut/redenumete fiiere, avnd aceeai sintax ca i cp;

cu sintaxa ln surs destinaie realizeaz o legtur la fiierul surs, avnd numele destinaie. Legturile pot fi hard (se creeaz i o copie a coninutului fiierului; la tergerea copiei, fiierul original e pstrat) sau simbolic (care va conine doar calea ctre fiierul surs; tergerea copiei determin i tergerea originalului).
rm

terge fiiere, avnd sintaxa rm fiier(e). Pentru toate comenzile de mai sus, exist o serie de opiuni utile:

foreaz ndeplinirea aciunii, fr confirmare din partea utilizatorului sau ignornd erorile care pot surveni;
-f

mod interactiv, interognd utilizatorul dac ntr-adevr dorete s realizeze ceea ce s-a specificat (utilizai-o mai ales la rm);
-i -v -R

afieaz mai multe informaii la execuia comenzii respective;

mod recursiv, comanda executndu-se asupra tuturor subdirectoarelor (foarte periculoas dac apare la rm, mai ales mpreun cu opiunea -f).

Cutarea fiierelor este posibil cu ajutorul comenzii find. Asupra fiierelor gsite se pot efectua i diverse operaii (de exemplu, execuia unor comenzi). Cutarea se va realiza pornind de la un anumit director care va fi explorat conform criteriilor de cutare alese. Sintaxa general a comenzii find este:
find [ cale ] [ expresie ] [ aciune ]

Componenta cale reprezint calea de directoare de la care se va ncepe cutarea, expresie semnific o expresie definind criteriul de cutare, iar aciune specific aciunea care va fi efectuat la gsirea unui fiier. Cutarea se poate realiza dup:

numele unui fiier se folosete opiunea -name specificator, n care specificator reprezint un specificator de fiier (se pot utiliza, desigur, meta-caracterele de substituie, precum "*" sau "?"); tipul unui fiier se folosete -type tip, unde tip poate fi unul dintre caracterele: f (fiier obinuit), d (director), l (legtur simbolic) etc.;

numele proprietarului se utilizeaz opiunea -user nume, unde nume poate fi numele sau UID-ul proprietarului fiierului; grupul proprietarului se folosete -group nume, unde nume poate fi un nume de grup sau un GID. Ca aciune executat la gsirea unui fiier putem avea: afiarea numelui fiierului gsit se folosete opiunea -print (implicit); execuia unei comenzi se utilizeaz opiunea -exec. Sirul de caractere {} va substitui numele fiierului gsit i va putea fi dat ca argument al comenzii care va fi executat. Vom sfri lista argumentelor pasate comenzii cu caracterul punct-virgul.

De exemplu, cutarea tuturor imaginilor GIF din contul utilizatorului curent se va putea face astfel:
$ find ~ -name '*.gif' -print

Identificarea fiierelor utilizatorului dragos din directorul /tmp se va putea realiza prin linia:
$ find /tmp -user dragos -print

Pentru a terge toate fiierele temporare (al cror nume este terminat cu .bak sau ~) vom putea da urmtoarea comand:
find / -name *.bak -o -name *~ -exec rm "{}" ";"

S-au utilizat ghilimelele pentru ca interpretorul de comenzi s nu interpreteze greit caracterele speciale "{}" sau ";". Opiunea -o semnific operatorul logic sau (or). Pot fi precizai i operatorii i (and) prin -a i negaie (not) prin caracterul "!".

2.3.3. Atributele asociate fiierelor


n UNIX, fiecare fiier sau director are un proprietar (owner) i face parte dintr-un grup (group) pentru care se pot specifica drepturi de acces. De asemenea, se pot stabili drepturi i pentru ceilali utilizatori (others) care nu dein fiierul n cauz i nici nu fac parte din grup respectiv. Drepturile asociate unui fiier sunt:

citire ("r"); scriere ("w"); execuie ("x").

Pentru directoare, drepturile de acces au o semnificaie diferit, n sensul c "r" reprezint dreptul de inspectare a coninutului directorului (e.g. comanda ls), "w" permite adugarea i tergerea de fiiere, iar "x" este dreptul de "intrare" n director (e.g. comanda cd). De asemenea, pentru fiiere mai exist trei atribute speciale (bii):

biii SUID (Set User ID) i SGID (Set Group ID), notate cu "s", care permit schimbarea identitii efective a utilizatorului cu cea a proprietarului fiierului pe durata execuiei programului respectiv (e.g. comanda passwd); bitul Sticky ("lipicios", notat cu "t"), utilizat pentru directoare, indic faptul c tergerea unui fiier din cadrul acestuia va fi permis doar proprietarului su, chiar dac n director are oricine drept de scriere (de exemplu, directorul /tmp).

$ ls -la total 660652 drwxr-xr-x 8 drwxr-xr-x 7 -rw-r--r-1 -rw------1 -rw------1 -rw-r--r-1 -rw-r--r-1 -rw------1 -rw-r--r-1 drwxr-xr-x 3 -rw------1 -rw-r--r-1 -rw-r--r-1 drwx-----2 -rw------1 drwx-----2 drwxr-xr-x 17

dragos root dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos

dragos wheel dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos dragos

512 512 0 2285 4886 255 165 371 331 512 15783 801 852 512 675151872 512 1024

Nov Sep Sep Sep Nov Sep Sep Sep Sep Nov Nov Sep Sep Sep Nov Nov Oct

9 29 27 27 8 27 27 27 27 8 3 27 27 27 5 3 25

13:20 10:56 18:37 18:37 23:22 14:29 14:29 14:29 14:29 23:20 23:22 14:29 14:29 15:20 18:21 23:22 23:29

. .. .addressbook .addressbook.lu .bash_history .login .login_conf .mail_aliases .mailrc .mc .pinerc .profile .shrc .ssh 5.2.1-disc1.iso mail public_html

Dup cum se poate observa n exemplul de mai sus, drepturile de acces sunt afiate de comanda ls -l printr-o secven de zece caractere. Primul caracter se refer la tipul fiierului, dup cum urmeaz:

- - fiier obinuit b - fiier special de tip bloc c - fiier special de tip caracter

d - director l - legtur p - pipe s - socket

Urmtoarele sunt trei grupuri a cte trei caractere, primul grup fcnd referire la drepturile proprietarului, al doilea - la cele ale grupului, iar al treilea - la drepturile celorlali utilizatori. n mod analog, primul caracter din grup semnific dreptul "r", al doilea - "w", iar al treilea - "x". Dac un anumit drept este revocat, apare caracterul "-". 2.3.3.1. Modificarea drepturilor de acces Modificarea drepturilor de acces se realizeaz cu ajutorul comenzii chmod. Pentru proprietar se utilizeaz litera "u", pentru grup - "g", iar pentru ali utilizatori - "o". Pentru acordarea sau revocarea de drepturi se folosete caracterul "+", respectiv "-". De exemplu, dac se dorete acordarea drepturilor de citire i scriere altor utilizatori pentru fiierul test.cc se folosete comanda:
chmod o+rw test.cc

Modificarea atributelor speciale se face dup cum urmeaz: pentru a seta bitul SUID se va folosi "u" la specificarea utilizatorului i "s" la specificarea drepturilor de acces, pentru bitul SGID se va folosi "g" la specificarea utilizatorului, iar pentru bitul Sticky se va utiliza caracterul "t". Astfel, pentru a seta bitul SUID pentru fiierul / usr/bin/passwd, se va folosi comanda:
chmod u+s /usr/bin/passwd

Mai exist o modalitate de modificare a drepturilor de acces. Astfel, fiecrui grup de drepturi i se asociaz o valoare numeric: fiecrui drept acordat i corespunde valoarea 1, fiecrui drept revocat i corespunde valoarea 0. Rezult astfel un numr binar format din trei cifre, care trebuie transformat apoi n octal. De exemplu, pentru rw- corespunde valoarea 110, adic 6 n octal. Deci, pentru a seta drepturile rw-rw-r-- pentru fiierul test.cc, va fi utilizat comanda:
chmod 664 test.cc

Pentru a modifica atributele speciale, este utilizat un grup de trei bii, primul semnificnd atributul SUID, al doilea, SGID, iar cel de-al treilea, Sticky. Spre exemplu, setarea bitului SUID i a drepturilor corecte de acces pentru fiierul /usr/bin/passwd se va putea realiza astfel (4 = bitul SUID setat, 5 = 101 = r-x, 1 = 001 = --x, 1 = 001 = -x):

chmod 4511 /usr/bin/passwd

2.3.3.2 Modificarea proprietarului Pentru modificarea proprietarului unui fiier se folosete comanda chown. Astfel, comanda:
chown dragos:autori test.cc va stabili proprietarul dragos

i grupul autori pentru fiierul test.cc. Specificarea grupului nu este obligatorie. De asemenea, schimbarea doar a grupului se poate face prin comanda chgrp, furnizndu-i ca argumente numele grupului i fiierul care va fi modificat. Modificarea proprietarului sau a grupului poate fi realizat numai de ctre utilizatorul root. 2.3.4. Structura sistemului de fiiere Linux Structura sistemului de fiiere Linux este standardizat n documentul numit Filesystem Hierarchy Standard (FHS). Standardul este disponibil la adresa http://www.pathname.com/fhs.

Directorul /dev Conine intrri care reprezint dispozitivele din sistem. Aceste fiiere sunt vitale pentru funcionarea sistemului. Directorul /etc Este rezervat fiierelor de configurare. Trebuie s conin directoarele X11, care conine fiierele de configurare ale sistemului X Window (cum ar fi XF86Config), i skel, care conine fiierele implicite ale utilizatorilor copiate la crearea acestuia. Directorul /home Conine fiierele utilizatorilor. Conine cte un subdirector pentru fiecare utilizator n parte, purtnd numele acestuia. Directoarele utilizatorilor se numesc directoare home. Directorul /lib Conine bibliotecile necesare pentru execuia executabilelor din /bin i /sbin (importante, de exemplu, pentru pornirea sistemului). Directorul /mnt Conine sisteme de fiiere montate temporar, cum ar fi CD-uri sau diskete. Directorul /opt Ofer spaiu pentru aplicaii software mari, cu o structur complex de directoare sau care conin subpachete. Directorul /proc Conine fiiere virtuale speciale care fie extrag informaii din nucleu, fie trimit informaii ctre nucleu. Directorul /sbin Conine executabile utilizate doar de ctre root. Executabilele sunt utilizate doar pentru pornire, oprire i repararea sistemelor de fiiere. Directorul /usr Conine fiiere folosite de toi utilizatorii; n mod normal, este montat ntr-o partiie separat, doar cu posibilitate de citire. Trebuie s conin urmtoarele directoare: bin (conine executabile), doc (conine documentaii), etc (conine fiiere de configurare generale), games (conine jocuri), include (conine fiiere header C), kerberos (conine sistemul Kerberos), lib (conine fiiere obiect i biblioteci utilizate de ctre programe), libexec (conine mici programe apelate de aplicaii), sbin (conine executabile pentru

administrarea sistemului, altele dect cele din /sbin), share (conine fiiere independente de platform), src (conine coduri-surs), iar X11R6 conine sistemul X Window. Directorul /usr/local Acest director este rezervat pentru uzul administratorului de sistem pentru a instala programe local (/usr poate fi exportat i ctre alte maini pentru a economisi spaiu pe respectivele maini). Structura acestui director este similar directorului /usr. Directorul /var Conine fiiere variabile utilizate de aplicaii. Include cozi de ateptare, informaii administrative i jurnale, baze de date, precum i fiiere temporare. Trebuie s conin urmtoarele subdirectoare: arpwatch, cache, db, ftp, gdm, kerberos, lib, local, lock, log, named, nis, opt, preserve, run, spool (cu urmtoarele subdirectoare: anacron, at, cron, fax, lpd, mail, mqueue, news, rwho, samba, slrnpull, squid, up2date, uucp, uucppublic, vbox, voice), tmp, www, yp. Jurnalele sistemului se gsesc n /var/log.

2.4. Procesele
2.4.1. Generaliti n cadrul oricrui sistem UNIX pot rula mai multe programe n regim concurent, regsite sub numele de procese. Procesele pot fi programele utilizator, precum i o serie de procese speciale. Aceste procese speciale ruleaz n fundal (adic nu interacioneaz cu utilizatorul), cu rolul de a asigura diverse servicii (cum ar fi tiprirea la imprimant, bazele de date, server Web .a.m.d). Aceste procese poart denumirea de daemoni. Un proces se afl la un moment dat ntr-o anumit stare, dup cum vom vedea mai jos. n mod normal, fiecare proces va fi programat s ruleze o perioad foarte scurt de timp, dup care este trecut ntr-o coad de ateptare, i aa mai departe. Strile posibile ale unui proces sunt urmtoarele:

rulare (running), starea n care procesul primete o cuant de timp pentru a fi executat n cadrul procesorului (notat cu "R"); ateptare (sleep) n vederea cptrii unei cuante de timp procesor (notat cu "S"); ateptare (wait) n vederea realizrii unei operaii de intrare/ieire (aceste operaii fiind considerate mari consumatoare de timp, procesul va fi pus n stare de ateptare pn la terminarea respectivei operaiuni) (notat cu "D");

oprit temporar (stopped), stare n care procesul nu va fi programat temporar pentru execuie (notat cu "T"); terminare (terminate), sistemul pregtind eliminarea procesului din memorie, urmnd ca acesta s dispar complet; zombie, stare n care un proces trece atunci cnd procesul su printe nu i-a determinat corect ncetarea execuiei sau zona de memorie pe care a ocupat-o nu a putut fi eliberat, ocupnd astfel inutil loc n coada de ateptare (notat cu "Z").

Fiecare proces este identificat printr-un identificator de proces (PID - Process Identifier), un numr ntreg mai mare dect 1. n mod normal, procesele sunt interactive, adic comunic cu utilizatorul prin intermediul terminalului asociat - n cazul programelor cu interfa tip linie de comand (mod text) sau prin intermediul mediului grafic X Window - n cazul programelor dotate cu o asemenea interfa. Vom numi acest tip de procese ca fiind n prim-plan (foreground). O alt categorie de procese sunt acelea care nu interacioneaz cu utilizatorul, fiind vorba n general de daemonii menionai mai sus. Spunem c aceste procese ruleaz n fundal (background). Filosofia UNIX privind modul de via al proceselor este c orice proces este nscut de un alt proces, denumit proces printe (identificatorul acestuia este denumit PPID - Parent PID). La momentul pornirii sistemului, se creaz un pseudo-proces avnd PID egal cu zero, care lanseaz n execuie procesul init, acesta din urm avnd PID egal cu unu. Acesta va lansa alte procese, care vor lansa la rndul lor altele etc., astfel nct orice proces care ruleaz pe main are ca strmo pe init. Fiecare proces deine un set drepturi i proprieti, acestea motenindu-se de la printe la copil. Desigur, procesele copil i printe pot funciona i independent unul de cellalt, dar exist i situaii n care moartea unuia va conduce la supravieuirea celuilalt. Dac un proces i pierde printele, atunci PPID-ul su va fi automat considerat ca fiind egal cu 1 (cu alte cuvinte, printele su devine init). Procesele reprezint imaginea dinamic (ncrcat n memorie) a unui program, iar acel program este n fapt un fiier executabil deinut de un utilizator. Astfel, i procesul va avea un proprietar i va avea apartenen la un grup. Drepturile de acces ale procesului i controlul su depinde aadar de drepturile pe care le are proprietarul. Utilizatorii obinuii i pot controla doar propriile procese. Utilizatorul root poate controla activitatea tuturor proceselor de pe main. Lista de procese care ruleaz la un moment dat poate fi consultat prin intermediul comenzii ps. Argumentele uzuale sunt:

a - are ca efect afiarea tuturor proceselor (nu doar cele aparinnd utilizatorului curent)

u - realizeaz afiarea ntr-un format extins, incluznd i numele utilizatorului care deine procesele precum i starea acestora x - conduce la afiarea i acelor procese care nu au asociat un terminal w - afieaz informaiile chiar dac depesc lungimea liniei

Fr argumente, ps are ca efect afiarea proceselor interactive pe care le deine utilizatorul curent (cel care lanseaz comanda): Pentru a vedea lista complet de procese care ruleaz pe main, vom folosi comanda ps aux. Util este i comanda top, care afieaz un "top" al proceselor, ordonate n funcie de timpul procesor consumat. Vor fi afiate de asemenea i informaii privind gradul de utilizare a memoriei.

2.4.2. Comunicarea ntre procese


Una dintre metodele de comunicare clasice UNIX ntre procesele care ruleaz pe main o constituie semnalele. Un semnal este o valoare numeric avnd o anumit semnificaie. Ele pot anuna anumite evenimente aprute n sistem, cum sunt cele de natur hardware (instruciune ilegal, ntreruperea tensiunii de alimentare etc.) sau software (de exemplu, atunci cnd un proces ncearc s acceseze o zon de memorie care nu i este permis). Tot semnale primete un proces atunci cnd un proces nrudit i ncheie execuia sau la apariia unor operaii de intrare/ieire. De asemenea, utilizatorii pot trimite (desigur, doar proceselor pe care le dein) direct sau indirect semnale. Astfel, un proces cu probleme poate fi oprit trimindu-i un semnal. Prin apsarea combinaiei CTRL+C, de exemplu, se ntrerupe execuia procesului curent prin trimiterea unui semnal ctre acesta. Procesele pot avea definite anumite comportamente pentru fiecare semnal n parte, sau poate ignora semnalele primite, cu excepia ctorva, i anume SIGKILL i SIGSTOP. Semnalele principale sunt: Denumire semnal SIGHUP SIGINT SIGQUIT SIGILL Valoare semnal 1 2 3 4 Descriere Hangup, semnalizeaz terminarea execuiei procesului printe. Este utilizat de muli daemoni pentru a determina recitirea fiierelor de configurare etc. ntreruperea procesului (de la tastatur) ncetarea execuiei procesului (de la tastatur, n mod uzual combinaia CTRL+C) procesul a efectuat o operaie invalid

SIGKILL SIGSEGV SIGPIPE SIGTERM SIGUSR1 SIGUSR2 SIGCHLD SIGSTOP SIGCONT

9 11 13 15 16 17 18 23 25

oprirea forat a procesului referin invalid comunicaie prin pipe ntrerupt terminarea procesului semnale definite de utilizator procesul copil i-a ncheiat execuia oprete temporar execuia procesului continu execuia procesului dup ce acesta a fost oprit temporar

Trimiterea unui semnal ctre un proces se face prin comanda:


kill -semnal nr_proces

Semnalul poate fi specificat fie prin valoarea sa numeric, fie prin denumirea sa. Spre exemplu, comanda kill -SIGKILL 3419 (sau kill -9 3419) va trimite semnalul SIGKILL procesului avnd PID egal cu 3419, ceea ce va provoca ncetarea execuiei acestuia.

2.5. Utilizatorii
2.5.1. Generaliti Un utilizator reprezint o entitate care poate executa programe sau deine fiiere. Accesul la resursele sistemului se realizeaz prin intermediul utilizatorilor nregistrai, n funcie de drepturile atribuite acestora. Din punctul de vedere al sistemului de operare UNIX, un utilizator (numit i cteodat i cont de utilizator, user sau user account) nu este neaprat o persoan. Utilizatorii pot fi ori persoane reale, ori utilizatori sistem. Acetia din urm sunt rezervai pentru anumite aplicaii care efectueaz activiti specifice (cum ar fi utilizatorul apache utilizat de serverul httpd). De asemenea, poate exista un cont utilizator partajat de mai multe persoane dintr-un grup de lucru (e.g. departamentul operatorilor). n majoritatea cazurilor, ns, un utilizator nseamn o anumit persoan care poate "intra" (log in) n sistem, executa programe i utiliza sistemul. Fiecare cont are un nume de utilizator (username) care l identific. Numele de utilizator trebuie s fie unice. De asemenea, fiecare utilizator are asociat cte un identificator (User ID sau UID), care este folosit intern de ctre sistem. Baza de date de utilizatori ai sistemului se gsete stocat n fiierul /etc/passwd. Utilizatorii pot fi organizai n grupuri. Acestea sunt practic colecii de utilizatori care partajeaz o funcie sau drepturi similare i pot conine unul sau mai muli utilizatori.

Fiecare grup are asociat un identificator de grup (Group ID sau GID), folosit intern de sistem. Grupurile definite n sistem sunt memorate n fiierul /etc/group. Folosii mpreun, identificatorul de utilizator respectiv identificatorul de grup determin drepturile de acces la fiiere i la alte resurse ale sistemului. Aceti doi identificatori sunt atribuii n mod automat la momentul crerii utilizatorului, ns pot fi modificai i ulterior. Fiierul care memoreaz informaiile despre utilizatori n UNIX este / etc/passwd, iar cel despre grupuri este /etc/group. Parolele utilizatorilor sunt memorate criptat, ntr-un fiier protejat, i anume /etc/shadow. 2.5.2. Utilizatorul root Exist un utilizator privilegiat, cu statut de supervizor al sistemului, denumit root, avnd identificatorul de utilizator egal cu zero. Acest utilizator are drepturi totale asupra sistemului, n sensul c poate, de exemplu, controla execuia proceselor, manipula orice fiier sau schimba diverse atribute asociate utilizatorilor. n mod normal, acest cont de utilizator trebuie folosit doar atunci cnd se execut anumite operaiuni administrative, cum ar fi instalarea de programe, modificarea fiierelor de configurare ale sistemului sau adugarea de noi utilizatori. Att contul root, ct i o serie de conturi de utilizatori sistem, sunt creai n mod automat la momentul instalrii sistemului. Se recomand crearea unuia sau mai multor utilizatori obinuii pentru utilizarea obinuit a calculatorului, deoarece o comand greit lansat ca root poate cauza deteriorarea sistemului sau chiar pierderea datelor i aplicaiilor stocate. n vederea asigurrii securitii sistemului, este obligatoriu ca toi utilizatorii s aib parol. Este de dorit ca parolele s aib minim 6 caractere i s nu fie constituite din cuvinte uor de ghicit, cum ar fi cuvinte de dicionar sau elemente importante pentru utilizatorul n cauz (numele prietenilor, data naterii etc.). Principiul de baz pentru alegerea parolelor este ca acestea s fie uor de memorat, dar greu de ghicit. De asemenea, utilizatorii trebuie s i schimbe parolele n mod regulat. Procesele din UNIX au dou identiti la un moment dat. Prima identitate este identificatorul de utilizator real, adic cea dat de numele de cont de la conectarea utilizatorului. Uneori, pentru execuia anumitor programe sau comenzi, utilizatorii trebuie s primeasc provizoriu identitatea altui utilizator; acesta este identificatorul de utilizator efectiv, valabil doar pe durata execuiei respectivului program. Acest transfer de identitate este acceptat de proprietarul programului, prin setarea bitului Set UID (SUID) din drepturile de acces ale fiierului executabil. Comanda su (Substitute User) permite schimbarea identitii unui utilizator. Dac noul nume de cont furnizat este protejat prin parol, utilizatorul trebuie s o furnizeze; dac utilizatorul real este root, nu este necesar furnizarea parolei. 2.5.3. Utilitare pentru administrarea utilizatorilor

Administrarea utilizatorilor se poate face cu ajutorul urmtoarelor utilitare:

adugarea de utilizatori: useradd nume tergerea de utilizatori: userdel nume modificarea parametrilor asociai utilizatorilor: usermod nume modificarea informaiilor (GECOS) despre utilizatori: chfn nume adugarea de grupuri: groupadd grup tergerea de grupuri: groupdel grup adugarea de utilizatori la un grup: gpasswd -a nume grup

Modificarea parolei utilizatorului curent se va face cu ajutorul programului userpasswd sau passwd. Este solicitat parola actual i de dou ori parola nou (a doua oar pentru confirmare): Alte comenzi referitoare la utilizatori:
whoami -

furnizeaz numele utilizatorului efectiv curent

who

- afieaz lista sesiunilor deschise ale utilizatorilor

- comand nrudit cu who, afieaz sesiunile deschise i, pentru fiecare sesiune n parte, ultima comand executat
w

id

- ofer informaii privitoare la identitatea real a unui utilizator:

- afieaz utilizatorii conectai curent la sistem. Dac este specificat un nume de utilizator, vor fi afiate diferite informaii despre respectivul utilizator, cum ar fi numele acestuia i ultima intrare n sistem
finger [ nume ]

- afieaz ultimele intrri ale utilizatorilor n sistem, n ordine descresctoare a datei. Dac este specificat un nume de utilizator, jurnalul afiat se va referi la intrri ale utilizatorului respectiv.
last [ nume ]

Cap. 3. Instalarea de programe


3.1. Pachetele
Un pachet reprezint ansamblul de fiiere necesare pentru funcionarea unui anumit program sau grup de programe. Pachetul este constituit n general din unul sau mai multe executabile, fiiere de configurare, documentaii etc. ntre unele pachete pot exista relaii de dependen, n sensul c un pachet poate depinde de instalarea n prealabil a altor pachete. Sistemul de gestiune al pachetelor permite administratorului manipularea acestora prin intermediul unor comenzi (vezi infra), fr a cunoate detaliile de implementare a bazei de date de pachete RPM (Red Hat Package Manager) este un sistem de mpachetare creat de Red Hat Software Inc. i care este utilizat i de alte distribuii Linux, cum ar fi Mandrake, SuSE i Caldera. Sistemul RPM permite operarea uoar a pachetelor: instalare, dezinstalare, upgrade etc. Aceste trei operaiuni trebuie efectuate ca root. Interogarea informaiilor despre pachete poate fi realizat de ctre orice utilizator. Pachetele RPM au n general numele de fiier de forma doc++-3.4.91.i386.rpm. Numele fiierului include denumirea pachetului (doc++), versiunea (3.4.9), numrul de lansare (1) i arhitectura (i386, adic Intel minim 386). Instalarea sau dezinstalarea unei aplicaii trebuie realizat exclusiv prin intermediul mecanismului oferit de sistemul RPM. O aplicaie n mod uzual nu include propriul program de instalare/dezinstalare, aa cum se ntmpl n alte sisteme de operare. Exist, de asemenea, posibilitatea folosirii sistemului RPM i n cazul instalrii unor pachete care nu sunt incluse n distribuia standard, preluate de exemplu de pe Internet.

3.2. Instalarea pachetelor


Instalarea unui pachet se realizeaz prin comanda:
# rpm -i doc++-3.4.9-1.i386.rpm

Uneori pot aprea i erori: Pachetul este deja instalat


package doc++-3.4.9-1 is already installed

Dac se dorete oricum instalarea pachetului (de exemplu, dac au fost terse de pe disc fiiere coninute n pachet i se intenioneaz restaurarea acestuia), pentru ca RPM s ignore eroarea, se folosete parametrul --replacepkgs. Fiiere care intr n conflict

/usr/bin/docify conflicts with file from doc++-3.4.8-2

Pachetul conine un fiier care este deja instalat dintr-un alt pachet sau dintr-o versiune mai veche a pachetului. Dac se dorete totui instalarea pachetului, trebuie folosit parametrul -replacefiles.

Dependen e nerezolvate Pentru a funciona corect, pachetul are nevoie ca alt pachet s fie instalat mai nti.
failed dependencies: flex is needed by doc++-3.4.9-1

Pachetele necesare trebuie instalate pentru a rezolva dependenele. Dac totui se dorete instalarea pachetului (care, astfel, se poate s nu funcioneze corect), se utilizeaz parametrul --nodeps.

3.3. Dezinstalarea pachetelor


(infoiasi)# rpm -e doc++

n cazul n care un pachet depinde de acest pachet, RPM va genera o eroare de dependen:
removing these packages would break dependencies: doc++ is needed by foo-1.0-1

De asemenea, poate fi folosit parametrul --nodeps, pentru a fora tergerea pachetului, ceea ce nu este ns recomandat.

3.4. Upgradarea pachetelor


Upgradarea (actualizarea) unui pachet semnific instalarea unei versiun mai noi a acestuia, aciune care poate fi necesar dac noul pachet include corecii de bug-uri (erori n cadrul programelor) sau conine noi faciliti care sunt necesare. Datorit dependenelor dintre pachete, este posibil s fie necesar instalarea i altor pachete dect cele existente.
# rpm -U doc++-3.4.10-1.i386.rpm

Pachetul existent n sistem va fi mai nti dezinstalat, apoi noul pachet va fi instalat, n mod automat. Deoarece RPM realizeaz un upgrade "inteligent" al pachetelor coninnd fiiere de configurare, poate fi afiat un mesaj de genul:

saving /etc/doc++.conf as /etc/doc++.conf.rpmsave

Acest mesaj nseamn c este posibil ca vechiul fiier de configurare s nu fie complet compatibil cu noul fiier de configurare. Vor trebui analizate manual diferenele dintre cele dou fiiere i rezolvate. Dac pachetul este mai vechi dect cel instalat, va fi generat o eroare:
package doc++-3.4.9-1 (which is newer) is already installed

Pentru a face totui upgradarea, se utilizeaz parametrul --oldpackage.

3.5. Extragerea informaiilor despre pachete


Pentru afiarea versiunii i numrului lansrii pachetului instalat doc++:
(infoiasi)# rpm -q doc++ doc++-3.4.9-1

Opiuni care pot fi utilizate mpreun cu -q:


-a

afieaz toate pachetele instalate afieaz pachetul care conine fiierul specificat

-f fiier -i

afieaz toate informaiile despre pachet: numele, descrierea, versiunea, numrul lansrii, mrimea, data mpachetrii, data instalrii, numele celui care l-a generat
-l

afieaz lista fiierelor coninute de pachet afieaz "capabilitile" pe care le ofer pachetul (e.g. biblioteci, fiiereafieaz "capabilitile" de care depinde pachetul (e.g. biblioteci, fiiere-

--provides

antet etc.)
--requires

antet etc.) Mai multe detalii se pot obine folosind comanda man rpm.

3.6. Verificarea pachetelor

Operaiunea de verificare compar informaiile despre fiierele instalate cu informaiile din baza de date. Sunt verificate mrimea, suma de control MD5, permisiunile, tipul, proprietarul i grupul. Pentru a verifica un pachet:
# rpm -V doc++

Pentru a verifica toate pachetele instalate vom apela:


# rpm -Va

Pentru a verifica un pachet comparativ cu un fiier RPM:


# rpm -Vp doc++-3.4.9-1.i386.rpm

Dac exist diferene, va fi afiat un ir de format din opt caractere i numele fiierului. Fiecare caracter reprezint rezultatul comparaiei unui atribut. Un punct (".") nseamn c testul a fost trecut cu succes. Sunt posibile urmtoarele atribute:
5

suma de control MD5; mrimea fiierului; fiierul este de tip legtur simbolic data ultimei modificri a fiierului; dac fiierul este de tip dispozitiv; utilizatorul; grupul; permisiunile i tipul fiierului; fiierul nu poate fi citit.

Exist i posibilitatea de a verifica semtura unui pachet pentru a-i certifica integritatea i originea:
# rpm --checksig doc++-3.4.9-1.i386.rpm

Cap. 4. Instalarea sistemului Linux


4.1. Preg tirea pentru instalare
Instalarea unei distribuii Linux se poate face n mod normal prin pornirea sistemului de pe primul disc CD. n cazul n care programul de instalare nu pornete automat, trebuie mai nti creat o disket de boot. De asemenea, aceast disket poate fi necesar atunci cnd nu se dorete utilizarea metodei obinuite de instalare de pe CD. Dac sistemul are deja instalat un sistem MS-DOS/Windows, instalarea poate fi pornit i direct de pe CD-ROM, fr a mai fi necesar i disketa de boot. Pe un calculator pot coexista fr probleme mai multe sisteme de operare, evident dac spaiul pe disc permite acest lucru. Astfel, poate rula sistemul deja instalat (cum ar fi cele din seria Windows) i Linux. Sistemul Linux are nevoie de cel puin dou partiii separate pentru a putea funciona. Dac pe disc exist deja Windows, este necesar redimensionarea partiiilor existente pentru a putea crea partiiile necesare Linux-ului. Pentru a redimensiona partiiile existente pe disc, poate fi folosit utilitarul FIPS (inclus de obicei tot pe primul disc al distribuiei) sau Partition Magic (program comercial). Pentru a folosi FIPS, trebuie mai nti defragmentat discul cu ajutorul comenzii MS-DOS DEFRAG, iar apoi redimensionate partiiile. Dup activarea acestora, calculatorul va trebui repornit. 4.1.1. Crearea disketei de boot Pentru a crea disketa de boot din cadrul MS-DOS/Windows, se va folosi utilitarul RAWRITE (inclus i el n general pe primul disc), printr-o comand de genul RAWRITE BOOT.IMG. Pentru crearea disketei de boot din cadrul unui sistem compatibil UNIX (e.g. un alt calculator cu Linux), se lanseaz un set de comenzi de genul (presupunnd c dispozitivul asociat unitii CD-ROM este /dev/cdrom, iar cel asociat unitii floppy este /dev/fd0, i c directorul /mnt/cdrom exist):
# mount /dev/cdrom /mnt/cdrom # dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 # umount /dev/cdrom

Distribuiile Linux ofer mai multe surse de unde fiierele coninnd pachetele de programe vor fi preluate. Astfel, sunt posibile urmtoarele metode: instalare de pe CDROM (cea mai uzual), hard-disk (n acest caz, coninutul discurilor de instalare trebuie copiat n prealabil pe o partiie Linux sau Windows existent), NFS (instalarea se efectueaz de pe un alt calculator aflat n reea, care export coninutul distribuiei prin sistemul NFS), FTP (dac instalarea se efectueaz de pe un server FTP, de obicei atunci cnd se dispune de o conexiune Internet rapid), HTTP (similar cu FTP, dar fiind vorba despre un server HTTP). Menionm c pentru metodele de instalare prin reea poate fi

necesar o a doua disket, coninnd drivere pentru diferite plci de reea (imaginea acesteia se gsete de asemenea pe primul disc). 4.1.2. Planificarea partiionrii discului Dup cum spuneam i mai sus, spaiul pe disc ocupat de sistemul Linux trebuie s fie separat de spaiul ocupat de alte sisteme de operare instalate n sistem. Cel puin dou partiii (o partiie principal, /, i swap) sunt necesare pentru instalarea sistemului. Recomandm crearea cel puin a urmtoarelor partiii: o partiie de swap, pentru a crea memorie virtual (informaiile sunt scrise n memoria virtual atunci cnd nu exist memorie fizic disponibil). Partiia de swap trebuie s fie de cel puin 32 MB i cel mult 2 GB, valoarea ideal fiind valoarea memoriei RAM existente n sistem, pentru un calculator ce urmeaz a fi utilizat ca staie de lucru, i dublul acesteia pentru un server; o partiie /boot care va conine nucleul Linux i celelalte fiiere utilizate n timpul bootrii. Dimensiunea ideal a acestei partiii este de 16-32 MB; partiia de root, acolo unde se va afla /, directorul-rdcin al sistemului, i care va conine toate fiierele din sistem.

n cazul n care calculatorul va fi server Linux, recomandm crearea a trei partiii suplimentare: o partiie /usr, care va conine fiierele sistemului de operare, de mrime cel puin egal cu dimensiunea preconizat a instalrii plus circa 100 MB (de exemplu, 1,4 GB); o partiie /var, care va conine fiierele variabile ale sistemului, preferabil de cel puin 256 MB; o partiie /home, care va conine fiierele utilizatorilor, de preferin de cel puin 512 MB.

Pentru a gzdui sistemul Linux pot fi utilizate urmtoarele tipuri de partiii: ext2 sistemul clasic de fiiere din Linux, compatibil cu standardele UNIX; ext3 un sistem nou de fiiere, bazat pe ext2, cu suport pentru jurnalizare; reiserfs un sistem nou de fiiere, cu suport pentru jurnalizare, avnd n multe condiii performane superioare ext2 sau ext3, datorit arhitecturii interne arborescente.

Recomandm utilizarea de partiii ext3 n loc de ext2 deoarece suportul pentru jurnalizare permite n primul rnd siguran mult mai mare a informaiilor n cazul incidentelor nedorite (probleme hardware sau ntreruperi ale tensiunii de alimentare) i n al doilea rnd reduce semnificativ timpul de restaurare dup o cdere a sistemului (fsck).

Pot fi utilizate de asemenea i partiiile de tip reiserfs, care prezint, pe lng avantajele enumerate mai sus, o vitez superioar de acces n multe situaii.

4.2. nceperea instal rii


n cele ce urmeaz ne vom referi la paii care trebuie urmai n vederea instalrii unei distribuii Red Hat. Dup bootare trebuie s apar un ecran coninnd n partea inferioar promptul boot:. Ecranul conine informaii despre diverse opiuni de pornire. Dup apariia acestui prompt, programul de instalare va porni automat dup un minut, dac nu este apsat nici o tast. Apsarea tastei ENTER va porni imediat instalarea ntr-un mediu grafic uor de utilizat. Dac nu se dorete pornirea mediului grafic (de exemplu, dac placa video instalat n sistem are performane slabe), se tasteaz comanda:
boot: text

pentru a porni programul de instalare n mod text. Mai multe detalii privitoare la modurile de instalare pot fi furnizate de ctre program, apsnd tasta F2. Acionnd F5 avem posibilitatea s iniiem o procedur de refacere (rescue), util n cazurile n care o instalare anterioar a euat din diverse motive sau pentru a reinstala ncrctorul de boot. Vom prezenta n continuare etapele de instalare a sistemului: 1. Selectarea limbii Se selecteaz limba care va fi utilizat att n timpul instalrii, ct i i implicit dup instalare. Selecia fcut aici va influena i fusul orar folosit de sistem (time zone), a crui configurare poate fi fcut ceva mai trziu. Sunt disponibile o multitudine de alte limbi, printre care i limba romn. 2. Configurarea tastaturii Se selecteaz:

modelul de tastatur (101 taste, Microsoft Natural Keyboard etc.). Poate fi utilizat modelul Generic, dac nici una dintre opiunile din list nu se potrivete cu tastatura n cauz; schema tastaturii (U.S. English, German etc.).

3. Configurarea mouse-ului Se selecteaz:

tipul mouse-ului (Generic, Mouse Systems etc.);

dac este un mouse serial, portul la care este conectat; n cazul n care mouse-ul folosit are dou butoane, dac se dorete emularea de trei butoane prin apsarea celor dou.

4. Opiunile de instalare Se stabilete dac se efectueaz o instalare complet sau un upgrade o actualizare (instalarea unei versiuni mai noi a distribuiei peste una deja existent). n cazul instalrii complete, se stabilete tipul instalrii: Personal Desktop, Workstation, Server sau Custom. Acest tip determin pachetele care vor fi propuse pentru instalare:

Personal Desktop (sistem personal). Acest tip de instalare este ideal pentru utilizatorii noi de Linux. Se folosete atunci cnd sistemul se afl acas sau la serviciu, sau pentru calculatoare portabile. Include programe de tip office (redactare de texte, calcul tabelar, realizare de prezentri etc.), utilitare pentru acces la Internet (navigare, citire a corespondenei etc.), programe multimedia etc. Necesit minim 1,5 GB spaiu disponibil pe hard-disk. Workstation (sta ie de lucru). Este asemntoare cu Personal Desktop, incluznd n plus instrumente pentru dezvoltarea de programe i administrare de sistem. Server. Acest tip de instalare cuprinde programe care ofer servicii Internet (Web, FTP, pot electronic etc.), precum i alte servicii de reea (NFS, SMB etc.). Necesit minim 1 GB spaiu disponibil. Custom (personalizat). Instalarea de tip Custom este potrivit utilizatorilor obinuii cu sistemul Linux i ofer cea mai mare flexibilitate posibil. Necesit minim 350 MB spaiu disponibil pentru o instalare minimal i minim 3,5 GB dac sunt selectate toate pachetele.

5. Parti ionarea discului Exist trei opiuni de partiionare:

partiionare automat: programul de instalare va genera automat partiiile n funcie de tipul de instalare ales. Partiiile rezultate pot fi modificate apoi n funcie de necesiti; partiionare manual cu ajutorul programului Disk Druid, un program dotat cu o interfa grafic simpl, dar puternic, uor de folosit; partiionare manual cu ajutorul programului clasic fdisk (disponibil numai n cazul instalrilor n mod text), care are o interfa tip linie de comand, n mod text.

Parti ionarea automat

Programul de partiionare automat ofer utilizatorului posibilitatea de a controla modul de tratare a partiiilor deja existente pe disc, prin intermediul a trei opiuni:

tergerea partiiilor Linux existente; tergerea tuturor partiiilor existente (aten ie: se pierd toate datele de pe hard-diskurile existente!); pstrarea partiiilor existente i utilizarea spaiului liber.

Din lista de discuri fixe aflate n sistem trebuie selectate discurile pe care va fi efectuat instalarea. Dac opiunea Review este activat, instalarea va continua cu programul Disk Druid, permind modificarea partiiilor create automat. Parti ionarea discului folosind programul Disk Druid

Partiionarea discului cu Disk Druid

Fiecare disc fix din sistem poate fi editat separat. Aciunile se efectueaz prin intermediul a cinci butoane:

New - pentru crearea unei noi partiii. Dialogul care apare conine urmtoarele cmpuri: Mount Point - directorul n care va fi montat coninutul noii partiii (de exemplu, partiia de root, /; pentru partiia alocat utilizatorilor, directorul poate fi /home); Filesystem Type - tipul partiiei (de exemplu, ext2 sau ext3 pentru o partiie Linux); Size - dimensiunea partiiei n Megabytes; Additional Size Options - dac partiia va avea dimensiunea fix menionat n cmpul precedent, dac se dorete ca partiia s umple tot spaiul liber mai puin o dimensiune menionat sau dac se dorete ca partiia s umple tot spaiul disponibil; Force to be a primary partition - dac se dorete ca partiia s fie primar; Check for bad blocks - dac se dorete verificarea existenei de sectoare defecte pe respectiva partiie; Edit - pentru editarea proprietilor unei partiii deja create; Delete - pentru tergerea unei partiii deja create; Reset - pentru renunarea la modificrile fcute asupra partiiilor; RAID - pentru crearea de partiii RAID (Redundant Array of Independent Disk), tehnic prin care mai multe partiii/discuri sunt tratate ca fiind un spaiu de stocare (disc) unic sau cuprinznd aceleai date stocate n paralel pe mai multe discuri, n vederea creterii capacitii de memorare i a siguranei datelor, respectiv.

o o o

o o

Parti ionarea discului folosind programul fdisk Comenzile uzuale sunt:

a - seteaz respectiv anuleaz opiunea de bootare a sistemului de pe acea partiie (avertizm c doar o singur partiie trebuie s aib setat aceast opiune; n caz contrar, este impredictibil partiia de pe care va porni sistemul) d - terge o partiie l - listeaz tipurile de partiii cunoscute

m - afieaz toate comenzile fdisk n - adaug o nou partiie p - afieaz tabela de partiii q - prsete fdisk fr a salva modificrile fcute t - modific tipul unei partiii w - scrie tabela de partiii pe disc i prsete fdisk Iat un exemplu de utilizare a comenzii n:

Command (m for help): n First cylinder (2837-3649, default 2837): Using default value 2837 Last cylinder or +size or +sizeM or +sizeK (2837-3649, default 3649): Using default value 3649

Dup cum se observ, este solicitat numrul cilindrului de la care va ncepe partiia, precum i numrul cilindrului la care se va sfri partiia. n locul acestuia din urm poate fi specificat ncepnd cu "+" mrimea partiiei n octei, sau n kilo-octei adugnd caracterul "K", sau n mega-octei adugnd "M" (de exemplu, +500M desemneaz o partiie de 500 megabytes). Prezentm i un exemplu de lansare a comenzii p:
Command (m for help): p Disk /dev/hda: 255 heads, 63 sectors, 3649 cylinders Units = cylinders of 16065 * 512 bytes Device /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9 /dev/hda10 /dev/hda11 Boot * Start 1 524 1047 1570 1570 1832 1896 1913 2044 2053 2837 End 523 1046 1569 3649 1831 1895 1912 2043 2052 2836 3649 Blocks 4200966 4200997+ 4200997+ 16707600 2104483+ 514048+ 136521 1052226 72261 6297448+ 6530391 Id 83 83 c f 83 83 82 83 82 b 83 System Linux Linux Win95 FAT32 Win95 Ext'd Linux Linux Linux swap Linux Linux swap Win95 FAT32 Linux

Un exemplu de apel al comenzii d:


Command (m for help): d

Partition number (1-11): 11

Dup cum se observ, nu este solicitat confirmarea aciunii de tergere a partiiei! Utilizarea comenzii t:
Command (m for help): t Partition number (1-11): 6 Hex code (type L to list codes): 83

Dac se folosete acest program, dup definirea partiiilor recomandm verificarea existenei a cel puin dou partiii, iar acestea s aib tipul corect, i anume 82 pentru Linux i 83 pentru partiia de swap. n final, dup operaiunile de stabilire a partiiilor, se folosete comanda "w" pentru a scrie efectiv datele pe disc. 6. Instalarea nc rctorului de boot Pentru a putea porni sistemul Linux, este nevoie de un ncrctor de boot (boot loader). De asemenea, acest ncrctor poate porni i alte sisteme de operare care sunt instalate pe disc. Sunt disponibile trei opiuni:

programul GRUB (GRand Unified Boot loader), pe care l recomandm datorit facilitilor oferite i performanelor sale superioare; programul clasic LILO (LInux LOader); nici un ncctor de boot, caz n care utilizatorul trebuie s se asigure c poate porni sistemul Linux ntr-un alt mod (de exemplu, cu o dischet de boot). ncrctorul de boot poate fi instalat n:

MBR (Master Boot Record), sectorul de boot care este ncrcat automat de BIOS-ul calculatorului - este opiunea recomandat (exceptnd situaia n care pe disc este instalat i sistemul de operare OS/2); primul sector al partiiei de root

De asemenea, n aceast etap pot fi stabilite i celelalte sisteme de operare care vor fi pornite de ncrctorul de boot. 7. Parola de pornire Dac a fost instalat un ncrctor de boot, poate fi definit o parol pentru a proteja sistemul. Aceasta va fi solicitat utilizatorului la pornire, dac ncearc s apeleze nucleul folosind parametri. Parola de pornire ofer protecie fa de atacurile de la consol.

8. Configurarea leg turii de re ea Dac instalarea a fost pornit cu suport pentru reea, fiecrei plci de reea aflate n calculator trebuie s i fie asociai urmtorii parametri:

dac configurarea adresei IP se face prin DHCP (Dynamic Host Configuration Procol); dac interfaa de reea va fi activat la pornire; adresa IP; masca de reea; adresa de reea; adresa de broadcast; numele mainii; adresa gateway-ului; adresa DNS-ului (Domain Name Server) primar, secundar i ternar.

9. Configurarea firewall-ului Programul de instalare poate configura automat firewall-ul, n funcie de nivelul de securitate ales. Exist trei niveluri de securitate:

nalt (High), caz n care sistemul nu va accepta alte tipuri de conexiuni dect cele definite. Implicit, vor fi acceptate doar urmtoarele tipuri de conexiuni: cereri DNS (Domain Name System) - folosite pentru a obine adresele IP ale numelor simbolice de main; DHCP (Dynamic Host Configuration Protocol) - protocol utilizat pentru alocarea dinamic a adreselor IP. Dac sistemul este conectat la Internet, ns nu ofer servicii ctre exterior, aceasta este cea mai sigur opiune;

Mediu (Medium), caz n care sistemul nu va accepta dect anumite tipuri de conexiuni. Implicit, urmtoarele tipuri de conexiuni nu vor fi permise:

pe porturi mai mici dect 1023 - porturile standard rezervate, utilizate de majoritatea serviciilor Internet, cum ar fi FTP, SSH, telnet, HTTP etc.; serverul NFS - utilizat pentru accesarea sistemelor de fiiere n reea; sistemul de ferestre X Window; serverul xfs - folosit pentru gestionarea fonturilor n mediul X Window; Fr firewall (No firewall) - nu se impune nici o restricie asupra naturii comunicaiilor dintre calculator i alte computere din Internet.

o o o

Alegnd opiunea Customize, pot fi adugate dispozitive considerate sigure sau poate fi acordat accesul la servicii adiionale. Selectnd oricare dintre dispozitive, va fi permis accesul prin dispozitivele respective ctre sistem - cu alte cuvinte, pachetele sosite prin respectivul dispozitiv vor fi excluse din regulile stabilite de firewall. Spre exemplu, poate fi permis accesul fr restricii n cadrul reelei locale, prin placa de reea eth0, iar conexiunea dial-up la Internet, ppp0, s fie supus filtrrii. Dintre serviciile din cadrul Allow Incoming pot fi selectate acelea la care va fi permis accesul:

DHCP - serviciul pentru obinerea automat a adresei IP; SSH - serviciul pentru conectarea i execuia de comenzi pe o main aflat la distan, utiliznd un protocol sigur pentru criptarea datelor; telnet - serviciul pentru conectarea la o main aflat la distan, fr criptare i cu securitate redus; WWW (HTTP - HyperText Transfer Protocol) - serviciul pentru accesarea paginilor Web; Mail (SMTP - Simple Mail Transfer Protocol) - serviciul pentru expedierea de mesaje de e-mail; FTP (File Transfer Protocol) - serviciul de transfer de fiiere; alte porturi, pentru a permite i accesul la alte servicii, sub forma port:protocol - de exemplu, pop3:tcp sau 6667:udp.

10. Selectarea limbii Se selecteaz limba implicit, ct i celelalte limbi care vor fi instalate.

11. Configurarea timpului Se selecteaz fusul orar n care se afl sistemul. 12. Configurarea utilizatorilor Utilizatorul root posed drepturi totale asupra sistemului. Acest utilizator trebuie folosit n mod normal doar pentru a instala/dezinstala pachete de aplicaii i pentru administrarea sistemului. Se recomand crearea unuia sau mai multor utilizatori obinuii pentru utilizarea calculatorului, chiar dac acesta este folosit acas, deoarece o comand greit tastat ca root poate cauza deteriorarea sistemului sau chiar pierderea total a datelor i aplicaiilor stocate. Este obligatorie stabilirea unei parole pentru utilizatorul root. Parola trebuie s aib minim ase caractere lungime i nu poate conine cuvinte aflate n dicionar. n cadrul acestei etape pot fi creai i utilizatorii sistemului, pentru fiecare trebuind introduse numele (compuse din caractere, eventual i numere) i parolele. 13. Configurarea autentific rii n sistem n cazul n care maina va fi legat n reea, este important ca accesul la sistem s fie posibil pe baza unui sistem de autentificare sigur. Sunt disponibile urmtoarele opiuni:

Activarea/dezactivarea sistemului MD5, care permite utilizarea de parole de pn la 256 de caractere lungime, n loc de lungimea standard de maxim 8 caractere. Implicit, aceast opiune este activat. Activarea/dezactivarea sistemului shadow, care ofer o metod sigur de memorare a parolelor. Parolele sunt memorate n fiierul /etc/shadow, care nu poate fi accesat de ctre utilizatorii obinuii. Implicit, aceast opiune este activat.

14. Selectarea pachetelor Pot fi selectate grupurile de pachete (aplicaii) care se doresc a fi instalate. Dac se dorete i selectarea individual a pachetelor din cadrul grupurilor, trebuie selectat opiunea Customize software packages to be installed. n orice moment se poate consulta spaiul ocupat pe disc al pachetelor instalate. Fiecare grup de pachete poate fi selectat pentru a fi instalat, sistemul propunnd n mod automat un numr de pachete din respectivul grup. Prin apsarea pe butonul Details, poate fi selectat individual fiecare pachet n parte. Prezentarea tuturor pachetelor incluse ntr-o distribuie Linux (oricare ar fi aceea) nu este posibil, datorit numrului uria al acestora (practic, de ordinul sutelor). Ne vom rezuma la grupurile de pachete incluse:

Desktops (medii grafice): X Window System (sistemul grafic X Window), GNOME Desktop Environment (mediul desktop GNOME) i KDE Desktop Environment (mediul desktop KDE). Applications (aplicaii): Editors (editoare de text), Engineering and Scientific (aplicaii inginereti i pentru calcule tiinifice), Graphical Internet (programe dedicate accesrii Internet-ului, n mod grafic X Window), Text-based Internet (programe pentru acces la serviciile Internet, n mod text), Office/ Productivity (programe destinate lucrului la birou), Graphics (prelucrarea de imagini) i Games and Entertainment (jocuri). Servers (servere): Server Configuration Tools (programe de configurare i administrare), Web Server (serverul Web Apache), Mail Server (server de pot electronic), Windows File Server (server de fiiere Samba), DNS Name Server (serverul pentru rezolvarea numelor de domenii BIND), FTP Server (server FTP), SQL Database Server (serverele de baze de date MySQL i PostgreSQL), News Server (server de tiri), Network Servers (alte servere de reea). Development (instrumente de dezvoltare soft): Development Tools (instrumente utile pentru dezvoltarea de programe), Kernel Development (programe necesare pentru compilarea nucleului), GNOME Software Development (pentru dezvoltarea de programe care utilizeaz bibliotecile GNOME), KDE Software Development (pentru dezvoltarea de programe care utilizeaz bibliotecile KDE). System (programe de sistem): Administration Tools (instrumente pentru administrarea sistemului), System Tools (diverse programe pentru configurarea sistemului) i Printing Support (suport pentru tiprirea la imprimant). Miscellaneous (diverse): Minimal (nu este propriu-zis un grup de pachete, ci stabilete c se efectueaz o instalare a unui numr minim de pachete, strict necesare pentru funcionarea sistemului) i Everything (selecteaz toate pachetele pentru instalare).

Dup selectarea pachetelor, programul de instalare verific dependenele dintre pachete (anumite aplicaii necesit i alte programe pentru a funciona corect) i afieaz pachetele care vor fi instalate automat pentru a satisface aceste dependene. Utilizatorul va putea opta ntre a le instala sau a renuna la pachetele selectate iniial (cele care au generat aceste dependene). 15. Configurarea plcii video n general, programul de instalare poate determina singur tipul plcii video din sistem. n cazul n care aceast detectare a euat, din lista de plci video cunoscute poate fi aleas placa n cauz. n cazul n care nici acest lucru nu este posibil, trebuie consultat situl Web

al productorului acelei plci. De asemenea, poate fi specificat dimensiunea memoriei video (e.g., 16 MB, 32 MB etc.). 16. Instalarea pachetelor Durata instalrii pachetelor depinde att de numrul de pachete selectate pentru instalare, ct i de performanele calculatorului. n timpul instalrii sunt afiate informaii despre pachetul n curs de instalare, precum i despre evoluia instalrii. De asemenea, sistemul va solicita introducerea CD-urilor din care este alctuit distribuia. Dac unul dintre CD-uri lipsete sau este defect, atunci de cele mai multe ori instalarea eueaz, sistemul fiind doar parial copiat. Procesul de instalare a pachetelor creeaz un jurnal cu aciunile ntreprinse, n fiierul / root/install.log. 17. Crearea unei dischete de boot Este recomandat crearea unei dischete de boot, util n cazul n care ar putea aprea probleme la pornirea sistemului Linux. Se utilizeaz o dischet goal, care nu trebuie s fie defect. Aceast dischet nu va fi formatat FAT (n sistem MS-DOS) i deci nu va putea fi utilizat n alt sistem de operare dect dup o formatare prealabil. 18. Configurarea sistemului de ferestre X Window Aceast aciune implic urmtoarele:

Configurarea monitorului Programul de instalare va ncerca s determine tipul monitorului. Dac detectarea eueaz, trebuie selectat monitorul din lista de tipuri cunoscute. Sistemul va testa configuraia aleas. n cazul n care testul nu se ncheie n cteva secunde, acesta poate fi ntrerupt utiliznd combinaia de taste Ctrl+Alt+Backspace (ieire forat).

Personalizarea sistemului X Window Se selecteaz adncimea culorii (de exemplu High Color - 16 bit, True Color 32 bit etc.), rezoluia ecranului (spre exemplu, 800x600, 1024x768 etc.), mediul desktop (KDE sau GNOME) i dac sistemul va porni direct n mod grafic sau n mod consol (text). Ulterior, aceste setri vor putea fi modificate.

19. Instalarea este ncheiat

Programul de instalare va cere confirmarea pentru repornirea sistemului. nainte de aceasta, eventuala dischet aflat n unitatea floppy trebuie scoas, CD-ul din unitatea CD-ROM fiind automat ejectat.

Cap. 5. No iuni elementare de administrare


5.1. Sistemele de fiiere
5.1.1. Montarea i demontarea sistemelor de fiiere Montarea reprezint procesul de a face disponibil coninutul unui sistem de fiiere (de exemplu, coninutul unui disc CD-ROM), asimilndu-l n cadrul structurii de directoare a sistemului. Cu alte cuvinte, un sistem de fiiere poate fi montat/demontat la, respectiv de la ierarhia sistemului. Singura excepie o face ierarhia rdcin, care este ntotdeauna montat ncepnd cu momentul pornirii sistemului. Toat ierarhia de fiiere i directoare ale unei partiii sau ale unui disc poate fi montat n orice director al sistemului-rdcin. Dup montare, directorul-rdcin al sistemului de fiiere montat nlocuiete coninutul directorului unde a fost montat. Montarea se face utiliznd comanda mount, avnd urmtoarea sintax:
mount [ opiuni ] [ nume_dispozitiv ] [ punct_de_montare ]

unde opiuni pot fi: -r monteaz sistemul de fiiere n mod read-only (numai citire); -t specific tipul sistemului de fiiere (vezi tabelul 1.3); -o specific diferite opiuni de montare (vezi tabelul 1.4); -w monteaz sistemul de fiiere n mod scriere. Comanda mount fr argumente va afia sistemele de fiiere montate. Directorul punct_de_montare trebuie s existe, altfel va fi semnalat eroare. De exemplu, pentru a monta discul CD-ROM n /mnt/cdrom:
mount /dev/cdrom /mnt/cdrom

Demontarea se face utiliznd comanda umount, avnd urmtoarea sintax:


umount nume_dispozitiv | punct_de_montare

Demontarea CD-ROM-ului deja montat:


umount /dev/cdrom

n loc de /dev/cdrom se poate introduce /mnt/cdrom. Montarea automat a sistemelor de fiiere

Procesul de montare automat este controlat de fiierul de configurare / etc/fstab. Acesta este structurat pe linii, coninnd ase cmpuri:

Cmp Nume dispozitiv Punctul de montare Tipul sistemului de fiiere Opiuni

Descriere Numele de dispozitiv al partiiei Directorul n care va fi montat dispozitivul Tipul sistemului de fiiere: ext2, swap, vfat, iso9660 etc. Opiuni asupra operaiunii de montare, separate prin virgul. n general, se utilizeaz defaults. Dac este specificat opiunea noauto, sistemul de fiiere nu va fi montat automat la pornire Frecvena cu care sistemul de fiiere va fi salvat Un numr care indic ordinea n care vor fi verificate sistemele de fiiere. Pentru sistemul-rdcin trebuie s aib valoarea 1, iar pentru swap valoarea 0. Sistemele pentru care valoarea acestui cmp este egal vor fi verificate n paralel (recomandat doar dac se afl pe discuri diferite)

Frecvena salvrii Ordinea verificrii

Furnizm n continuare un fiier /etc/fstab, de exemplu:


# device /dev/hda1 /dev/hda2 /dev/hda3 /dev/fd0 /dev/cdrom mount / none /mnt/dos /mnt/floppy /mnt/cdrom type ext2 swap vfat vfat iso9660 options defaults sw defaults noauto noauto dump 0 0 0 fsck 1 0 0 0 0

0 0

Sistemele de fiiere specificate n /etc/fstab sunt montate automat la pornirea sistemului (exceptnd cele avnd opiunea noauto) i demontate automat la oprirea sistemului. De asemenea, pentru sistemele specificate n acest fiier de configurare, la apelul comenzii mount trebuie specificat fie numele dispozitivului, fie punctul de montare, nu neaprat amndou. Numele de dispozitive
Tabelul 1.1. Nume de dispozitive uzuale

Numele dispozitivului /dev/hda /dev/hdb /dev/hdc /dev/hdd /dev/sda /dev/sdb /dev/scd0 /dev/scd1

Tipul dispozitivului Primul controler IDE, unitatea conectat ca master Primul controler IDE, unitatea conectat ca slave Al doilea controler IDE, unitatea conectat ca master Al doilea controler IDE, unitatea conectat ca slave Primul disc SCSI Al doilea disc SCSI Prima unitate CD-ROM SCSI A doua unitate CD-ROM SCSI

/dev/fd0 /dev/fd1

Prima unitate floppy A doua unitate floppy

Pentru discuri fixe, numele dispozitivului trebuie urmat de numrul partiiei, de exemplu /dev/hda1 pentru prima partiie de pe discul /dev/hda. Linux permite, de asemenea, montarea doar unei sesiuni a unui disc CD-ROM, adugnd numrul sesiunii la numele dispozitivului (e.g. /dev/hdc2), cu meniunea c numerotarea ncepe de la zero. Tipuri de sisteme de fiiere
Tabelul 1.2. Tipuri de sisteme de fiiere uzuale

Tipul sistemului ext2 ext3 reiserfs swap vfat ntfs msdos iso9660 nfs smbfs

Descriere Sistemul clasic de fiiere Linux Noul sistem de fiiere Linux, bazat pe ext2, cu suport pentru jurnalizare Noul sistem de fiiere reiserfs, cu suport pentru jurnalizare, cu performane mai bune dect ext2 n anumite situaii Partiia pentru memorie virtual Sistem de fiiere Windows, cu suport pentru nume lungi de fiiere Sistemul de fiiere utilizat de Windows NT/2000/XP Sistemul clasic MS-DOS Sistemul de fiiere pentru discuri CD-ROM Sistem de fiiere NFS, aflat la distan Resurs Samba

Recomandm utilizarea de partiii ext3 n loc de ext2, deoarece suportul pentru jurnalizare permite n primul rnd siguran mult mai mare a informaiilor n cazul incidentelor nedorite (probleme hardware sau ntreruperi ale tensiunii de alimentare) i n al doilea rnd reduce semnificativ timpul de verificare a partiiilor (fsck). Pot fi utilizate de asemenea i partiiile de tip reiserfs, care prezint, pe lng avantajele enumerate mai sus, o vitez superioar de acces n multe situaii. Opiuni de montare
Tabelul 1.3. Op iuni de montare a sistemelor de fiiere

Numele opiunii defaults ro rw nosuid noauto remount user

Descriere Opiunea uzual de montare Nu este permis scrierea (read-only) Este permis scrierea (read-write) Nu este permis modul SUID Sistemul de fiiere nu va fi montat automat la pornire Remonteaz sistemul de fiiere (utilizat n general pentru modificarea opiunilor de montare) Permite utilizatorilor obinuii s monteze sistemul de fiiere

5.1.2. Verificarea i repararea sistemelor de fiiere Oprirea forat a sistemului sau cderile de tensiune pot cauza defectarea sistemelor de fiiere montate (aceste evenimente nedorite pot fi prentmpinate prin utilizarea unui sistem de fiiere jurnalizat, cum ar fi ext3 sau reiserfs). Verificarea i repararea sistemelor de fiiere se realizeaz cu ajutorul utilitarului fsck. Acest utilitar este apelat automat la pornirea sistemului pentru fiecare sistem de fiiere specificat n /etc/fstab (evident, fr opiunea noauto) i care nu a fost demontat corect. Exceptnd sistemulrdcin, fsck poate rula doar pentru sisteme de fiiere nemontate. Pentru a rula fsck pe sistemul-rdcin, sistemul trebuie adus n mod single-user (prin pornirea nucleului cu opiunea single pentru detalii, vezi cap. 3). Programul fsck are urmtoarea sintax:
fsck [ opiuni ] nume_dispozitiv

Opiunile uzuale sunt: -p repar automat toate erorile aprute, dac aceasta nu modific coninutul nici unui fiier; -n rspunde nu la toate ntrebrile; afieaz dar nu repar nici o eroare aprut; -y rspunde da la toate ntrebrile; repar orice eroare aprut, indiferent de urmri; -f verific sistemul chiar dac nu prezint probleme. De exemplu, verificarea partiiei /dev/hda2 care nu a fost demontat corect la oprirea sistemului se va face prin comanda:
fsck -y /dev/hda2

Pe partiiile ext2 sau ext3 poate fi remarcat directorul lost+found. Acesta este utilizat pentru depozitarea fiierelor recuperate de fsck de pe respectiva partiie, atunci cnd aceasta a fost deteriorat. Acest director nu trebuie n nici un caz ters, el fiind gestionat n mod automat de ctre sistem.

5.2. Pornirea i oprirea sistemului


5.2.1. Generaliti Imediat dup punerea sub tensiune, BIOS-ul testeaz sistemul, caut i iniializeaz echipamentele periferice, iar apoi caut discul de pe care va porni sistemul. BIOS-ul verific sectorul de boot, MBR (Master Boot Record), i ncarc coninutul n memorie i i pred controlul. MBR-ul citete mai departe ncrctorul de boot (LILO sau GRUB) i l execut. ncrctorul de boot citete imaginea nucleului i i cedeaz controlul. Nucleul identific echipamentele cunoscute din sistem, apoi caut programul init n directorul / sbin i l execut, nu nainte de a monta sistemul de fiiere-rdcin n mod read-only. Procesul init devine printele tuturor proceselor care vor fi pornite ulterior. De asemenea, el continu operaiunea de pornire, dup cum urmeaz: 1. Execut scriptul /etc/rc.d/rc.sysinit, care efectueaz o serie de iniializri ale mediului UNIX, dintre care mai importante: verific integritatea sistemului de fiiere-rdcin apelnd fsck. De asemenea, este verificat i integritatea celorlalte sisteme de fiiere specificate n / etc/fstab; monteaz sistemele de fiiere locale (aflate pe discurile din sistem); iniializeaz memoria virtual. 2. Citete configurrile din fiierul /etc/inittab. Acest fiier conine intrri care definesc aciunile sistemului atunci cnd acesta intr n fiecare nivel de execuie i stabilete nivelul implicit. De asemenea, execut scripturile din nivelul implicit de execuie, /etc/rc.d/rc N, unde N este nivelul de execuie. 3. Execut scriptul /etc/rc.d/rc.local, care efectueaz iniializri locale. Standardul UNIX System V definete o serie de stri ale sistemului, denumite niveluri de execuie (run levels). La un moment dat, sistemul se gsete n una din aceste stri i poate fi trecut ntr-o alt stare utiliznd anumite comenzi administrative. Urmtorul tabel prezint nivelurile de execuie uzuale:

Nivelul de execuie 0 1

Descriere Starea de oprire (halt): starea n care sistemul poate fi oprit n siguran. Starea de reparare a sistemului (single-user): n aceast stare nu este montat dect partiia rdcin, reeaua nu este activat iar serviciile nu sunt pornite. Se utilizeaz atunci cnd apar defeciuni n sistem, de exemplu defeciunea unei partiii. Starea normal a sistemului, fr NFS (mult-user without NFS). Starea normal a sistemului (multiuser). Neutilizat. Starea normal a sistemului, cu login X Window. Starea de repornire (reboot).

2 3 4 5 6

De asemenea, System V definete cteva niveluri de execuie adiionale, desemnate prin litere ale alfabetului. Acestea nu reprezint stri distincte ale sistemului, ci folosesc pentru a comunica programului init s execute anumite operaiuni. De exemplu, nivelul q comunic init s reciteasc fiierul de configurare. 5.2.2. Modul de execuie single Nivelul de execuie single se folosete pentru activiti administrative. Pentru a iniializa nivelul single-user, init execut interpretorul de comenzi, sub utilizatorul root. n acest mod, serviciile normale ale sistemului nu sunt disponibile, nefiind posibil execuia daemonilor sau altor programe n fundal. Sistemul poate fi pornit n mod single furniznd nucleului Linux opiunea single, apelnd, de exemplu, la promptul LILO, comanda:
LILO: linux single

Este posibil ca sistemul s porneasc automat n mod single, atunci cnd n cadrul procesului de pornire apar probleme care nu pot fi rezolvate automat, spre exemplu atunci cnd fsck detecteaz erori ce nu pot fi reparate n mod implicit. n aceste cazuri, administratorul sistemului trebuie s rezolve problema. O dat rezolvat, pornirea poate continua terminnd execuia shell-ului de comenzi, apelnd comanda exit sau logout. 5.2.3. Pornirea, repornirea i oprirea serviciilor Operaiile de pornire, repornire, oprire sau verificare a unui serviciu pot fi realizate apelnd scriptul respectiv, i anume /etc/rc.d/init.d/nume_serviciu sau /etc/ init.d/nume_serviciu, trimind ca parametru:

start pentru a porni serviciul; stop pentru a opri serviciul; restart pentru a reporni serviciul; status pentru a verifica dac serviciul este activ.

Spre exemplu, comanda:


/etc/rc.d/init.d/syslog restart

va reporni serviciul syslog. De asemenea, poate fi utilizat i comanda:


service nume_serviciu aciune

unde aciune poate lua una dintre valorile descrise mai sus. Astfel, comanda service postgresql status va afia starea serviciului postgresql (dac este sau nu activ). 5.2.4. Configurarea serviciilor sistemului Serviciile pe care le ofer sistemul pot fi activate/dezactivate cu ajutorul programului chkconfig. Comanda chkconfig --list listeaz toate serviciile existente n sistem i starea acestora (dac sunt activate sau nu). Sintaxa comenzii chkconfig este urmtoarea:
chkconfig [ --list ] [ nume_serviciu [ aciune ] --add ] [ --del ] [ --level list_niveluri]

unde:

list_niveluri aciune Opiunile pot fi: --list --add --del

reprezint lista de niveluri de execuie n care se dorete activarea/dezactivarea serviciului; poate fi on sau off, pentru activarea/dezactivarea serviciului.

afieaz toate serviciile nregistrate, precum i setrile pentru fiecare nivel de execuie n parte. Dac nume_serviciu este specificat, sunt afiate doar informaii referitoare la serviciul specificat; adaug serviciul specificat n lista de servicii nregistrate; terge serviciul specificat din lista de servicii nregistrate.

De exemplu, comanda chkconfig --level 345 postgresql on seteaz serviciul postgresql s porneasc atunci cnd nivelul de execuie devine 3, 4 sau 5. Comanda chkconfig postgresql off dezactiveaz pornirea serviciului. Prezentm mai jos un exemplu de apelare a comenzii chkconfig --list:
syslog 0:off netfs 0:off network 0:off random 0:off xinetd 0:off portmap 0:off gpm 0:off keytable 0:off smb 0:off sshd 0:off sendmail 0:off iptables 0:off nfs 0:off nfslock 0:off crond 0:off xfs 0:off httpd 0:off cups 0:off xinetd based services: imap: off imaps: off ipop2: off ipop3: off pop3s: off telnetd: off 1:off 1:off 1:off 1:off 1:off 1:off 1:off 1:on 1:off 1:off 1:off 1:off 1:off 1:off 1:off 1:off 1:off 1:off 2:on 2:off 2:on 2:on 2:off 2:off 2:on 2:on 2:off 2:on 2:on 2:on 2:off 2:off 2:on 2:on 2:off 2:on 3:on 3:on 3:on 3:on 3:on 3:off 3:on 3:on 3:off 3:on 3:on 3:on 3:off 3:off 3:on 3:on 3:off 3:on 4:on 4:on 4:on 4:on 4:on 4:off 4:on 4:on 4:off 4:on 4:on 4:on 4:off 4:off 4:on 4:on 4:off 4:on 5:on 5:on 5:on 5:on 5:on 5:off 5:on 5:on 5:off 5:on 5:on 5:on 5:off 5:off 5:on 5:on 5:off 5:on 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off 6:off

5.3. Nucleul Linux


5.3.1. Compilarea nucleului Linux Dei nucleul furnizat de distribuia Linux poate satisface toate nevoile administratorului sistemului, de cele mai multe ori este de preferat compilarea unui nucleu adaptat att configuraiei calculatorului, ct i modului de utilizare a acestuia. Motivele principale sunt: nucleul implicit nu conine toate driverele pentru echipamentele hardware din sistem sau nu suport toate opiunile dorite; nucleul implicit este compilat modular, ceea ce poate conduce la ntrzieri n rspuns cauzate de durata de ncrcare a modulelor; nucleele modulare prezint riscul de a fi i nfectate cu module strine ru intenionate ( cai troieni ); cu ct nucleul generat are dimensiunea mai mic, cu att acesta ocup mai puin spaiu de memorie.

De aceea, n general se recomand utilizarea unei versiuni oficiale de nucleu, i nu versiunea livrat n distribuie. Motivul este c nucleul din distribuie nu este cel oficial (adic publicat pe situl ftp.kernel.org sau mirrors), ci conine modificri realizate de furnizorul distribuiei. Nucleul oficial este testat de un numr mult mai mare de persoane dect cel din distribuie, fapt care i confer o stabilitate mai mare. De multe ori ns, nucleul din distribuie conine i corecii de bug-uri sau drivere pentru dispozitive, neconinute n nucleul oficial, care pot fi necesare. Trebuie avut n vedere faptul c nucleele cu numr de versiune impar (e.g. 2.5.x) sunt considerate ca fiind n curs de dezvoltare, fiind de multe ori instabile. Nu se recomand utilizarea acestora dect cu titlu experimental. Pentru a putea compila nucleul este necesar instalarea urmtoarelor pachete: kernel, kernel-doc, kernel-headers, kernel-pcmcia-cs i kernel-source. Nucleul din distribuie se afl n directorul /usr/src/linux-2.4 sau /usr/src/linux. Dac se dorete instalarea nucleului oficial, acesta trebuie descrcat de pe situl FTP ftp.kernel.org (sau oglindiri - mirrors), din directorul /pub/linux/kernel/ versiune (e.g. /pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2). Dup descrcare, acesta trebuie decomprimat i dezarhivat, utiliznd o comand de genul:
tar jxf linux-2.4.22.tar.bz2

Este de preferat localizarea arborelui cu surse n /usr/src/linux, dar poate fi folosit i orice alt director. Dac se dorete utilizarea unui patch (set de diferene dintre dou fiiere sau structuri de fiiere) pentru nucleu sau utilizarea unei versiuni mai noi de nucleu fr a mai descrca ntreaga arhiv tar, acesta va trebui mai nti decomprimat (dac este cazul):
bzip2 -d patch-2.4.22.bz2

iar apoi aplicat arborelui cu surse al nucleului printr-o comand de genul:


patch p1 < patch-2.4.22

Trebuie avut n vedere faptul c fiecare fiier-patch este generat plecnd de la o anumit versiune de nucleu, prin urmare aplicarea acestuia va fi corect doar pentru respectiva versiune. Majoritatea facilitilor oferite de nucleul Linux (cum ar fi drivere pentru dispozitivele aflate n calculator) pot fi compilate separat de nucleu, ca module. Un modul este o component a nucleului care este ncrcat doar atunci cnd este nevoie de ea (de exemplu, driverul pentru o plac de reea este ncrcat atunci cnd respectiva interfa de reea este activat). De asemenea, modulele care nu sunt utilizate o anumit perioad de timp sunt eliminate automat din memorie. Unul dintre dezavantajele utilizrii modulelor este timpul de ncrcare a acestora. Dac nucleul compilat va fi folosit pe un anumit calculator, este de preferat varianta monolitic . Dac nucleul va fi folosit pe mai multe calculatoare, avnd configuraii hardware diferite, este de preferat varianta modular.

Pentru a configura nucleul, se va executa, avnd ca director curent locaia n care au fost instalate sursele acestuia, fie make config, cu care se efectueaz o configurare de tip linie comand, fie make menuconfig, cu care configurarea se face ntr-o interfa utilizator n mod text, sau make xconfig. Configurarea nucleului se realizeaz prin intermediul unui meniu cu structur arborescent, coninnd opiuni. Fiecare dintre opiuni poate avea trei stri posibile: dezactivat (opiunea are valoarea nu sau facilitatea nu va fi inclus n nucleu), activat ( * , opiunea va avea valoarea da sau facilitatea va fi inclus n nucleu) sau includere modular ( M , care implic compilarea respectivei faciliti ca modul). Ultima stare nu este posibil pentru toate opiunile din meniul de configurare. Dup configurarea nucleului, acesta trebuie compilat prin comanda make bzImage. Modulele se compileaz utiliznd comanda make modules, iar instalarea acestora n / lib/modules se face cu make modules_install. n cazul n care modulele sunt compilate pentru prima oar pentru versiunea curent de nucleu, trebuie apelat comanda depmod -a versiune_nucleu, pentru a genera dependenele dintre module (directorul / lib/modules/versiune_nucleu). n final, trebuie copiat nucleul generat (arch/i386/boot/bzImage) precum i tabela de simboluri (System.map) peste versiunile vechi (n general n directorul /boot), apoi configurat ncrctorul de boot pentru a porni nucleul nou compilat (vezi infra). Se recomand pstrarea vechiului nucleu i crearea n configuraia ncrctorului de boot a unei imagini care s porneasc sistemul folosind nucleul vechi, pentru a putea asigura pornirea sistemului n cazul n care apar probleme cu nucleul nou.

5.3.2. Configurarea ncrc torului de boot Un ncrctor de boot (boot loader) este un program care pornete imediat dup bootarea sistemului. Acesta afieaz un meniu coninnd mai multe sisteme de operare care pot fi pornite. Utilizatorul poate selecta unul dintre acestea sau poate atepta pornirea sistemului setat implicit. Cel mai adesea este folosit ncrctorul de boot GRUB (GRand Unified Boot loader). Fiierul de configurare GRUB este /etc/grub.conf sau /boot/grub/grub.conf. Acesta conine mai multe opiuni, dintre care cele mai importante sunt: boot = nume_dispozitiv Dispozitivul pe care va fi scris sectorul de boot. default = nr Stabilete sistemul implicit. Numerotarea se face n ordinea apariiei (vezi infra), ncepnd de la 0. timeout = timp Timpul de ateptare (exprimat n secunde) dup care va fi pornit sistemul implicit. splashimage = (disc)fiier Specific o imagine n format XPM care va fi afiat ca fundal. title = titlu Definete un sistem, cu titlul specificat. Poate conine mai multe seciuni: root (disc) Specific partiia de root de pe care va porni sistemul. Partiia are formatul hddisc,partiie, unde disc reprezint numrul discului (numerotarea se face n ordinea deteciei de ctre BIOS, ncepnd cu 0), iar partiie numrul partiiei (numerotarea se face tot ncepnd cu 0). rootnoverify (disc) Specific partiia de pe care va porni sistemul, atunci cnd acesta este nonUNIX. kernel imagine_nucleu argumente Specific imaginea nucleului care va fi executat, precum i argumentele care vor fi trimise acestuia. chainloader [ start ]+nr_sectoare Pentru un sistem non-UNIX, citete i execut numrul specificat de sectoare, ncepnd cu sectorul start. password [ --md5 ] parol Protejeaz sistemul cu parola de acces specificat, nepermind modificarea argumentelor sau imaginea nucleului. Dac este folosit parametrul -md5, parola este criptat n format MD5 (prin comanda md5crypt). lock

Utilizat n conjuncie cu opiunea password, nu permite pornirea sistemului dect n condiia introducerii parolei. Pentru a instala ncrctorul de boot, trebuie lansat comanda grub-install nume_dispozitiv. Prezentm mai jos un fiier grub.conf:
default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title Red Hat Linux (2.4.21) root (hd0,0) kernel /boot/bzImage ro root=/dev/hda1 title Windows rootnoverify (hd0,2) chainloader +1

Pentru instalarea ncrctorului de boot conform acestei configuraii, se va executa comanda grub-install /dev/hda.

5.4. Configurarea leg turii de re ea


5.4.1. Configurarea atributelor mainii Fiierele de configurare a atributelor mainii sunt /etc/HOSTNAME, n care este specificat numele complet al mainii (adic inclusiv domeniul e.g. hercules.biosfarm.ro) i /etc/sysconfig/network, n care se specific numele complet i numele domeniului:
NETWORKING=yes HOSTNAME=hercules.biosfarm.ro DOMAINNAME=biosfarm.ro

5.4.2. Configurarea echipamentelor de re ea Dup ce echipamentul de reea (plac de reea, modem etc.) a fost instalat fizic n sistem i mediul de conectare legat, fie trebuie ncrcat modulul ce conine driverul pentru respectivul echipament, fie trebuie reconfigurat i recompilat nucleul Linux pentru a include driverul n cauz. Denumirile utilizate n Linux pentru dispozitivele de reea uzuale sunt:
Interfaa loopback Plci de reea Ethernet Legturi modem lo eth0, eth1 etc. ppp0, ppp1 etc.

n UNIX, echipamentul de reea este denumit interfa de reea. Configurarea interfeei de reea se poate face cu utilitarul ifconfig. Acesta din urm are urmtoarea sintax:
ifconfig interfa [ familie_de_adrese ] opiuni | adres

Dac interfa nu este specificat, ifconfig va afia informaii privind starea interfeelor active. Dac nu este specificat nici o opiune, ci doar interfa, ifconfig va afia starea interfeei respective. n celelalte cazuri, va fi configurat interfaa de reea. Familie_de_adrese poate lua una dintre valorile: inet (TCP/IP, valoare implicit), inet6 (IPv6), ax25 (AMPR Packet Radio), ddp (Appletalk Phase 2), ipx (Novell IPX) i netrom (AMPR Packet Radio).
Opiunile pot fi: up interfaa va fi activat. Este implicit dac este atribuit o adres interfeei. down interfaa va fi dezactivat. netmask adres stabilete masca de reea. irq num r_ntrerupere stabilete ntreruperea utilizat de dispozitiv. io_addr adres stabilete adresa I/O utilizat de dispozitiv. [-] broadcast [ adres ] dac adres este specificat, stabilete adresa de broadcast a interfeei. Dac parametrul nu este specificat, activeaz sau dezactiveaz cmpul de stare IFF_BROADCAST pentru interfa. [-] pointopoint [ adres ] dac adres este specificat, stabilete adresa de IP a mainii cu care se face conexiunea punct-la-punct (cum ar fi PPP) i activeaz acest mod de conexiune. Dac parametrul nu este specificat, activeaz cmpul de stare IFF_POINTOPOINT pentru interfa.

Adres reprezint adresa IP atribuit interfeei. De exemplu, pentru configurarea i activarea plcii de reea Ethernet eth0, cu adresa 193.226.26.9, vom folosi comanda:
ifconfig eth0 193.226.26.9 netmask 255.255.255.0 broadcast 193.226.26.255 up

Fiierele de configurare a interfeelor de reea se gsesc n directorul /etc/ sysconfig/network-scripts i poart nume de forma ifcfg-nume_dispozitiv (de exemplu, ifcfg-eth0). Pentru detalii, a se vedea seciunea 10.6. 5.4.3. Opiuni de rutare

Rutarea este operaiunea de trimitere a pachetelor de date de la o reea la alta. Rutrile pot fi: Dac reeaua nu conine subreele, nu este necesar nici o rutare explicit. Rutri statice, folosite pentru reele de dimensiuni mici sau medii, avnd calea origine destinaie relativ simpl. Rutri dinamice, n care cile spre destinaie sunt determinate la momentul trimiterii pachetelor, prin protocoale de rutare, pentru care se folosesc daemonii routed i gated.

Rutrile statice pot fi gestionate folosind utilitarul route, avnd sintaxa:


route [ opiuni ] route [ -v ] [ -A familie ] add [ -net | -host ] dest [ opiuni ] route [ -v ] [ -A familie ] del [ -net | -host ] dest [ opiuni ]

Prima variant afieaz tabela de rutare, permind opiunile: -v afieaz informaii suplimentare; -n afieaz adrese numerice n loc de nume. A doua variant permite adugarea de rutri statice. Opiuni: -v afieaz informaii suplimentare; -A familie specific familia de adrese. Vezi supra, la ifconfig, familiile de adrese; -net specific faptul c dest este o reea; -host specific faptul c dest este o main; dest reprezint adresa reelei sau mainii-destinaie, fie numeric, fie prin nume; netmask adres utilizeaz aceast masc atunci cnd se adaug o rutare; default stabilete rutarea implicit, care va fi utilizat atunci cnd nu exist nici o alt rutare ctre destinaie; gw gateway ruteaz pachetele printr-un gateway. Calea ctre acesta trebuie s fie definit n prealabil, stabilind n general o rutare static spre el; dev dispozitiv asociaz rutarea cu dispozitivul specificat. n mod normal, specificarea acestui parametru nu este necesar. Cteva exemple:
route add -net 192.130.21.0 netmask 255.255.255.0 dev eth1

adaug o rutare ctre reeaua 192.130.21.0 prin placa de reea eth1.


route add default gw zeus.biosfarm.ro

adaug o rutare implicit (utilizat atunci cnd nu exist o alt rutare) prin maina zeus.biosfarm.ro.

5.4.4. Verificarea funcionrii re elei Prima verificare care trebuie fcut dup configurarea interfeelor de reea i stabilirea rutrilor este dac interfeele de reea sunt activate i au parametrii coreci. Aceasta se face tot cu ajutorul utilitarului ifconfig. Dac se specific drept parametru numele interfeei, se vor afia informaiile de stare referitoare doar la respectiva interfa. Dac nu este introdus nici un parametru, vor fi afiate informaii despre toate interfeele active. Iat un exemplu de execuie a comenzii ifconfig:
eth0 Link encap:Ethernet HWaddr 00:E0:29:25:53:41 inet addr:10.0.0.1 Bcast:200.0.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:57497219 errors:0 dropped:0 overruns:0 frame:3 TX packets:53415959 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:4087849514 (3898.4 Mb) TX bytes:4227682795 (4031.8 Mb) Interrupt:11 Base address:0xe400 Lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1467483 errors:0 dropped:0 overruns:0 frame:0 TX packets:1467483 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:437242723 (416.9 Mb) TX bytes:437242723 (416.9 Mb) ppp0 Link encap:Point-to-Point Protocol inet addr:192.130.21.14 P-t-P:192.130.78.14 Mask:255.255. 255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1064 Metric:1 RX packets:16682 errors:0 dropped:0 overruns:0 frame:0 TX packets:16998 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:9140239 (8.7 Mb) TX bytes:2061425 (1.9 Mb)

A doua verificare este corectitudinea rutrilor. Tabelele de rutare pot fi consultate tot cu programul route:
Kernel IP routing table Destination Gateway leased14.nemesi * 10.0.0.0 * 127.0.0.0 * default leased14.nemesi Genmask Flags Metric Ref Use Iface 255.255.255.255 UH 0 0 0 ppp0 255.255.255.0 U 0 0 0 eth0 255.0.0.0 U 0 0 0 lo 0.0.0.0 UG 0 0 0 ppp0

A treia verificare ce trebuie fcut este accesibilitatea efectiv a altei maini, pentru care se folosete de regul programul ping, ce primete ca parametru numele mainiidestinaie sau adresa sa IP:
PING metalab.unc.edu (152.2.210.81) from 192.130.21.14 : 56(84) bytes of data. 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=0 ttl=235 time=281.878 msec 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=1 ttl=235 time=268.268 msec 64 bytes from metalab.unc.edu (152.2.210.81): icmp_seq=2 ttl=235 time=248.270 msec

64 bytes msec 64 bytes msec 64 bytes msec 64 bytes msec

from metalab.unc.edu (152.2.210.81): icmp_seq=3 ttl=235 time=278.304 from metalab.unc.edu (152.2.210.81): icmp_seq=4 ttl=235 time=268.304 from metalab.unc.edu (152.2.210.81): icmp_seq=5 ttl=235 time=267.780 from metalab.unc.edu (152.2.210.81): icmp_seq=6 ttl=235 time=268.250

--- metalab.unc.edu ping statistics --7 packets transmitted, 7 packets received, 0% packet loss round-trip min/avg/max/mdev = 248.270/268.722/281.878/9.889 ms

Poate fi utilizat i comanda traceroute, care afieaz toate mainile prin care trece pachetul n ruta sa ctre destinaie:
traceroute to fenrir.info.uaic.ro (193.231.30.197), 30 hops max, 38 byte packets 1 esc26.leased.dntis.ro (172.21.33.155) 140.673 ms 139.693 ms 139.954 ms 2 cisco0.dntis.ro (193.226.30.30) 140.119 ms 166.454 ms 141.181 ms 3 route.dntis.ro (193.226.30.17) 139.930 ms 138.031 ms 150.607 ms 4 cisco-gw-escape.dntis.ro (193.226.30.145) 139.281 ms 137.995 ms 139.889 ms 5 * roedu-to-dntis.dntis.ro (193.226.30.122) 138.228 ms 168.003 ms 6 gw-man.iasi.roedu.net (193.231.140.2) 139.910 ms 137.972 ms 139.919 ms 7 217.73.168.10 (217.73.168.10) 139.952 ms 138.323 ms * 8 gw-masterc.uaic.ro (193.226.23.116) 144.437 ms 138.039 ms 139.908 ms 9 gate-info.uaic.ro (193.231.30.15) 149.912 ms * 140.091 ms

5.4.5. Rezolvarea numelor de main Pentru a putea identifica o main din reea, sistemul trebuie s i determine mai nti adresa IP. Exist dou modaliti n care aceasta poate fi determinat: cutnd numele n fiierul /etc/hosts; apelnd serverul DNS (vezi infra) care va rezolva adresa.

Dac maina nu este legat permanent la reea sau se gsete ntr-o reea de dimensiuni mici, nu este necesar configurarea dect a /etc/hosts. Fiierul /etc/hosts conine lista de maini aflate n reeaua local, inclusiv maina local. Iat un fiier exemplu de pe maina access.biosfarm.ro:
127.0.0.1 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 193.226.30.8 193.226.30.15 localhost access hercules secretariat comenzi ftp mail localhost.localdomain access.biosfarm.ro hercules.biosfarm.ro secretariat.biosfarm.ro comenzi.biosfarm.ro ftp.dntis.ro mail.dntis.ro

Lista de servere DNS se configureaz n fiierul /etc/resolv.conf:


# domeniile in care vor fi cautate mai intai numele de masina search biosfarm.ro nemesis.ro

# serverele DNS la care vor fi trimise cererile de rezolvare # serverul DNS propriu nameserver 10.0.0.1 # alte servere DNS nameserver 193.233.7.1 nameserver 193.233.7.9

Sunt recunoscute urmtoarele directive principale: domain stabilete numele domeniului local (n care se afl maina). nameserver adresa unui server DNS cruia i va fi trimis cererea de rezolvare. Pot fi specificate mai multe directive nameserver. Dac primul server nu rspunde cererii, va fi apelat al doilea .a.m.d., n ordinea apariiei n fiier. search lista de domenii n care va fi cutat numele de main, separate prin spaii sau tab-uri. n exemplul nostru, dac este cutat maina main, va fi testat mai nti adresa main.biosfarm.ro, iar dac aceasta nu poate fi rezolvat, main.nemesis.ro. Pentru alte directive, recomandm consultarea man resolv.conf. 5.4.6. Scripturi pentru configurarea re elei Dup cum am menionat mai sus, fiierele de configurare a interfeelor de reea se gsesc n directorul /etc/sysconfig/network-scripts i poart nume de forma ifcfg-nume_dispozitiv. Aceste fiiere sunt alctuite dintr-o serie de opiuni, dintre care cele mai uzuale sunt: DEVICE = nume_interfa Specific numele dispozitivului la care se refer opiunile (de exemplu, eth0, ppp0 etc.). IPADDR = adres Stabilete adresa IP asociat dispozitivului. NETMASK = adres Stabilete masca de reea. BROADCAST = adres Stabilete adresa broadcast. NETWORK = adres Specific adresa reelei. ONBOOT = val Stabilete dac interfaa de reea va fi activat n mod automat la pornirea sistemului de operare. Interfaa de reea poate fi activat prin comanda ifup nume_interfa i dezactivat prin ifdown nume_interfa.

Redm mai jos un fiier de configurare pentru placa de reea eth0:


DEVICE=eth0 IPADDR=10.0.0.11 NETMASK=255.255.255.0 BROADCAST=10.0.0.255 NETWORK=10.0.0.0 ONBOOT=yes

Cap. 6. Serviciile sistemului


Vom prezenta pe scurt serviciile pe care le poate oferi un sistem Linux. Detalii suplimentare pot fi regsite n lucrarea noastr, Administrarea i configurarea sistemelor Linux.

6.1. Tip rirea la imprimant


Sistemul de operare Linux utilizeaz sisteme de tiprire (spooling systems) compatibile BSD. Implementarea folosit difer de la o distribuie la alta, ns compatibilitatea cu sistemul BSD a fost meninut. Acest tip de sistem poate gestiona imprimante multiple, localizate pe maina local sau pe alte maini, i cozi de sarcini (cererile de tiprire sunt stocate n cozi de ateptare, pn cnd dispozitivul periferic le va putea tipri) multiple. Att distribuia Red Hat ct i Mandrake utilizeaz implementarea CUPS (Common UNIX Printing System) sau opional LPRng (LPR New Generation).

6.2. Accesarea de la distan a sistemului: serviciul SSH


Serviciul SSH reprezint o modalitate sigur de conectare de pe alte maini, criptnd informaiile nainte de a fi trimise n reea, prin intermediul unui sistem de chei publice i private, asigurnd confidenialitatea informaiilor. Poate fi utilizat n locul serviciilor nesigure (care transmit informaii necriptate prin reea, acestea putnd fi urmrite cu ajutorul unor programe de capturare a pachetelor, sniffer-ele) precum telnet, FTP sau rlogin. Poate fi folosit, de asemenea, pentru pentru a tunela alte servicii de reea. FreeBSD utilizeaz implementarea serviciului SSH numit OpenSSH. Aceast implementare a fost realizat la nceput pentru OpenBSD, fiind ulterior portat pe majoritatea platformelor. Pentru ca maina s accepte conexiuni SSH, este necesar prezena serviciului.

6.3. Sisteme de fiiere n re ea: NFS


Sistemul NFS (Network File System), implementat pentru prima oar de ctre SUN Microsystems, permite ca un sistem de fiiere s se gseasc fizic pe o alt main dect cea pe care este utilizat, dar s se prezinte utilizatorilor ntocmai ca un director local. Cu alte cuvinte, un sistem de fiiere aflat fizic pe alt main poate fi montat ntrun director din ierarhia local, toate operaiunile asupra acestuia fiind total transparente pentru utilizatori. Este net superior sistemului file sharing din toat gama de sisteme de operare Windows deoarece ofer securitate sporit, fiabilitate mai mare, siguran mai bun a informaiilor (n momentul transferurilor de date se realizeaz verificarea corectitudinii acestora, spre deosebire de sistemele Windows), vitez mai mare de transfer.

6.4. Sistemul de pot electronic


Ca i serviciul FTP, serviciul de pot electronic este unul dintre primele servicii oferite de Internet. Un sistem de pot electronic este alctuit din urmtoarele trei componente: 1. Ageni utilizator (clieni de pot electronic, MUA = Mail User Agent), programe care permit utilizatorilor s citeasc, s emit i s gestioneze mesajele. Programele cele mai des folosite n FreeBSD sunt pine, mutt, elm, Kmail, Evolution, Mozilla Mail etc. 2. Ageni de transport (MTA = Mail Transport Agent), programe responsabile pentru acceptarea mesajelor primite i livrarea acestora la destinaia final. Sistemul sendmail este agentul de transport tradiional din mediile UNIX. Ali ageni de transport sunt postfix, qmail i exim. 3. Ageni de distribuie (MDA = Mail Distribution Agent), programe care direcioneaz mesajele primite ctre csua potal a utilizatorului destinatar (cum ar fi procmail). Cea mai important component a sistemului de pot electronic este agentul de transport. Agenii de transport utilizai de obicei n Linux sunt sendmail (n continuare cel mai rspndit sistem utilizat, dei acesta a suferit, de-a lungul timpului, de numeroase probleme de securitate), postfix i qmail.

6.5. Sistemul numelor de domenii: BIND


Fiecare sistem din cadrul reelei Internet are un nume de main , care, mpreun cu numele domeniului, definete un nume unic al acestuia. Numele de main permit referirea mai uoar a unui calculator, n locul adresei IP a acestuia. Rezolvarea (translarea) n ambele sensuri a numelui, respectiv adresei se realizeaz prin intermediul sistemului numelui de domenii DNS (Domain Names System). Sistemul DNS nu este altceva dect o uria baz de date distribuit, rspndit pe tot globul. Aceasta este implementat de ctre aa-numitele servere DNS, care furnizeaz informaii despre unul sau mai multe domenii, numite i zone. Pentru fiecare zon exist cel puin un server de nume care conine informaiile despre mainile din cadrul domeniului. Primul server este denumit server DNS primar, care descrie zona master, i este acela care ncarc configurrile zonelor DNS din fiierele de configurare, iar celelalte

- servere DNS secundare, care deservesc zonele slave, transfernd informaiile despre zone de la serverul primar. Daemonul ce ofer servicii DNS pe mainile UNIX este named, ce face parte din pachetul BIND (Berkeley Internet Name Domain).

6.6. Serverul HTTP: Apache


Un server HTTP este un daemon care accept conexiuni conforme protocolului HTTP, rspunznd cererilor recepionate de la clieni. Protocolul HTTP (HyperText Transfer Protocol) este un protocol de tip cerere-rspuns, bazat pe TCP/IP, destinat pentru transferurile informaiilor hipermedia. Serverul cel mai utilizat n sistemele de operare UNIX este Apache.

6.7. Serverul FTP


FTP (File Transfer Protocol) este unul dintre cele mai vechi servicii Internet i reprezint cel mai popular mod de transfer al fiierelor de pe un calculator pe altul. Implementri de aplicaii-client i server FTP exist practic pe toate platformele din lume. Implementrile mai des folosite sunt Very Secure FTP daemon, proftpd i wuftpd.

6.8. Execu ia de proceduri automate: cron


Serviciul cron (numit uneori i Vixie Cron) este un daemon care execut comenzi n mod programat, la anumite momente prestabilite de timp.

6.9. Jurnalele sistemului: syslog


Daemonul syslog ofer att aplicaiilor, ct i nucleului Linux posibilitatea de jurnalizare a mesajelor generate (mesaje de eroare, de atenionare, de depanare etc.). Mesajele pot fi trimise ctre maina local sau ctre maini aflate la distan. Fiierele n care sunt jurnalizate aceste mesaje se afl n general n directorul /var/log. Administratorii de sistem pot utiliza aceste fiiere-jurnal pentru a determina problemele de funcionare a serviciilor sistemului, pentru a descoperi ncercrile de atac asupra sistemului sau utilizarea neautorizat a serviciilor acestuia.

6.10. Proxy-uri Web: serverul Squid


Serverele proxy sunt daemoni care au rolul de intermediari, n sensul c primesc cereri de la clieni, pe care le trimit mai departe, ctre alte servere, ascunznd astfel adevrata surs de provenien a cererii. Serverele proxy sunt utilizate n general pentru protocoalele HTTP i FTP.

Sistemul Squid este derivat din proiectul Harvest nceput de ARPA, fiind dezvoltat la National Laboratory for Applied Network Research. Squid suport protocoalele HTTP, HTTPS, FTP i Gopher. Este util i pentru blocarea accesului utilizatorilor la diferite situri.

6.11. Interac iunea cu sistemele Windows: Samba


Samba este un sistem care ofer servicii SMB (numit cteodat i Lan Manager) / CIFS (The Common Internet Filesystem), asigurnd compatibilitatea cu sistemele file sharing sau Microsoft Network (sistemul de partajare a resurselor n reea, transferul de fiiere ntre maini etc., utilizate de sistemele Windows) din MSCLIENT 3.00 pentru DOS, Windows for Workgroups, Windows 95/98/ME, Windows NT, Windows 2000/XP, OS/2, DAVE pentru Macintosh. Este alctuit din dou pri, una de server, care permite folosirea sistemului Linux ca server SMB, putnd nlocui astfel cu succes un server Windows (adic maina va conine resurse cum ar fi directoare, discuri, imprimante care vor putea fi accesate de ctre alte calculatoare), i una de client, care permite accesarea serviciilor SMB oferite de alte maini.

S-ar putea să vă placă și