Sunteți pe pagina 1din 193

Introducere n Linux

Un ghid la ndemn
Machtelt Garrels
Garrels.be

<tille wants no spam _at_ garrels dot be>


Ediia 1.25
Copyright 2002, 2003, 2004, 2005, 2006, 2007 Machtelt Garrels
20070919

Traducere n limba romn: Marian miaumiau Vasile, care mulumete comunitii UBUNTU Romnia
pentru ajutorul pe care l-a primit din momentul n care a descoperit acest sistem de operare i Grupului
pentru software liber pentru promovarea programelor surs deschis.

Introducere
1. De ce acest ghid?
Muli oameni tot mai cred despre Linux c este dificil de nvat sau c numai experii pot nelege
cum lucreaz un sistem Linux. Dei exist mult documentaie disponibil gratuit, aceast documentaie este
mprtiat pe web i, cteodat, este dificil de neles, deoarece este orientat de regul ctre utilizatori
experimentai de UNIX sau Linux. Astzi, mulumit eforturilor depuse n dezvoltare, Linux-ul a ctigat
popularitate att n mediul familial, ct i la locurile noastre de munc. elul acestui ghid este acela de a
arta oamenilor de toate vrstele c Linux-ul poate fi simplu, amuzant i folositor multor scopuri.

2. Cine ar trebui s citeasc acest ghid?


Acest ghid a fost scris ca o trecere n revist a sistemului de operare Linux, orientat ctre
utilizatori noi, crora s le serveasc drept ndrumtor ntr-o explorare a Linux-ului, cu exerciii la sfritul
fiecrui capitol. Cei care sunt mai avansai pot apela la el pentru revizuirea i mprosptarea cunotinelor,
deoarece conine noiunile de baz, care sunt necesare n administrarea sistemelor i reelelor. El conine
multe exemple izvorte din experiena de administrator de sistem i reele Linux, de ndrumtor i consultant
a celei care a scris acest ghid. Noi sperm c aceste exemple v vor ajuta s nelegei mai bine sistemele
Linux i c vei ncerca aceste lucruri pe calculatoarele voastre.
Oricine dorete s capete experien n utilizarea liniei de comand din Linux (i, n general, UNIX)
va gsi acest ghid ca fiind foarte folositor.

3. Versiuni noi i disponibilitate


Acest document este publicat n seciunea Ghiduri (Guides) a Proiectului pentru documentaie
Linux (Linux Documentation Project) la adresa http://www.tldp.org/guides.html; l putei descrca, de
asemenea, n format PDF i PostScript de la aceeai adres.
Cea mai recent ediie este disponibil la http://tille.garrels.be/training/tldp/.
Cea de-a doua ediie a ghidului este disponibil ca material tiprit la Fultus.com Books ca Print On
Demand (tipritur la cerere). Fultus distribuie acest ghid prin Ingram and Baker & Taylor ctre multe librrii,
printre care Amazon.com, Amazon.co.uk, BarnesAndNoble.com and Google's Froogle, portalul global pentru
cumprturi, i Google Book Search.
Figura 1. Coperta ghidului

Acest ghid a fost tradus n hindu (http://www.geocities.com/linuxparichay/) de :

Alok Kumar
Dhananjay Sharma
Kapil
Puneet Goel
Ravikant Yuyutsu

Andrea Montagner a tradus acest ghid n limba italian. El se


http://www.codex.altervista.org/introlinux.html.

gsete la adresa de web

4. Revizuiri
Versiunea 1.26
19-09-2007
Comentarii de la cititori, liceniere.

Revizuit de: MG

Versiunea 1.25
11-05-2007
Revizuit de: MG
Comentarii de la cititori, actualizri minore, eticheta n utilizarea e-mail-ului , informaii la zi despre
disponibilitate (mulumiri lui Oleg).
Versiunea 1.24
01-11-2006
Revizuit de: MG
Adugai termeni ai index-ului, pregtire pentru cea de-a doua ediie tiprit, adugate informaii
despre gpg (general public licence) i proxy-uri.
Versiunea 1.23
25-07-2006
Revizuit de: MG i FK
Actualizri i corecturi, scos appendix-ul 5 din nou, modificarea licenei pentru a permite includerea
n documentaia Debian.
Versiunea 1.22
06-04-2006
Revizuit de: MG
Capitolul 8 revizuit complet, capitolul 10: clarificate exemplele, adugate informaii despre ifconfig
i cygwin, revizuit seciunea despre network apps.
Versiunea 1.21
14-03-2006
Revizuit de: MG
Adugate exerciii n capitolul 11, corectate erorile n seciunea newline, completate comenzile din
capitolul 9, corecii minore n capitolul 10.
Versiunea 1.20
06-01-2006
Revizuit de: MG
mprit capitolul 7: seciunea despre audio se gsete acum n capitol separat, capitolul 11.
Revizuiri minore, actualizri pentru comenzi ca aptitude, mai multe despre mediile de stocare USB, telefonie
Internet, corecturi de la cititori.
Versiunea 1.13
27-04-2004
Revizuit de: MG
Corecturi de ultim moment nainte de a trimite materialul ctre Fultus pentru tiprire. Adugarea
referinelor Fultus n seciunea Revizuiri, revizuirea seciunilor Convenii i Organizare. Schimbri minore n
capitolele 4, 5, 6 i 8, adugarea informaiilor despre rdesktop n capitolul 10, revizuirea glosarului, nlocuirea
referinelor despre fileutils cu cele pentru coreutils, mulumiri ctre translatorii pentru limba hindu.

5. Contribuii
Mulumesc din inim tuturor oamenilor care i-au mprtit experiena lor. i, n special,
utilizatorilor de Linux belgieni, care au fost disponibili zi de zi i care au trimis comentariile lor foarte
folositoare.
De asemenea, un gnd bun ctre Tabatha Marshall, pentru c a fcut o revizuire complet,
corectur gramatical i de stil, i ctre Eugen Crosser, care a observat erorile trecute cu vederea de ctre
noi dou.
Mulumesc i tuturor cititorilor care m-au atenionat despre topicuri ce nu se regseau n ghid i
care m-au ajutat s rectific greelile i definiiile confuze, pentru c au gsit timp s-mi trimit remarcile lor.
Acetia sunt oamenii pentru care m strduiesc s menin acest ghid la zi, precum Filipus Klutiero, care a
3

fcut o revizuire complet n 2005 i 2006 i care m-a ajutat s includ ghidul n colecia de documentaie
Debian, i Alexey Eremenko, care mi-a trimis bazele de la care a plecat capitolul 11.
n 2006, Suresh Rajashekara a realizat un pachet Debian pentru aceast documentaie.
n sfrit, multe mulumiri ctre voluntarii care traduc acest ghid n limbile francez, suedez, farsi,
hindu i altele. Este o munc grea care nu ar trebui subestimat; v admir curajul.

6. Feedback (Reacii i comentarii de la cititori)


Informaii lips, legturi inexistente, greeli de tipar? Trimitei un mail ctre autoare la: <tille wants
no spam _at_ garrels dot be>.
Nu uitai s verificai
http://tille.garrels.be/training/tldp/.

mai

nti

ultima

versiune

disponibil,

la

adresa

de

Internet

7. Informaii despre copyright

Logo-urile, mrcile i simbolurile utilizate n acest ghid sunt proprietatea respectivilor deintori.

8. Ce v trebuie?
Avei nevoie de un calculator i un mediu care s conin o distribuie de Linux. Cea mai mare
parte a acestui ghid este valabil tuturor distribuiilor de Linux i UNIX, n general. La acest moment, nu
exist alte cerine.
Capitolul CUM S instalm conine informaii folositoare despre obinerea sistemului de operare
Linux i instalarea acestuia n calculator. Cerinele de hardware i coexistena cu alte sisteme de operare vor
fi, de asemenea, discutate.
4

Imaginile CD-urilor pot fi descrcate de la http://www.linux-iso.com/ i din alte locuri, prezentate n


Appendix A.
O alternativ interesant pentru cei care nu vor s fac pasul ctre o instalare a Linux-ului pe
calculatorul lor este cea a distribuiilor de Linux care pot rula i de pe CD, precum Knoppix
(http://www.knoppix.com/) sau Ubuntun.t. (http://www.ubuntu.com/ ).

9. Convenii utilizate n acest document


Urmtoarele convenii folositoare sunt utilizate n acest text:
Tabelul 1. Convenii utilizate n acest ghid
Text citat

Consideraii de la cititori, evidenierea unui rspuns al calculatorului.

captur din Terminal

Captur de text introdus sau afiat n Terminal, evideniat, de regul, de un fond


gri deschis.

comand

Numele unei comenzi care poate fi introdus n linia de comand.

VARIABIL

Numele unei variabile sau al unui indicator ce conine o variabil, precum n


$VARNAME

opiune

Opiune a unei comenzi, precum n: opiunea -a a comenzii ls.

argument

Argumentul unei comenzi, precum n citete man ls.

prompt

Prompterul utilizatorului, urmat, de regul, de o comand pe care ai introdus-o


n Terminal, precum n hilda@home>ls -l

comand
opiune argumente

Sintaxa unei comenzi, scris ca linie separat.

nume_fiier

Numele unui fiier sau director, de exemplu Mergei la directorul /usr/bin.

Tast

Taste care trebuie apsate, precum n tastai Q pentru renunare.

Buton

Buton grafic care trebuie apsat, precum butonul OK.

MeniuAlege

Alegere fcut dintr-un meniu grafic, de exemplu: Selectai Ajutor Despre


Mozilla din browser-ul (navigatorul) dumneavoastr.

Terminologie

Termen sau concept important: Kernelul Linux este inima sistemului.

Acest caracter, ntr-o captur din Terminal sau sintax de comand, indic o
linie neterminat. Cu alte cuvinte, dac vedei o comand mai lung, care este
prezentat n mai multe linii, \ nseamn Nu tastai nc Enter.
Sunt utilizate i urmtoarele imagini:
Aceasta este o not. Conine informaii adiionale sau anumite remarci.
Aceasta este o atenionare. nseamn s fii ateni.
Aceasta este o avertizare. nseamn s fii foarte ateni.
Sfaturi.

10. Organizarea acestui document


Acest ghid este parte a Proiectului de documentaie pentru Linux i se dorete a fi punctul de
plecare n studierea celorlalte materiale pe care le putei gsi n cadrul acestui proiect. Ca atare, v ofer
cunotinele de baz necesare oricrei persoane care dorete s nceap s lucreze cu un sistem Linux,
ncercnd, n acelai timp, s evite a inventa din nou apa cald. De aceea, ateptai-v ca acest ghid s nu
fie complet, ci plin de legturi ctre surse adiionale de informaii despre sistemul dumneavoastr, pe Internet
i ctre documentaia specific sistemului dumneavoastr.

Primul capitol este o introducere n subiectul Linux; n urmtoarele dou se discut comenzile de
baz. n capitolele 4 i 5 se discut despre subiecte ceva mai avansate, dar, totui, de baz. De capitolul 6
avei nevoie pentru a continua cu restul, ntruct se discut despre editarea fiierelor, o abilitate de care avei
nevoie pentru a face trecerea de la nou n Linux, ctre utilizator de Linux. Capitolele urmtoare trateaz
subiecte mai avansate, de care avei nevoie n utilizarea de zi cu zi a Linux-ului.
Toate capitolele au exerciii care v testeaz pregtirea n vederea abordrii urmtorului nivel.

Capitolul 1: Ce este Linux-ul, cum a aprut el, avantaje i dezavantaje, ce va aduce viitorul pentru
Linux, cine ar trebui s-l foloseasc, instalarea n calculatorul dumneavoastr.

Capitolul 2: S ncepem, autentificarea la sistem, comenzile de baz, unde s cutm ajutor.


Capitolul 3: Sistemul de fiiere, fiiere i directoare importante, lucrul cu fiierele i directoarele,

protejarea datelor.
Capitolul 4: nelegerea proceselor i lucrul cu acestea, procedurile de pornire i nchidere,
amnarea sarcinilor, sarcini repetitive.
Capitolul 5: Ce este o intrare standard, o ieire i o eroare i cum sunt folosite aceste elemente din
prompterul de comand.
Capitolul 6: De ce ar trebui s nvai s lucrai cu un editor de text, discutarea celor mai comune
editoare de text.
Capitolul 7: Configurarea mediului dumneavoastr, grafic, text sau audio, setri pentru utilizatorii de
Linux pentru care engleza nu este limba matern, sfaturi pentru adugarea altor programe.
Capitolul 8: Convertirea fiierelor n format pentru tiprire, scoaterea acestora la imprimant, sfaturi
pentru rezolvarea problemelor legate de tiprire.
Capitolul 9: Pregtirea datelor pentru copiile de rezerv, discutarea diverselor unelte, copii de
rezerv la distan.
Capitolul 10: Trecerea n revist a uneltelor de reea ale Linux-ului i a aplicaiilor pentru utilizatori,
cu o scurt discuie axat pe programele tip servicii (service daemon) i reea securizat.
Capitolul 11: Sunet i video, incluznd aici Voice over IP i nregistrarea sunetului.
Appendix A: Ce cri s citii i ce saituri s vizitai dup terminarea acestei cri.
Appendix B: O comparaie.
Appendix C: Dac v blocai, acest tabel poate fi de ajutor. De asemenea, un bun argument atunci
cnd eful insist ca DUMNEAVOASTR s folosii shell-ul SU favorit.

Capitolul 1. Ce este Linux-ul?


Vom ncepe cu o trecere n revist a modului n care Linux-ul a devenit sistemul de operare aa
cum l cunoatem astzi. Vom discuta despre trecut i despre dezvoltarea acestui sistem pe viitor i ne vom
apleca asupra avantajelor i dezavantajelor lui. Vom vorbi despre distribuii, despre Sursa deschis n
general i vom ncerca s explicm pe scurt ce este GNU.
Acest capitol rspunde la ntrebri precum:

Ce este Linux-ul?
Unde i cum a luat natere Linux-ul?
Nu este Linux-ul acel sistem n care totul este fcut n modul text?
Are Linux-ul viitor, sau este doar o fantezie?
Care sunt avantajele utilizrii Linux-ului?
Care sunt dezavantajele?
Cte feluri de Linux exist i cum aleg ceea ce mi se potrivete mie?
Ce sunt micrile Sursa deschis i GNU?

1.1. Istoric
1.1.1. UNIX
Pentru a nelege popularitatea Linux-ului, trebuie s cltorim napoi n timp, cu aproape 30 de
ani...
Imaginai-v calculatoare att de mari precum casele sau chiar stadioanele. n timp ce doar
mrimea acestora ridica probleme substaniale, exista ceva care fcea ca totul s fie i mai ru: fiecare
calculator avea un sistem de operare diferit. Programele erau ntotdeauna dedicate unui scop anume, iar un
program pentru un anume sistem nu rula pe un altul. A fi capabil s lucrezi cu un sistem nu nsemna c,
automat, poi lucra cu un altul. Era dificil, att pentru utilizatori, ct i pentru administratorii de sistem.
Calculatoarele erau deosebit de scumpe, iar sacrificii tot trebuiau fcute i dup achiziionarea
acestora, doar pentru a face utilizatorii s neleag modul de lucru al acestor maini. Costul total pe unitatea
de calcul era enorm.
Din punct de vedere tehnologic, lumea nu era att de avansat, aa c mrimea a mai pus
probleme pentru nc o decad. n 1969, o echip de dezvoltatori de la laboratoarele Bell Lab a nceput s
lucreze la o soluie pentru problema programelor, pentru a rezolva aspectele de compatibilitate. Ei au
dezvoltat un nou sistem de operare, care era:
1. Simplu i elegant.
2. Scris n limbajul de programare C n locul limbajului de asamblare.
3. Capabil s recicleze codul.
Dezvoltatorii de la Bell Labs au numit acest proiect UNIX.
Capabilitatea de reciclare a codului era foarte important. Pn atunci, toate sistemele de operare
comerciale care se gseau erau scrise ntr-un cod dezvoltat pentru un anume sistem. UNIX-ul, pe de alt
parte, avea nevoie doar de o poriune mic a acelui cod, care este numit acum kernel. Acest kernel este
singura poriune de cod care trebuie adaptat pentru un anume sistem i formeaz baza unui sistem UNIX.
Sistemul de operare i celelalte funcii au fost construite n jurul acestui kernel i scrise ntr-un limbaj de
programare mai evoluat, C.
Acest limbaj a fost dezvoltat n mod special pentru realizarea sistemului UNIX. Utiliznd noua
tehnic, a fost mult mai uor s se dezvolte un sistem de operare care s ruleze pe echipamente diferite.
Comercianii de programe s-au adaptat repede, deoarece puteau acum s vnd de zeci de ori
mai mult, aproape fr efort. Situaii noi i ciudate au aprut: imaginai-v de exemplu calculatoare de la
diferii productori care comunic n aceeai reea, sau utilizatori care lucreaz pe maini diferite fr a avea
nevoie de instruire. UNIX-ul a ajutat mult pe utilizatori n privina compatibilitii cu calculatoare diferite.
Pe parcursul urmtoarelor dou decade, dezvoltarea UNIX-ului a continuat. Mai multe lucruri au
7

devenit posibile, iar din ce n ce mai muli productori de echipamente i programe au adugat suport pentru
UNIX n produsele lor.
UNIX-ul se gsea iniial numai n medii dedicate, alctuite din servere i minicalculatoare (luai not
de faptul c PC-ul este un micro calculator). Trebuia s lucrezi ntr-o universitate, pentru guvern sau pentru
o mare corporaie financiar pentru a atinge un sistem UNIX.
Dar calculatoare mai mici au aprut treptat i, pe la sfritul anilor 80, muli oameni aveau
calculatoare acas. La acel timp, existau cteva versiuni de UNIX destinate arhitecturii PC, dar nici una din
ele nu era cu adevrat liber sau gratuit i, ceea ce era mai important: toate erau extrem de ncete, aa c
cei mai muli oameni rulau MS DOS sau Windows 3.1 pe calculatoarele de acas.

1.1.2. Linus i Linux


Pe la nceputul anilor 90, calculatoarele din segmentul PC erau, n sfrit, suficient de puternice
pentru ca s ruleze un UNIX n ntregime. Linus Torvalds, un tnr care studia informatica la Universitatea
din Helsinki, s-a gndit c ar fi o idee bun s aib un fel de versiune academic liber a UNIX-ului i s-a
apucat s scrie cod pentru aceasta.
El a nceput s pun ntrebri, s caute rspunsuri i soluii care l-ar putea ajuta s aib UNIX-ul
pe calculatorul su. Mai jos v prezentm una din primele sale postri n comp.os.minix, datnd din 1991:

nc de la nceput, elul lui Linus a fost s aib un sistem care s fie pe deplin compatibil cu UNIXul original. De aceea ntreba despre standardul POSIX, acesta fiind i acum standardul pentru UNIX.
n acele zile nu se inventase nc ceea ce cunoatem azi a fi plug-and-play, dar destul de muli
oameni doreau un sistem UNIX al lor, nct acest lucru era considerat doar un mic obstacol. Drivere noi
pentru tot felul de dispozitive au devenit disponibile, cu o vitez din ce n ce mai mare. Aproape c de ndat
ce un nou dispozitiv era scos pe pia, cineva l cumpra i l supunea testrii n Linux, dup cum a nceput
s fie cunoscut sistemul, conducnd la apariia codului liber destinat unei palete largi de echipamente. Aceti
programatori nu se opreau la propriul PC; orice dispozitiv gseau era folositor Linux-ului.
Pe atunci, aceti oameni erau numii ncuiai sau ciudai, dar asta nu conta pentru ei, att timp
ct lista cu dispozitivele suportate devenea din ce n ce mai lung. Mulumit acestor oameni, Linux-ul nu
numai c ruleaz ideal pe un calculator nou, dar este i singura alegere n cazul unor dispozitive vechi sau
exotice, care ar fi inutilizabile dac Linux-ul nu ar fi existat.
La doi ani dup aceast postare a lui Linus, existau 12000 de utilizatori de Linux. Proiectul, popular
printre hobiti, a crescut constant, rmnnd n permanen n graniele standardului POSIX. Toate
capabilitile UNIX-ului au fost adugate pe parcursul urmtorilor doi ani, rezultnd sistemul de operare
matur care este astzi. Linux-ul este o clon complet a UNIX-ului, potrivit pentru staiile de lucru, dar i
pentru zona de mijloc sau sectorul de vrf al serverelor. n zilele noastre, muli juctori importani de pe piaa
de dispozitive i programe au propriile echipe de dezvoltatori Linux. Din magazinele aflate n zona
dumneavoastr putei chiar cumpra sisteme care au Linux-ul preinstalat, cu suport tehnic asigurat, dup
cum este adevrat i faptul c exist dispozitive i programe care nu sunt nc integrate.

1.1.3. Aplicaii curente pentru sisteme Linux


Astzi, Linux-ul s-a alturat produselor aflate pe piaa pentru desktop-uri. Dezvoltatorii de Linux,
concentrai n reelistic i servicii la nceput, ct i n aplicaiile pentru birou, erau ultima barier care trebuia
nlturat. Nu ne place s admitem c Microsoft dicteaz piaa, aa c mai multe alternative, care fac Linuxul o alegere demn de luat n seam pentru calculatoare personale, au fost lansate pe parcursul ultimilor ani,
alternative care asigur o interfa cu utilizatorul uor de utilizat i aplicaii pentru birou compatibile cu MS
8

Office, precum procesoare de text, foi pentru calcul tabelar, prezentri i altele de acest gen.
n ceea ce privete serverele, Linux-ul este binecunoscut ca o platform stabil i de ncredere,
asigurnd baze de date i servicii de comer pentru companii precum Amazon, faimoasa librrie online,
Serviciul potal al S.U.A., Armata german, i multe altele. n special, furnizorii de Internet i furnizorii de
servicii pe Internet s-au dezvoltat ajutai de Linux ca firewall, server proxy sau web; vei gsi un sistem Linux
la ndemna oricrui administrator de sisteme UNIX, care l apreciaz drept o staie confortabil de
gestionare. Sistemele Linux au fost folosite n realizarea unor filme ca Titanic, Shrek i altele. n oficiile
potale, ele sunt centrii nervoi care sorteaz corespondena, iar n marile motoare de cutare ele sunt
folosite pentru a realiza cutrile pe Internet. Acestea sunt doar cteva din miile de lucruri complexe pe care
le realizeaz Linux-ul zi de zi, n toat lumea.
Este demn de menionat c Linux-ul modern nu ruleaz numai pe staii de lucru i servere din
sectoarele de mijloc sau de vrf, ci i pe gadgeturi ca PDA-uri, telefoane mobile, multe echipamente
dedicate, chiar i pe ceasuri de mn experimentale. Acest lucru face din Linux singurul sistem de operare
din lume care acoper o att de larg varietate de echipamente.

1.2. Interfaa cu utilizatorul


1.2.1. Este Linux-ul dificil?
Rspunsurile la aceast ntrebare difer n funcie de cui te adresezi. Utilizatorii de UNIX vor spune
nu, deoarece Linux-ul este sistemul de operare ideal pentru utilizatori avansai i programatori, pentru c a
fost i este dezvoltat de ctre astfel de oameni.
Tot ceea ce are nevoie un bun programator gsii aici: compilatoare, librrii, unelte pentru
dezvoltare i reparare de erori. Aceste pachete vin cu orice distribuie standard de Linux. Compilatorul C
inclus este gratuit lucru opus multor distribuii de UNIX, care impun o tax de licen pentru aceast
unealt. Toat documentaia i manualele sunt incluse, iar adesea sunt oferite i exemple, pentru a v ajuta
s ncepei imediat. Este perceput ca un UNIX, iar trecerea de la UNIX la Linux este un lucru natural.
n zilele de nceput ale Linux-ului, a fi expert era un fel de cerin pentru a ncepe s utilizezi
sistemul. Cei care stpneau Linux-ul se simeau superiori celorlali care nu fuseser iluminai...S spui
unui nceptor RTFM (adic s citeasc ... manualele) era o practic des ntlnit la acea vreme. Manuale
erau n orice sistem, dar documentaia era greu de gsit, i chiar dac cineva o gsea, explicaiile erau date
n termeni att de tehnici, nct un nceptor era repede descurajat din nvarea sistemului.
Comunitatea din jurul Linux-ului a nceput s neleag c, dac se dorea ca Linux-ul s devin un
juctor important de piaa sistemelor de operare, atunci trebuia s apar schimbri serioase n
accesibilitatea acestui sistem.

1.2.2. Linux pentru utilizatorii fr experien


Au aprut companii precum RedHat, SuSE i Mandriva, care au furnizat distribuii de Linux
pregtite pentru consumul de mas. Ele au integrat n acestea interfaa grafic cu utilizatorul (GUI),
dezvoltat de ctre comunitate, n ideea de a uura gestionarea programelor i serviciilor. Ca utilizatori ai
Linux-ului din zilele noastre, avei toate mijloacele prin care s v cunoatei sistemul din toate punctele de
vedere, dar nu mai este necesar s facei asta pentru a comunica sistemului cererile dumneavoastr.
Acum v putei autentifica n modul grafic i lansa toate aplicaiile necesare fr s fii nevoii s
introducei comenzi de la tastatur, avnd, n acelai timp, posibilitatea de a accesa inima sistemului, dac
este necesar. Datorit structurii sale, Linux-ul permite utilizatorilor s descopere gradual posibilitile
sistemului: se adreseaz n aceeai msur utilizatorilor nceptori i celor experimentai. Noii venii nu sunt
forai s fac lucruri dificile, iar utilizatorii experimentai nu sunt forai s lucreze n acelai mod n care au
nceput s nvee despre Linux.
n timp ce dezvoltrile n acest domeniu continu, lucruri importante au fost fcute pentru utilizatorii
de calculatoare personale, considerai a fi cei care cunosc cel mai puin modul de funcionare al unui sistem.
Dezvoltatorii de aplicaii pentru PC fac eforturi incredibile pentru a realiza cel mai frumos spaiu de lucru sau
pentru a face ca sistemul dumneavoastr Linux s arate ca fostul MS Windows sau Apple. Ultimele versiuni
includ suport pentru acceleraie 3D i pentru dispozitive USB, realizarea de actualizri ale sistemului sau
pachetelor printr-o singur apsare a butoanelor mausului, i altele de acest fel. Linux-ul are toate aceste
9

lucruri i se ncearc prezentarea tuturor serviciilor disponibile ntr-o nfiare logic pe care i oamenii
obinuii o pot nelege. Mai jos este o list care conine cteva exemple excepionale; aceste saituri au
multe capturi de ecran care v vor oferi o idee despre cum poate arta un Linux pe un calculator personal:

http://www.gnome.org
http://www.kde.org/screenshots/
http://www.openoffice.org
http://www.mozilla.org
http://www.ubuntu.comn.t

1.3. Are Linux-ul viitor?


1.3.1. Sursa deschis
Ideea din spatele programelor Surs deschis este una destul de simpl: atunci cnd programatorii
pot citi, distribui i schimba codul, codul se va maturiza. Oamenii l pot adapta, repara, explora defectele i
pot face aceste lucruri la o vitez care spulber performanele dezvoltatorilor de programe din cadrul
companiilor convenionale. Aceste programe vor fi mai flexibile i de o calitate mai bun dect programele
care au fost dezvoltate pe canale convenionale, deoarece le-au testat mai multe persoane, n condiii diferite
de cele n care dezvoltatorii de programe proprietare pot s o fac.
Iniiativa Surs deschis (Open Source) a nceput s se impun n lumea comercial i, foarte
ncet, distribuitorii neleg punctul de vedere al acesteia. n timp ce muli oameni din lumea academic i
tehnic erau deja convini de aproape 20 de ani c acesta este drumul de urmat, distribuitorii din lumea
comerului au avut nevoie de aplicaii ca Internetul pentru a realiza c i ei pot profita de pe urma Sursei
deschise. Acum Linux-ul a trecut de stadiul n care era un sistem aproape exclusiv academic, folositor doar
unei mini de oameni cu aptitudini tehnice.
Linux-ul asigur mai mult dect un sistem de operare: exist o ntreag infrastructur care susine
efortul concentrat necesar realizrii unui sistem de operare, scrierii i testrii de programe pentru acesta,
aducerii roadelor ntregului efort ctre utilizatori, asigurarea ntreinerii, suportului, actualizrilor i
personalizrilor, etc. Astzi, Linux-ul este gata s accepte provocrile unei lumi aflate ntr-o transformare
rapid.

1.3.2. Zece ani de experien la dispoziia dumneavoastr


Pe cnd Linux-ul este, probabil, cea mai bine cunoscut iniiativ a Sursei deschise, exist un alt
proiect care a contribuit enorm la popularitatea sistemului Linux. Acest proiect poart numele de SAMBA i
contribuia lui este aplicarea ingineriei inverse asupra protocolului Server Message Block (SMB)/Common
Internet File System (CIFS), utilizat la gestionarea fiierelor i tipririi pe mainile compatibile PC, integrat
nativ de MS Windows NT i OS/2, precum i de Linux. Sunt disponibile pachete pentru aproape orice sistem,
ele asigurnd soluii de interconectare n medii diferite, folosind protocoalele MS Windows: cu servere pentru
transfer de fiiere i servere pentru tiprire, compatibile cu Windows (incluznd WinXP).
Poate c mai de succes dect proiectul SAMBA este proiectul pentru server Apache HTTP.
Serverul ruleaz pe UNIX, Windows NT i multe alte sisteme de operare. Cunoscut la nceput ca serverul A
PatCHy, pe baza unui cod existent i a unei serii de fiiere de peticire, numele pentru codul ajuns la
maturitate merit s fie legat de tribul de americani nativi Apache, bine cunoscui pentru nsuirile lor
superioare n strategia confruntrilor i adaptarea extraordinar la mediu.
Apache s-a dovedit a fi mult mai rapid, mai stabil i ofer mai multe faciliti dect alte programe
pentru servere web. Apache ruleaz pe saituri care au milioane de vizitatori pe zi, n timp ce nu este asigurat
suport oficial din partea dezvoltatorilor, ns rspunsuri la problemele ntlnite sunt furnizate de comunitatea
utilizatorilor. Asisten contra cost este asigurat de tere pri.
n categoria aplicaiilor pentru birou, sunt disponibile cteva clone ale suitei MS Office, care merg
de la o implementare parial pn la cea total a programelor existente pe staiile de lucru MS Windows.
Aceste iniiative au ajutat mult Linux-ul n efortul de a se face acceptabil pentru piaa calculatoarelor
personale, deoarece utilizatorii nu au nevoie de pregtire suplimentar pentru a lucra cu noile sisteme.
10

Odat cu pachetele pentru calculatoarele personale vine i atenia acordat utilizatorilor de rnd, manifestat
i prin implementarea cererilor acestora, care devin mai complexe i mai solicitante pe zi ce trece.
Comunitatea Sursei deschise, format n principal din oameni care au contribuit mai bine de
jumtate de deceniu, garanteaz poziia de juctor important a Linux-ului pe piaa calculatoarelor personale,
precum i pe cea a aplicaiilor generale din domeniul IT. Angajai pltii, mpreun cu voluntari, lucreaz cu
srguin pentru ca Linux-ul s-i menin poziia pe pia. Mai muli utilizatori nseamn mai multe ntrebri.
Comunitatea Sursei deschise se asigur c rspunsurile vin nencetat i supravegheaz calitatea acestor
rspunsuri cu o atitudine critic, adugnd astfel mai mult stabilitate i accesibilitate.
Acest ghid nu i propune s listeze toate programele existente pentru Linux, deoarece exist zeci
de mii de pachete. Prin acest curs v vom prezenta cele mai utilizate pachete, care sunt aproape n totalitate
disponibile gratuit. Pentru a v elibera de teama pe care o simte un utilizator nceptor, v prezentm o
captur a unui program foarte dorit de dumneavoastr. Putei observa c au fost depuse toate eforturile
pentru ca cei care renun la Windows s se simt ca acas:
Figura 1-1. Foi de calcul OpenOffice compatibile cu MS Office

1.4. Proprietile Linux-ului


1.4.1. Avantajele Linux-ului
Multe din avantajele Linux-ului sunt o consecin a originilor sale, cu rdcini adnci n UNIX, cu
excepia primului, desigur:
Linux-ul este gratuit.
Precum berea moca, se spune. Dac nu dorii s cheltuii nimic, nu trebuie s pltii nici mcar
preul unui CD gol. Linux-ul poate fi descrcat n ntregime de pe Internet absolut gratuit. Nu exist taxe de
nregistrare, costuri pe numr de utilizatori, iar actualizrile sunt gratuite i codul surs este disponibil n
cazul n care dorii s schimbai comportamentul sistemului.
Mai mult, Linux-ul este gratuit i liber, dup cum se afirm mai jos:
Licena folosit n general este Licena public GNU (GPL). Ea spune c oricine dorete s
schimbe Linux-ul i s, eventual, redistribuie aceast versiune modificat, are acest drept, cu o singur
condiie, anume codul surs s fie disponibil i dup modificare. Concret, asta nseamn c putei lua o
imagine a kernelului, s-i adugai, de exemplu, suport pentru un dispozitiv de teleportare sau de cltorie n
timp i s vindei acest nou cod att timp ct clienii dumneavoastr pot avea o copie a acestui cod.
Linux-ul poate fi portat pe orice fel de dispozitive.
Un vnztor care dorete s comercializeze un tip nou de procesor i care nu tie ce fel de sistem
de operare va rula pe acest echipament (s spunem c este vorba despre un procesor instalat n
autoturismul dumneavoastr sau n maina de splat vase), poate lua i adapta echipamentului su un
11

kernel Linux, deoarece documentaia necesar este disponibil.


Linux-ul este fcut pentru a funciona nentrerupt.
La fel ca UNIX-ul, un sistem Linux este fcut pentru a rula fr s fim nevoii s-l repornim tot
timpul. De aceea, o mulime de sarcini sunt executate noaptea sau programate automat pentru momentele
de acalmie, ceea ce nseamn o mai mare disponibilitate pe parcursul perioadelor mai solicitante i o folosire
echilibrat a sistemului. Aceast proprietate permite Linux-ului s fie potrivit pentru situaii n care oamenii nu
au timpul sau posibilitatea de a controla sistemele lor zi i noapte.
Linux-ul este de ncredere i versatil.
Modelul de securitate folosit pentru Linux este bazat pe conceptul de siguran din UNIX, despre
care se tie c este robust i de o calitate dovedit odat cu trecerea timpului. Dar Linux-ul nu este potrivit
doar ca fortrea mpotriva atacurilor de pe Internet: el se va adapta n mod egal oricrei situaii, ns
folosind aceleai standarde ridicate n privina securitii. Staia dumneavoastr folosit la dezvoltarea de
programe sau pentru controlul reelei va fi la fel de securizat precum firewall-ul.
Linux-ul este scalabil.
De la un dispozitiv Palmtop cu 2 MO de memorie la un mediu de stocare de ordinul petaocteilor,
care nglobeaz sute de noduri: adugai sau ndeprtai pachetele potrivite i Linux-ul se va potrivi tuturor.
Nu mai avei nevoie de un supercalculator, deoarece putei folosi Linux-ul pentru lucruri deosebite, apelnd
doar la pachetele furnizate mpreun cu sistemul. Dac dorii s facei lucruri mai puin solicitante, ca, de
exemplu, s realizai un sistem de operare pentru un procesor dedicat sau s refolosii vechea
dumneavoastr main 486, Linux-ul va putea fi folosit i pentru aceste lucruri.
Sistemul de operare Linux i cele mai multe aplicaii pentru acesta se bucur de un timp
scurt n care sunt puse la punct deficienele semnalate.
Deoarece Linux-ul este dezvoltat i testat de mii de oameni, att erorile, ct i cei care le pot
repara sunt foarte uor de gsit. Adesea se ntmpl s treac doar cteva ore ntre descoperirea i
repararea unei erori.

1.4.2. Dezavantajele Linux-ului


Se poate spune c exist prea multe distribuii.
Cte capete, attea preri, spune un vechi proverb roman. Cu ct mai muli oameni sunt implicai,
vor exista mai multe preri. La o prim vedere, numrul distribuiilor de Linux poate prea nspimnttor
sau ridicol, n funcie de convingerile fiecruia. Dar nseamn i c oricine poate gsi tot ceea ce dorete. Nu
trebuie s fii un expert pentru a gsi ceea ce vi se potrivete.
Atunci cnd ntrebai un utilizator de Linux care este cea mai bun distribuie, n general vi se va
rspunde c aceea pe care o folosete el . Aa c pe care s o alegei? Nu v batei capul prea mult cu
acest lucru: toate distribuiile conin, mai mult sau mai puin, acelai set de pachete de baz. Peste aceast
baz sunt adugate programe speciale de la tere pri, pentru a face, de exemplu, TurboLinux mai potrivit
pentru ntreprinderi mici i mijlocii, RedHat pentru servere i SuSE (sau Ubuntu n.t.) pentru staiile de lucru.
Totui, diferenele sunt mai degrab superficiale. Cea mai bun strategie este s testai mai multe distribuii;
din nefericire, nimeni nu are timp pentru aa ceva. Exist ns multe sfaturi pe marginea subiectului alegerii
Linux-ului.
O cutare rapid pe Google (http://www.google.com/linux) folosind cuvintele cheie alegei-v
distribuia, va returna zeci de legturi ctre sfaturi demne de luat n considerare. Capitolul CUM S instalm
va discuta, de asemenea, despre alegerea distribuiei.
Linux-ul nu este foarte prietenos cu utilizatorii, fiind considerat confuz de ctre cei
nceptori.
Trebuie spus c Linux-ul i, n special, inima sistemului, sunt mai greu accesibile utilizatorilor dect
MS Windows, chiar mai greu accesibile dect MacOS, dar, pentru a-i spori popularitatea, au fost depuse
eforturi considerabile pentru a face Linux-ul mai uor de folosit de ctre utilizatorii nceptori. Zilnic sunt puse
la dispoziie din ce n ce mai multe informaii, precum acest ghid, pentru a ajuta la umplerea golurilor din
documentaia existent pentru utilizatorii de toate nivelurile.
Sunt produsele Sursei deschise demne de ncredere?
Cum poate ceva care este gratuit, s fie i de ncredere? Utilizatorii de Linux au mcar libertatea
de a alege dac s foloseasc Linux sau nu, ceea ce le ofer un avantaj major n comparaie cu utilizatorii
programelor proprietare, care nu se bucur de acest gen de libertate.
Dup ndelungi perioade de testare, cei mai muli utilizatori ai Linux-ului au ajuns la concluzia c
Linux-ul nu este doar la fel de bun, fiind chiar, n multe cazuri, mai bun i mai rapid dect soluiile
tradiionale. Dac Linux-ul nu ar fi demn de ncredere, ar fi disprut de mult vreme, necunoscnd
12

popularitatea pe care o are, cu milioane de utilizatori.


Acum utilizatorii pot s influeneze comportamentul sistemelor proprii i s mprteasc
experiena lor comunitii, astfel sistemul fiind perfecionat zi dup zi. Este un proiect permanent, e adevrat,
dar, ntr-un mediu aflat ntr-o continu schimbare, Linux-ul este un proiect care continu s urmreasc
perfeciunea.

1.5. Aromele Linux


1.5.1. Linux i GNU
Cu toate c exist numeroase implementri ale Linux-ului, vei gsi multe similitudini n acestea,
deoarece mainile Linux sunt ca un ntreg alctuit din piese pe care le alturai n funcie de nevoile pe care
le avei sau de viziunea proprie. Instalarea sistemului este doar nceputul unei relaii pe termen lung. Atunci
cnd credei c ai pus la punct un sistem care ruleaz superb, Linux-ul v va stimula imaginaia i
creativitatea, iar cu ct nelegei mai multe despre ceea ce putei face cu sistemul, vei ncerca i mai mult
s-i redefinii limitele.
Linux-ul poate s v apar ca fiind diferit n funcie de distribuii, echipamentul fiecruia i
preferinele personale, dar fundamentele de la care toate interfeele grafice i alte unelte sunt construite,
sunt aceleai. Linux-ul se bazeaz pe uneltele GNU (GNU nu este UNIX), care asigur un set de standarde
pentru alctuirea i gestionarea sistemului. Toate uneltele GNU sunt surs deschis, aa c pot fi instalate
pe orice sistem.
Cele mai multe distribuii v ofer pachete precompilate ale celor mai cunoscute unelte, cum ar fi
pachetele RPM de la RedHat i pachetele Debian (denumite i deb sau dpkg) din distribuia cu acelai nume
(sau din Ubuntun.t.), astfel c nu trebuie s fii un bun programator pentru a instala un pachet n sistem. Dac
suntei i dac v place s facei lucrurile dumneavoastr niv, v vei bucura enorm de Linux, pentru c
majoritatea distribuiilor vin cu un set complet de unelte pentru dezvoltatori, care permit instalarea de
programe noi din codul surs pur. Aceast abordare v ajut s instalai i programele care nu sunt
mpachetate ntr-o form potrivit sistemului dumneavoastr.
Iat o list a unor programe GNU mai cunoscute:

Bash: consola GNU


GCC: compilatorul C al GNU
GDB: unealta pentru cutarea erorilor
Coreutils: un set de unelte de baz n stilul UNIX-ului, precum ls, cat i chmod
Findutils: utilitar pentru cutarea i cercetarea fiierelor
Fontutils: folositor la convertirea fonturilor dintr-un format n altul i realizarea de fonturi
The Gimp: programul pentru gestionarea imaginilor din GNU
Gnome: interfaa grafic cu utilizatorul
Emacs: un editor puternic
Ghostscript i Ghostview: interpretoare i interfa grafic pentru fiierele PostScripts
GNU Photo: program pentru interaciunea cu aparatele foto digitale
Octave: un limbaj de programare, destinat iniial pentru executarea de calcule numerice i
procesri de imagine
GNU SQL: baze de date relaionare
Radius: server pentru autentificare la distan i gestiune reea
...
Multe aplicaii comerciale sunt disponibile pentru Linux, dar pentru mai multe informaii despre ele
v vom ndruma ctre documentaia acestora. Pe parcursul acestui ghid vom discuta numai programele
disponibile liber, gratuit, care vin (de obicei) sub licena GNU.
Pentru a instala pachetele lips sau pachete noi, avei nevoie de un tip de program pentru
gestionarea pachetelor. Cele mai cunoscute implementri includ RPM i dpkg. RPM este numit Programul
de gestionare a pachetelor RedHat (RedHat Package Manager), i este utilizat de mai multe sisteme Linux,
dei numele nu sugereaz acest lucru. Dpkg este programul de gestionare a pachetelor Debian, care
utilizeaz o interfa numit apt-get, care poate gestiona i pachete RPM. Novell Ximian Red Carpet este o
13

implementare a programului RPM, care dispune de o interfa grafic, realizat de ctre compania Novell.
Alte companii implicate n comercializarea de programe pot pune la dispoziie propriile lor proceduri de
instalare, cteodat asemntoare cu InstallShield-urile cunoscute din MS Windows sau alte platforme. Pe
msur ce vei avansa n Linux, vei ajunge s cunoatei unul sau mai multe din aceste programe.

1.5.2. GNU/Linux
Kernelul Linux (coloana vertebral a sistemului, vezi Seciunea 3.2.3.1) nu este parte a proiectului
GNU, dar utilizeaz aceeai licen cu programele GNU. Marea majoritate a utilitilor i uneltelor pentru
dezvoltare (muchii sistemului), care nu sunt specifice Linux-ului, sunt luate din proiectul GNU. Deoarece
orice sistem care se dorete a fi utilizabil trebuie s conin att kernelul, ct i un set minimal de utiliti,
exist voci care cer ca un asemenea sistem s fie numit un sistem GNU/Linux.
n ideea de a obine cel mai nalt grad de independen fa de sisteme, acesta este felul de Linux
pe care-l vom discuta pe parcursul acestui curs. Dac nu vom vorbi despre un sistem GNU/Linux, vor fi
menionate numele distribuiei, versiunii sau programului.

1.5.3. Ce distribuie trebuie s instalez?


nainte de instalare, factorul determinant este echipamentul de care dispunei. Deoarece fiecare
distribuie de Linux conine pachetele de baz, i poate fi configurat pentru a rspunde aproape oricror
cerine (deoarece toate utilizeaz kernelul Linux), trebuie doar s avei n vedere dac o distribuie anume va
rula pe echipamentul dumneavoastr. LinuxPPC de exemplu, a fost destinat pentru Apple i alte PowerPC,
aa c nu va rula pe calculatoare compatibile x86. LinuxPPC ruleaz pe noile Mac-uri, dar nu poate fi folosit
pentru cteva din modelele mai vechi, cu o tehnologie bus nvechit. Alt caz care pune unele probleme este
cel al echipamentelor Sun, care pot fi bazate pe un procesor mai vechi SPARC CPU sau pe mai noile
UltraSparc, fiecare necesitnd versiuni diferite de Linux.
Cteva distribuii sunt optimizate pentru un anumit procesor, cum ar fi procesoarele Athlon, avnd
i posibilitatea de a rula decent pe procesoarele compatibile cu Intel 486, 586 i 686. Distribuiile pentru
procesoare speciale pot fi mai puin fiabile, ntruct sunt testate de mai puini oameni.
Cele mai multe distribuii ofer un set de programe pentru calculatoarele personale, n pachete
speciale, care conin kernele optimizate pentru procesoarele compatibile Intel x86. Aceste distribuii sunt
testate extensiv i actualizate periodic, cu o atenie mrit acordat implementrii n condiii de siguran pe
servere i unei proceduri de instalare i actualizare care s nu ridice probleme deosebite. Exemple care pot
fi date sunt Debian, Ubuntu, Fedora, SuSE i Mandriva, care sunt, de departe, cele mai populare sisteme
Linux, considerate totodat uor de folosit de utilizatorii nceptori i care nu limiteaz profesionitii n dorina
lor de a obine totul de la un sistem. Linux-ul ruleaz bine i pe laptopuri sau servere. Drivere pentru
dispozitivele noi sunt incluse numai dup o testare ndelungat, ceea ce adaug stabilitate sistemului.
Mediul de lucru cel mai des ntlnit este Gnome, dar alii pot furniza KDE preinstalat. Att Gnome,
ct i KDE sunt disponibile tuturor distribuiilor principale de Linux. Ali administratori pentru spaiul de lucru
sunt disponibili utilizatorilor mai avansai.
Procesul standard de instalare permite utilizatorilor s aleag ntre mai multe configurri
predefinite, ca, de exemplu, pentru staii de lucru, caz n care sunt instalate toate pachetele pentru sarcinile
zilnice i dezvoltare, sau pentru servere, caz n care pot fi selectate mai multe unelte pentru serviciile de
reea. Utilizatorii experimentai pot instala orice combinaie de pachete doresc pe parcursul procesului iniial
de instalare.
Scopul acestui ghid este ca el s fie util tuturor distribuiilor de Linux. Pentru confortul
dumneavoastr, sftuim pe nceptori s se limiteze la o distribuie principal, care suport ct mai multe
dispozitive i ofer ct mai multe aplicaii. Iat cteva alegeri foarte bune pentru acetia:

Fedora Core
Debian
Ubuntun.t.: un sistem de operare care ruleaz i de pe CD-ROM, fr instalare
SuSE Linux
Mandriva (fostul MandrakeSoft)
Knoppix: un sistem de operare care ruleaz i de pe CD-ROM, fr instalare
14

Imagini ale CD-urilor pot fi descrcate de la LinuxISO.org. Distribuiile principale pot fi achiziionate
din orice magazin pentru calculatoare care se respect.

1.6. Sumar
n acest capitol am nvat c:

Linux-ul este o implementare a UNIX-ului.


Sistemul de operare Linux este scris n limbajul de programare C.
"De gustibus et coloribus non disputandum est": exist cte un Linux pentru fiecare.
Linux-ul folosete uneltele GNU, un set de unelte standard disponibile oricui, pentru
sistemului de operare.

manipularea

1.7. Exerciii
Un exerciiu practic pentru nceptori: instalai Linux-ul pe calculatoarele dumneavoastr. Citii
manualul distribuiei alese i/sau CUM S instalm i punei-v pe treab.
Citii documentaia!
Cele mai multe erori survin pentru c informaiile furnizate pe parcursul instalrii nu sunt citite.
Citirea acestor mesaje cu atenie este primul pas pe drumul spre succes.
Lucruri pe care trebuie s le tii NAINTE de a ncepe o instalare a Linux-ului:

Va rula aceast distribuie pe calculatorul meu?


Verificai la http://www.tldp.org/HOWTO/Hardware-HOWTO/index.html atunci cnd avei dubii despre
compatibilitatea cu echipamentul dumneavoastr.
Ce tip de tastatur am (numrul de taste, poziionarea acestora)? Ce fel de maus (serial, paralel,
numrul de butoane)? Ci MO de RAM am?
Voi alege o instalare pentru o staie de lucru sau pentru un server, ori va trebui s selectez
pachetele necesare eu nsumi?
Voi instala de pe discul fix (hard disk), de pe un CD-ROM, sau voi utiliza reeaua? Va trebui s
adaptez BIOS-ul pentru oricare dintre acestea? Metoda de instalare necesit un disc de pornire?
Linux-ul va fi singurul sistem instalat pe calculator, sau va fi o instalare dual-boot? Ar trebui s fac o
partiie mai mare pentru a instala pe ea sisteme virtuale mai trziu, sau este o instalare virtual de la
nceput?
Calculatorul este legat la reea? Care este numele gazdei, adresele de IP? Exist servere tip
gateway sau alte dispozitive importante de reea cu care sistemul meu ar trebui s comunice?
Linux-ul se ateapt s fie conectat
Neutilizarea reelei sau configurarea incorect a acesteia poate ncetini pornirea sistemului.

Calculatorul acesta este un gateway/router/firewall? (Dac trebuie s v gndii prea mult la aceast

ntrebare, probabil c nu este.)


Partiionarea: lsai programul de instalare s o fac pentru dumneavoastr de aceast dat, vom
discuta partiionarea n detaliu n Capitolul 3. Exist documentaie specific fiecrui sistem, dac
dorii s tii totul despre acest lucru. Dac distribuia aleas nu v ofer posibilitatea de partiionare
automat, asta nseamn, de regul, c nu este potrivit nceptorilor.
Calculatorul va porni n modul text sau n cel grafic?
Gndii-v la o parol bun pentru administratorul acestui sistem (root). Facei un cont de utilizator
obinuit (care nu are acces privilegiat la calculator nu este necesar pentru Ubuntu, deoarece
aceast distribuie utilizeaz un sistem care cere autentificare pentru sarcinile realizate ca
administrator n.t.).
Am nevoie de un disc pentru recuperare? (recomandat).

15

Ce limb doresc pentru sistemul meu?


Lista ntreag cu verificrile pe care ar trebui s le parcurgei poate fi gsit la http://www.tldp.org/
HOWTO/Installation-HOWTO/index.html.
n capitolele urmtoare vom afla dac instalarea este una reuit.

16

Capitolul 2. S ncepem
Pentru ca acest ghid s v fie cu adevrat folositor, vom ncepem imediat cu un capitol practic
despre autentificarea ntr-un sistem Linux i anumite lucruri de baz.
Vom discuta:

Autentificarea la sistem
Ieirea din sistem
Modul text i cel grafic
Schimbarea parolei
Navigarea prin sistemul de fiiere
Determinarea tipului de fiiere
Deschiderea fiierelor text
Cutarea de ajutor

2.1. Autentificarea la sistem, activarea interfeei cu utilizatorul i


deautentificarea
2.1.1. Introducere
Pentru a lucra direct cu un sistem Linux trebuie s i furnizai un nume de utilizator i o parol.
ntotdeauna trebuie s v autentificai fa de sistem. Dup cum am artat deja n exerciiul de la Capitolul 1,
cele mai multe calculatoare care au ca sistem de operare Linux-ul pot lucra n dou moduri de baz: ori n
modul consolei text, rapid dar sobru, care arat ca un DOS cu maus, cu faciliti care asigur realizarea de
sarcini multiple i conectarea mai multor utilizatori, ori n modul grafic, care arat mai bine, dar consum mai
multe resurse.

2.1.2. Modul grafic


Acesta este modul normal pentru calculatoarele de astzi. Vei ti c v conectai la un calculator
care folosete modul grafic atunci cnd prima dat v este cerut numele de utilizator, apoi, ntr-o alt
fereastr, vi se cere s introducei parola.
Pentru a v autentifica, punei cursorul mausului n fereastra de conectare, tastai numele de
utilizator i parola, apsai OK sau tasta Enter.
Fii foarte ateni cnd folosii contul de administrator (root)!
n general, se consider c este o idee proast s v conectai n modul grafic folosind contul de
root, contul administratorului de sistem, deoarece utilizarea modului grafic include rularea mai multor
programe, ce vor avea mai multe permisiuni dac v autentificai ca root. Pentru a menine cota de risc ct
mai jos posibil, folosii un cont de utilizator normal pentru a v autentifica n modul grafic. ns exist i alte
motive pentru a v folosi de acest sfat, ca o regul a conectrii la un sistem Linux: autentificai-v ca
administrator numai atunci cnd vi se solicit permisiuni speciale.
Dup ce introducei numele de utilizator i parola, poate trece puin timp pn ce mediul grafic este
pornit, n funcie de viteza procesorului, de programele pe care le folosii sau de setrile personale.
Pentru a continua, trebuie s deschidei o fereastr terminal sau xterm pe scurt (X fiind numele prin
care se arat c anumite programe suport interfaa grafic). Acest program poate fi gsit n Aplicaii
Utiliti, Sistem sau Internet, n funcie de ce administrator grafic folosii. Pot exista iconie (pictograme) pe
care s le folosii ca scurtturi pentru a obine terminalul, iar dac apsai pe butonul din dreapta al mausului,
pe spaiul de lucru, vi se va prezenta un meniu care poate conine i o aplicaie terminal.
Dac v plimbai prin meniu, vei observa c pot fi fcute foarte multe lucruri fr a introduce
comenzi de la tastatur. Pentru cei mai muli utilizatori, vechea metod de lucru cu mausul va fi suficient
pentru a lucra cu calculatorul. Dar acest ghid se adreseaz viitorilor administratori de sistem i de reea, care
vor avea nevoie s lucreze cu mruntaiele sistemului. Ei au nevoie de o unealt mai puternic dect cele pe
17

care le pot aciona cu mausul, pentru a face fa tuturor sarcinilor. Aceast unealt este consola i, din
mediul grafic, putei s o activai prin deschiderea unei ferestre terminal.
Terminalul este panoul de control al sistemului dumneavoastr. Aproape orice lucru din cele ce
urmeaz poate fi fcut folosind aceast unealt text, simpl dar puternic. O fereastr terminal ar trebui s
arate ntotdeauna un prompter standard, care afieaz numele utilizatorului i directorul curent n care se
lucreaz, reprezentat de simbolul :
Figura 2-1. Fereastra terminal

O alt form comun pentru un prompter este urmtoarea:

n exemplul de mai sus, user va fi numele dumneavoastr de utilizator, host numele calculatorului
pe care lucrai i dir indic locul n care v aflai n sistemul de fiiere.
Mai trziu vom vorbi despre promptere i despre comportamentul acestora n detaliu. Acum este
suficient s tii c ele afieaz tot felul de informaii, dar nu sunt parte a comenzilor pe care le dai
sistemului.
Pentru a iei din sistem n mediul grafic, trebuie s nchidei toate ferestrele terminal i alte aplicaii
pe care le-ai deschis. Dup care apsai pe iconia de Ieire (Log Out) din meniu. Nu este neaprat necesar
s nchidei totul, sistemul poate face acest lucru n locul dumneavoastr, dar managerul de sesiune poate
restaura acele aplicaii lsate deschise atunci cnd v reautentificai, ceea ce va lua mai mult timp, iar pe de
alt parte, deschiderea lor nu este ntotdeauna ceea ce dorii s se ntmple. Acest comportament se poate
configura, n funcie de preferinele fiecruia.
Atunci cnd vedei din nou fereastra de autentificare, care v cere numele de utilizator i parola,
nseamn c v-ai deconectat.
Gnome sau KDE?
Am menionat ambele medii grafice de lucru, Gnome i KDE, de mai multe ori. Ele sunt cei mai
cunoscui administratori grafici prin care v putei gestiona spaiul de lucru, dei exist mult mai muli. Orice
administrator grafic alegei este bun att timp ct tii s deschidei un terminal. Totui, noi vom continua
s ne referim la Gnome i la KDE pentru a v prezenta unele metode prin care putei realiza anumite sarcini.

2.1.3. Modul text


Vei ti dac suntei n modul text atunci cnd tot ecranul este negru, afind litere (n cele mai
multe cazuri, albe). Un ecran de autentificare n modul text va afia, de regul, anumite informaii despre
calculatorul la care lucrai, numele acestuia i un prompter care v cere s v conectai:

Conectarea este diferit de cea din modul grafic, n acest caz trebuind s apsai tasta Enter dup
ce introducei numele de utilizator, deoarece nu sunt butoane pe ecran pe care s le putei apsa cu mausul.
18

Apoi trebuie s introducei parola, urmat de apsarea din nou a tastei Enter. Nu vei observa nici o indicaie
a ceea ce introducei de la tastatur, nici mcar asteriscuri i nu vei vedea cursorul micndu-se. Este un
lucru normal n Linux i este aa din cauza cerinelor de securitate.
Atunci cnd sistemul v recunoate ca utilizator legitim, putei primi mai multe informaii, numite
mesajele zilei, care pot fi orice. n plus, este rspndit practica prin care sistemele UNIX s afieze o
consideraie care s conin anumite gnduri, nelepte sau nu (depinde de fiecare). Dup acestea, va porni
consola, indicat de acelai prompter pe care l primii n modul grafic.
Nu v autentificai ca administrator (root)
Este valabil i n modul text: autentificai-v ca root numai pentru a face setri i configurri ale
sistemului care necesit privilegii de administrator, precum adugarea de utilizatori, instalarea pachetelor de
programe, configurarea reelei i altele de acest fel. Odat ce ai terminat, prsii imediat contul special i
continuai-v munca pe un cont de utilizator obinuit. Ca alternativ, unele sisteme, precum Ubuntu, v
foreaz s folosii sudo, pentru a nu avea nevoie de acces direct la un cont de administrator.
Deconectarea se face prin comanda logout, urmat de apsarea tastei Enter. Suntei deconectat
atunci cnd este afiat din nou ecranul de autentificare.
Butonul de oprire
Deoarece Linux-ul nu a fost proiectat s fie oprit fr a trece prin procedurile adecvate de nchidere
a sistemului, apsarea butonului de oprire lanseaz aceste proceduri pe sistemele mai noi. Oprirea unui
sistem mai vechi fr a trece prin procedurile de nchidere poate duce la distrugerea sistemului. Dac dorii
s fii siguri c acionai corect, folosii butonul de Oprire atunci cnd v aflai n interfaa grafic, iar atunci
cnd suntei n ecranul de autentificare (n care trebuie s introducei un nume de utilizator i o parol)
cutai un buton de oprire.
Acum, pentru c tim cum s ne autentificm la sistem i s ieim din el, suntem gata pentru
primele noastre comenzi.

2.2. Lucruri de baz


2.2.1. Comenzile
V prezentm cteva comenzi, de care avem nevoie pentru nceput. Le vom discuta mai trziu n
detaliu.
Tabelul 2-1. Comenzi de baz
Comanda

Ce execut

ls

Afieaz o list cu fiierele din directorul de lucru, precum comanda dir


din DOS

cd director

schimb directorul

passwd

schimb parola pentru utilizatorul curent

file filename

afieaz tipul fiierului al crui nume este filename

cat textfile

afieaz coninutul unui fiier text pe ecran

pwd

afieaz directorul n care se lucreaz

exit sau logout

terminare sesiune

man comand

citii paginile din manualul comenzii comand

info comand

citii paginile de informaii asupra comenzii comand

apropos string

cutai n baza de date whatis

2.2.2. Generaliti
Aceste comenzi le vei introduce dup prompter, ntr-o fereastr terminal, dac suntei n modul
19

grafic, sau n modul text, urmate apoi de apsarea tastei Enter.


Comenzile pot fi introduse ca atare, cum este cazul comenzii ls. O comand se comport diferit
atunci cnd specificai o opiune, care este, de regul, precedat de caracterul (-), precum n ls -a. Acelai
caracter al unei opiuni poate avea un alt neles dac este folosit n alt comand. Programele GNU pot
avea opiuni lungi, precedate de dou caractere (-), precum ls --all. Alte comenzi nu au nici o opiune.
Argumentele unei comenzi reprezint specificaii despre obiectul asupra cruia comanda trebuie s
acioneze. Un exemplu ar fi ls /etc, unde directorul /etc este argument al comenzii ls. Aceast comand
nseamn c dumneavoastr dorii s vedei coninutul acelui director, n loc de ceea ce afieaz comanda
simpl ls urmat de tastarea Enter, adic listarea coninutului directorului n care ne aflm. Anumite comenzi
au nevoie neaprat de argumente, aceste argumente fiind opionale n cazul altor comenzi.
Putei verifica dac o comand suport opiuni i argumente i care dintre ele sunt valide,
consultnd online paginile de ajutor pentru comanda dorit, vezi Seciunea 2.3.
n Linux, la fel ca n UNIX, directoarele sunt separate de caracterul ( / ), la fel cu cel pe care l
folosim n adresele web (URL). Vom discuta la obiect structura directoarelor mai trziu.
Simbolurile ( . ) i ( .. ) au nelesuri speciale n directoare. Vom prezenta mai multe informaii
despre aceste lucruri n exerciii i pe parcursul urmtorului capitol.
ncercai s evitai folosirea contului de administrator, root. Putei lucra pe un cont de utilizator
obinuit, care nu acord permisiuni speciale, pentru c majoritatea sarcinilor, incluznd verificarea
sistemului, colectarea de informaii i altele, pot fi fcute n acest mod. Atunci cnd este nevoie s adugai
un nou utilizator sau s instalai programe noi, modul preferat prin care obinei acces ca administrator este
schimbarea identitii utilizatorului, precum se arat n Seciunea 3.2 (dup cum am mai spus, acest lucru
este evitat n Ubuntu prin folosirea sudo, comand care acord privilegii de root pe o perioad limitatn.t.).
Aproape toate comenzile din aceast carte pot fi executate fr privilegii de administrator. n cele
mai multe cazuri, atunci cnd lansm ca utilizator obinuit o comand sau un program care necesit privilegii
de root, sistemul va cere parola de administrator. Odat ce ai terminat, ncheiai sesiunea care v acord
aceste privilegii imediat.
Citirea documentaiei trebuie s v intre n snge. n special la nceput, este important s citii
documentaia sistemului, manualele comenzilor de baz, CUM S-urile (HOWTO) i altele de acest fel.
ntruct volumul documentaiei este enorm, este imposibil s includem toate referinele. Aceast carte
ncearc s v ndrume ctre documentaia adecvat fiecrui subiect discutat, pentru a v stimula obiceiul
de a citi paginile manualelor.

2.2.3. Utilizarea facilitilor Bash


Anumite combinaii de taste v permit s facei cteva lucruri mai uor n consola GNU, Bash, care
vine pe aproape orice sistem Linux, vezi Seciunea 3.2.3.2.
Tabelul 2-2. Combinaii de taste n Bash

Tast sau combinaii de taste Funcie


Ctrl+A

Mut cursorul la nceputul unei linii de comand.

Ctrl+C

Termin programul care ruleaz i afieaz prompterul, vezi Capitolul 4.

Ctrl+D

nchide sesiunea curent, similar cu tastarea exit sau logout.

Ctrl+E

Mut cursorul la sfritul liniei de comand.

Ctrl+H

terge poziia curent (similar cu Backspace).

Ctrl+L

terge tot ce este afiat n consol.

Ctrl+R

Caut n istoricul comenzilor, vezi Seciunea 3.3.3.4.

Ctrl+Z

Suspend un program, vezi Capitolul 4.

Sgeat stnga i
Sgeat dreapta

Mut cursorul cu un caracter la stnga sau la dreapta n linia de comand,


pentru a insera caractere n alt loc dect la nceputul sau sfritul liniei.

20

Sgeat n sus sau


Sgeat n jos

Navigare prin istoricul comenzilor. Mergei la linia pe care dorii s o


repetai, editai-o dac este necesar, i apsai Enter.

Shift+PageUp sau
Shift+PageDown

Navigare prin terminal (pentru a vedea textul care a ieit din ecran).

Tab

Completarea comenzilor sau a numelor de fiiere; atunci cnd exist mai


multe posibiliti, sistemul v avertizeaz cu un semnal audio sau video
ori, dac posibilitile sunt prea multe, v ntreab dac dorii s le afieze
pe toate.

Tab Tab

Arat posibilitile pentru completarea unei comenzi sau a unui nume de


fiier.

Ultimele dou intrri din tabelul de mai sus necesit cteva explicaii suplimentare. De exemplu,
dac dorii s v mutai n directorul director_cu_un_nume_foarte_lung, nu trebuie s tastai tot
acel nume foarte lung. Tastai doar comanda cd dir, apoi apsai tasta Tab i consola va completa numele
n locul dumneavoastr, n cazul n care alte fiiere nu ncep cu primele trei litere din numele directorului
dumneavoastr. Desigur, dac nu exist alte directoare care ncep cu d, putei tasta doar cd d i apoi
apsa tasta Tab. n cazul n care numele mai multor fiiere ncep cu aceleai caractere, consola va semnala
acest lucru, iar apsarea tastei Tab de dou ori ntr-un interval scurt de timp va afia posibilitile pe care le
avei:

n exemplul de mai sus, dac tastai a dup primele dou litere i apsai tasta Tab, nu exist alte
posibiliti dect completarea de ctre consol a numelui directorului, fr ca dumneavoastr s mai tastai
literele rthere:

Desigur, trebuie s apsai tasta Enter pentru a confirma alegerea prezentat de consol.
n acelai exemplu, dac tastai u i apoi apsai tasta Tab, consola va aduga literele ff n locul
dumneavoastr, dar va protesta din nou, din pricin c sunt posibile mai multe alegeri. Dac apsai Tab
Tab din nou, vei vedea care sunt acestea; dac vei introduce una sau mai multe caractere care fac
sistemul s disting o posibilitate unic i apsai din nou Tab sau Enter atunci cnd v aflai la sfritul
liniei cu numele pe care dorii s l alegei, consola completeaz numele fiierului i schimb directorul curent
n cel dorit dac este, cu adevrat, un nume de director.
Cele prezentate mai sus sunt valabile pentru toate numele de fiiere folosite ca argumente la
comenzi.
Acelai lucru se aplic i la completarea numelor comenzilor. Dac tastai ls i apsai tasta Tab de
dou ori, vei primi o list cu toate comenzile disponibile (vezi Seciunea 3.2.1).

2.3. Cutarea de ajutor


2.3.1. Luai aminte
GNU/Linux ncurajeaz indivizii n atitudinea lor de a nu depinde de nimeni i de nimic.
Caracteristica a acestui sistem este aceea c exist ntotdeauna mai multe ci pentru atingerea unui scop. O
cale de a primi ajutor este gsirea cuiva care se pricepe, care are rbdare i dorete s fie de ajutor, din
comunitatea Linux, dar oricine se ateapt ca dumneavoastr s fi ncercat una sau mai multe metode din
aceast seciune, nainte de a ntreba pe altcineva, iar modul n care acest punct de vedere este exprimat
poate fi mai degrab unul dur, dac se dovedete c nu ai urmat aceast regul de baz.

21

2.3.2. Paginile manualelor (man)


Muli utilizatori nceptori se tem de paginile man (manualelor), deoarece acestea conin prea
multe informaii. Totui, ele sunt foarte bine structurate, dup cum vei vedea din exemplul de mai jos: man
man.
Citirea paginilor man se face ntr-un terminal, atunci cnd suntei n modul grafic sau direct n
modul text, dac pe acesta l preferai. Tastai comanda urmtoare, urmat de Enter:

Documentaia pentru man va fi afiat n terminal, dup ce apsai Enter:

Navigai la pagina urmtoare folosind tasta Space. V putei ntoarce la pagina precedent folosind
tasta b. Cnd ajungei la sfrit, man va da comanda de ieire i consola va returna prompterul. Tastai q
dac dorii s ieii din paginile man nainte de a ajunge la sfritul lor sau dac programul nu se nchide
automat la sfritul paginilor.
Pagere
Combinaiile de taste necesare pentru mnuirea paginilor man depind de pagerul folosit de
distribuia dumneavoastr. Cele mai multe distribuii folosesc less pentru a vizualiza aceste pagini i pentru
a naviga prin ele. Pentru mai multe informaii despre pagere, mergei la Seciunea 3.3.4.2.
Fiecare pagin man conine mai multe seciuni standard, dup cum putem observa i n exemplul
man man:
Prima linie conine numele comenzii despre care citii i identificarea seciunii n care sunt
localizate paginile man. Aceste pagini sunt organizate pe capitole. Comenzile pot avea pagini n mai
multe seciuni, de exemplu paginile man din seciunea utilizatori, paginile din seciunea
administratorului de sistem, paginile man din seciunea programatorilor.
Este prezentat numele comenzii i o scurt descriere, folosite i la indexarea acestor
pagini. Putei cuta n acest index orice dorii folosind comanda apropos.
Sintaxa comenzii v furnizeaz notaiile tehnice ale tuturor opiunilor i/sau argumentele pe
care le suport comanda respectiv. Putei s v gndii la o opiune ca la o cale de executare a
comenzii. Prin argument nelegem asupra cui este exercitat comanda respectiv. Anumite comenzi
nu au opiuni sau argumente. Opiunile i argumentele opionale, adic cele care pot fi lsate
necompletate, sunt puse ntre simbolurile[ i ].

22

Este artat i o descriere mai detaliat a comenzii.


Sunt listate opiunile, mpreun cu descrierea acestora. De regul, opiunile pot fi
combinate. Dac nu, n aceast seciune vi se va spune acest lucru.
Sunt descrise variabilele care influeneaz comportamentul comenzii n consol (nu pentru
toate comenzile).
Cteodat exist i seciuni specifice comenzii discutate.
Referine ctre alte pagini man sunt date n seciunea SEE ALSO. ntre paranteze este
prezentat numrul seciunii n care gsim comanda despre care se vorbete. Utilizatorii
experimentai merg la SEE ALSO prin utilizarea comenzii / urmat de SEE i apsarea tastei
Enter.
Sunt prezentate i informaii despre erorile (anomaliile) cunoscute i unde s raportai alte
erori pe care le-ai putea descoperi.
Pot fi afiate informaii despre autor i licen.
Anumite comenzi au mai multe pagini man. De exemplu, comanda passwd are pagin man n
seciunea 1 i alta n seciunea 5. Atunci cnd deschidei paginile man, v sunt prezentate cele din seciunea
cu cel mai mic numr de identificare. Dac dorii s vedei o alt seciune dect cea prezentat automat,
specificai acest lucru dup comanda man:
man 5 passwd
Dac dorii s v fie prezentate toate paginile man ale unei comenzi, una dup cealalt, folosii -a
dup man:
man -a passwd
n acest mod, cnd ajungei la sfritul primei pagini, prin apsarea tastei SPACE, va fi deschis
pagina man din seciunea urmtoare.

2.3.3. Mai multe informaii


2.3.3.1. Paginile Info
n cazul comenzilor, ca o completare a paginilor man, putei citi paginile Info, folosind comanda
info. Aceste pagini conin, de regul, informaii mai recente i, ntr-un fel, mai uor de utilizat. Paginile man
ale anumitor comenzi fac trimitere la paginile Info.
Putei ncepe prin tastarea comenzii info info ntr-un terminal:

23

Folosii tastele sgei pentru a naviga prin text i poziionai cursorul pe o linie care ncepe cu un
asterisc i care conine cuvntul cheie despre care dorii informaii, apoi apsai Enter. Folosii tastele P i N
pentru a merge la subiectul anterior sau urmtor. Tasta SPACE va afia urmtoarea pagin, indiferent dac
pe pagina urmtoare se trateaz un subiect nou sau o nou comand. Folosii Q pentru ieire. Programul
info v prezint mai multe informaii despre utilizarea sa.

2.3.3.2. Comenzile whatis i apropos


Un index cu explicaii scurte despre comenzi este disponibil prin comanda whatis, precum n
exemplul de mai jos:

Se observ explicaia, pe scurt, referitoare la comand (- listeaz coninutul directorului) i afiarea


primei seciuni din colecia de pagini man care conine o pagin cu prezentarea comenzii ls.
Dac nu tii de unde s ncepei i ce pagin de manual s citii, comanda apropos v d mai
multe informaii. S spunem c nu tii cum s pornii un browser; n acest caz, putei introduce urmtoarea
comand:

Dup apsarea tastei Enter vei vedea mai multe informaii legate de navigatoarele (browserele)
care sunt n sistemul dumneavoastr; nu doar despre browsere web, ci i despre navigatoare de fiiere i
FTP sau browsere pentru documentaie. Dac avei pachetele pentru dezvoltare instalate, se vor afia i
paginile de manual care prezint programele n care au fost scrise aceste browsere. n general, o comand
care arat o pagin man n seciunea nti, marcat cu (1), poate fi folosit de un utilizator nceptor.
Utilizatorul care a folosit comanda de mai sus poate ncerca s introduc n terminal comenzile galeon, lynx
sau opera, deoarece este limpede c acestea sunt legate de navigarea pe web.

2.3.3.3. Opiunea --help


Cele mai multe comenzi GNU suport opiunea --help, care ofer explicaii scurte despre
utilizarea comenzii i o list a opiunilor disponibile. Exemplul urmtor arat ce se ntmpl n cazul comenzii
cat:

24

2.3.3.4. Ajutor n modul grafic


Nu v nelinitii dac preferai o interfa grafic. Konqueror, administratorul de fiiere din KDE,
asigur acces la paginile man i Info ntr-un mod plin de culoare i care nu d dureri de cap. Putei s
introducei n cmpul Location (bara de adrese) comanda info:info pentru a obine o pagin Info n care v
putei plimba n cutarea informaiilor despre comanda info. n acelai mod, man:ls va afia pagina man
pentru comanda ls. V putei baza i pe autocompletarea numelui comenzii: sunt prezentate toate paginile
man pentru comenzile care ncep cu ls ntr-un meniu pe care l putei parcurge n modul derulare (scrolldown). Dac introducei info:/dir n bara de adrese vei primi toate paginile Info, grupate pe utiliti. Un
coninut excelent n privina ajutorului v este adus de Konqueror Handbook, de scurttura Startup din meniu
sau prin introducerea comenzii konqueror ntr-un terminal, urmat de apsarea tastei Enter; vezi imaginea
urmtoare.
Figura 2-2. Konqueror ca navigator pentru meniul de ajutor

Navigatorul pentru meniul de ajutor din Gnome este la fel de prietenos. l putei lansa prin
selectarea Applications Help din meniul Gnome, prin apsarea iconiei care prezint un colac de salvare
sau prin introducerea ntr-un terminal a comenzii gnome-help. Documentaia sistemului i paginile man sunt
uor de accesat ntr-o interfa prin care putem naviga n cutarea ajutorului.
Managerul de fiiere nautilus are un index din care putem cuta paginile man i Info, care sunt
legate prin referine i prin care se poate naviga uor. Nautilus se pornete din linia de comand, prin
apsarea iconiei care arat directorul tu personal (sau dosarul personal - home) ori din meniul Gnome.
Marele avantaj al interfeelor grafice (GUI`s) legat de documentaia sistemului este acela c
prezint toate informaiile ntr-un mod n care acestea sunt conectate prin legturi, astfel nct putei folosi
seciunea SEE ALSO (VEZI I) pentru a naviga fr ntrerupere, cu orele chiar, n cutarea cunotinelor
de care avei nevoie.

25

2.3.3.5. Excepii
Cteva comenzi nu au documentaie separat, pentru c ele sunt parte ale altei comenzi. cd, exit,
logout i pwd sunt astfel de excepii. Ele sunt pri ale consolei, programul dumneavoastr shell i sunt
numite comenzi proprii consolei (shell built-in commands). Pentru mai multe informaii despre ele, cutai
prin paginile man sau Info ale consolei pe care o folosii. Cei mai muli utilizatori nceptori de Linux folosesc
o consol Bash. Consultai Seciunea 3.2.3.2 pentru mai multe detalii despre console.
Dac ai schimbat configuraia original a sistemului, este posibil ca paginile man s fie nc n
sistem, dar s nu le putei accesa, pentru c mediul n care ruleaz consola nu mai este acelai. n acest
caz, trebuie s inei cont de variabila MANPATH. Detalii despre acest subiect sunt prezentate n Seciunea
7.2.1.2.
Anumite programe sau pachete au doar un set de instruciuni sau referine n directorul

/usr/share/doc. Consultai Seciunea 3.3.4 pentru detalii.


n cel mai ru caz, exist posibilitatea ca documentaia s fie tears accidental (sperm c
accidental, deoarece tergerea acesteia pentru c aa ai dorit este o idee foarte proast). n acest caz,
verificai dac prin folosirea uneltelor de cutare vi se returneaz ceva legat de subiectul n cauz (Seciunea
3.3.3). Dac nu, va trebui s reinstalai pachetul care conine comanda asupra creia ai consultat
documentaia, dup cum se arat n Seciunea 7.5.

2.4. Sumar
Sistemul de operare Linux lucreaz tradiional n modul text sau n modul grafic. Deoarece costul
procesoarelor i al RAM-ului nu mai este exorbitant n zilele noastre, orice utilizator de Linux poate lucra n
modul grafic i va face o regul din acest lucru. Asta nu nseamn ns c nu trebuie s tii nimic despre
modul text: vom lucra n mediul liniei de comand pe parcursul acestui curs folosind o fereastr terminal.
Linux-ul ncurajeaz utilizatorii s acumuleze cunotine i s devin independeni. Inevitabil, va
trebui s citii mult documentaie pentru a reui; de aceea, dup cum vei vedea, v vom ndruma ctre alte
surse de documentare pentru aproape orice comand, unealt sau problem prezentate n aceast carte.
Cu ct citii mai mult documentaie, cu att mai repede v vei obinui cu manualele i vei nelege mai
uor coninutul acestora. Facei-v ct mai curnd un obicei din citirea documentaiei. Atunci cnd nu tii
rspunsul la o problem, cutarea prin documentaie ar trebui s fie prima dumneavoastr opiune.
Am nvat cteva comenzi:
Tabelul 2-3. Comenzi noi n capitolul 2: S ncepem

Comanda

nelesul comenzii

apropos

Caut informaii despre o comand sau un subiect

cat

Arat coninutul unui fiier sau a mai multora

cd

Schimb directorul

exit

Terminarea unei sesiuni a consolei

file

Afieaz informaii despre coninutul unui fiier

info

Citii paginile Info ale unei comenzi

logout

Terminarea unei sesiuni a consolei

ls

Arat coninutul unui director

man

Citii paginile de manual ale unei comenzi

passwd

Schimb parola dumneavoastr

pwd

Afieaz directorul n care v aflai

26

2.5. Exerciii
Multe lucruri din cele pe care le nvm sunt despre cum se pot face greeli i cum putem s
evitm s perseverm n a le face. Exerciiile urmtoare sunt importante pentru c v pune n situaia de a
citi unele mesaje de eroare. Ordinea n care le facei este foarte important.
Nu uitai s folosii facilitile oferite de Bash n ceea ce privete linia de comand: ncercai s
facei exerciiile tastnd ct mai puine caractere posibile!

2.5.1. Autentificarea i deautentificarea


Determinai modul n care lucrai, text sau grafic.
Eu lucrez n modul text/grafic. (Tiai ce este incorect)

Autentificai-v cu numele de utilizator i parola pe care le-ai stabilit pe parcursul instalrii.


Deautentificai-v.
Autentificai-v din nou cu un nume de utilizator inexistent.
Ce se ntmpl?

2.5.2. Parole
Autentificai-v din nou cu numele dumneavoastr de utilizator i cu parola.

Schimbai-v parola n P6p3.aa! i apsai tasta Enter.


Ce se ntmpl?

ncercai din nou cu o parol ridicol de simpl, precum 123 sau aaa .
Ce se ntmpl?

ncercai comanda psswd n locul passwd.


Ce se ntmpl?
Parol nou
Dac nu ai revenit la parola dumneavoastr pe care ai avut-o naintea exerciiului de mai sus,
aceast parol va fi P6p3.aa!. Schimbai-v parola la loc dup efectuarea exerciiului!
Anumite sisteme pot s nu permit reciclarea parolelor, adic schimbarea n cea original, n cazul
dumneavoastr, dect dup un anumit timp sau dup un anumit numr de cicluri de schimbare a parolelor,
ori chiar pot lua n calcul ambele variabile.

2.5.3. Directoarele
Iat cteva exerciii care v ajut s intrai n subiect:

Introducei comanda cd blah.


Ce se ntmpl?

Introducei comanda cd ..
Luai aminte la spaiul dintre cd i ..! Folosii comanda pwd.
27

Ce se ntmpl?

Listai coninutul directorului cu ajutorul comenzii ls.


Ce vedei?
Ce credei c sunt acestea?
Verificai folosind comanda pwd.

Introducei comanda cd.


Ce se ntmpl?

Repetai pasul 2 de dou ori.


Ce se ntmpl?

Afiai coninutul acestui director.


ncercai comenzile cd root (pentru ubuntu cd /; ls; ls -a;cd .config n aceast
ordinen.t.).
Ce se ntmpl?
La care directoare avei acces?

Repetai pasul 4 (cd).


tii o alt posibilitate prin care s ajungei n acest loc?

2.5.4. Fiierele
Schimbai directorul pe / i apoi pe etc. Tastai ls; dac rspunsul calculatorului este mai
mare dect fereastra, facei-o mai lung sau ncercai Shift+PageUp i Shift+PageDown.
Fiierul inittab conine rspunsul la ntrebarea urmtoare. ncercai comanda file pe acesta.
Fiierul inittab nu se regsete n Ubuntu
Nu putei aplica acest exerciiu pentru aceast distribuie. Putei ncerca cu /etc/event.d/rcdefault dar nu este vorba despre acelai fiier, dup cum se vede, iar ceea ce se returneaz la comanda
cat /etc/event.d/rc-default este dificil de nelesn.t..
Tipul fiierului inittab este .....

Folosii comanda cat inittab i citii rspunsul.


Care este modul de lucru n care pornete calculatorul dumneavoastr?

Mergei la directorul personal (home) cu comanda cd.


Introducei comanda file .
V ajut s aflai nelesul lui .?

Putei s aflai ceva prin folosirea comenzii cat asupra lui .?


Afiai ajutorul n cazul comenzii cat prin utilizarea opiunii - -help. Folosii opiunea de
28

numrare a liniilor returnate pentru a numra ci utilizatori sunt listai n fiierul /etc/passwd.

2.5.5. Cutarea de ajutor


Citii man intro
Citii man ls
Citii info passwd
Introducei comanda apropos pwd
ncercai comanda man sau info asupra cd
Ce mai putei gsi n plus despre cd?

Citii i ncercai ceea ce v este returnat de comanda ls - -help

29

Capitolul 3. Despre fiiere i sistemul de fiiere


Dup explorarea iniial din Capitolul 2, suntem gata s discutm mai n detaliu despre fiierele i
directoarele dintr-un sistem Linux. Muli utilizatori au dificulti n utilizarea Linux-ului, deoarece nu au o
vedere de ansamblu asupra a ce fel de date sunt pstrate n anumite locuri. Vom ncerca s explicm
organizarea fiierelor n sistemul de fiiere.
Vom arta, de asemenea, cele mai importante fiiere i directoare, vom folosi metode diferite prin
care putem privi coninutul acestora i vom nva cum pot fi create, mutate sau terse fiierele i
directoarele.
Dup terminarea exerciiilor din acest capitol, vei putea:

S descriei structura de fiiere a unui sistem Linux


S citii i s scriei calea ctre un fiier
S descriei cele mai importante fiiere, inclusiv kernelul i shell-ul
S gsii fiierele ascunse sau pierdute
S creai, s mutai i s tergei fiiere i directoare
S afiai coninutul unui fiier
S nelegei i s folosii mai multe tipuri de legturi
S afiai proprietile fiierelor i s schimbai permisiunile acestora

3.1. O privire asupra sistemului de fiiere din Linux


3.1.1. Fiierele
3.1.1.1. Generaliti
O descriere simpl a unui sistem UNIX, care se aplic i Linux-ului, este urmtoarea:
ntr-un sistem UNIX, orice este un fiier; dac ceva nu este un fiier, atunci este un proces.
Aceast propoziie este adevrat deoarece exist fiiere speciale care sunt mai mult dect nite
simple fiiere (cele numite pipes conexiuni i sockets, de exemplu), dar pentru simplicitate, a spune c
orice este un fiier constituie o generalizare acceptat. Un sistem Linux, la fel ca UNIX-ul, nu face nici o
diferen ntre un director i un fiier, deoarece un director este doar un fiier care conine numele altor
fiiere. Programele, serviciile, textele, imaginile i aa mai departe, sunt toate fiiere. Dispozitivele, n
general, sunt considerate i ele fiiere, din punctul de vedere al sistemului.
Pentru a ne descurca cu toate aceste fiiere ntr-o manier ordonat, suntem obinuii s le vedem
organizate pe discul fix ntr-o structur arborescent, pe care o cunoatem din MS-DOS (Disk Operating
System), de exemplu. Din trunchi pleac ramurile groase care au alte ramuri, iar ramurile din vrf se termin
cu frunzele copacului, care sunt fiiere obinuite. Pentru nceput vom folosi aceast imagine a unui copac,
dar vom afla mai trziu c nu este o imagine care corespunde ntocmai cu realitatea.

3.1.1.2. Felurile fiierelor


Cele mai multe fiiere sunt fiiere simple, numite fiiere obinuite; ele conin date normale, de
exemplu fiierele text, fiierele executabile sau programele, comenzile i rspunsurile unui program, i altele.
n mod normal este rezonabil s presupunem c tot ceea ce ntlnim ntr-un sistem Linux este un
fiier, cu cteva excepii.

Directoarele: fiiere care sunt o list a altor fiiere.


Fiiere speciale: mecanismele folosite pentru introducerea comenzilor i returnarea rspunsurilor.

Cele mai multe fiiere speciale se gsesc n /dev, le vom discuta mai trziu.
Legturi: un sistem pentru a face un fiier sau un director vizibil n mai multe pri ale sistemului de
fiiere. Vom discuta n detaliu despre aceste legturi.
30

Socket-uri (de domenii): un fel special de fiiere, asemntoare cu socket-urile TCP/IP, care asigur

desfurarea proceselor n reea, protejate prin controlul asupra accesului la sistemul de fiiere.
Numite conexiuni (pipe): se comport mai mult sau mai puin ca socket-urile i formeaz o cale
pentru comunicarea ntre procese, fr a utiliza semantica socket-urilor de reea.
Opiunea -l a comenzii ls v afieaz tipul fiierului, utiliznd primul caracter al fiecrei linii:

Tabelul 3-1. Felul fiierelor n listarea amnunit

Simbol nelesul simbolului


-

Fiier obinuit

Director

Legtur

Fiier special

Socket

Numite conexiuni (pipe)

Dispozitiv

Pentru a nu afia mereu listarea amnunit doar pentru a vedea felul fiierelor, mai multe sisteme,
n mod normal, utilizeaz i comanda ls -F, care pune naintea fiecrui nume de fiier unul din caracterele /
=*l@ pentru a indica felul fiierului.
Pentru a face totul mai accesibil utilizatorului nceptor, ambele opiuni, -F i --color sunt
combinate, precum se arat n Seciunea 3.3.1.1. Noi vom folosi ls -F pe parcursul acestui document,
pentru o afiare a tipului de fiier mai la obiect.
Pentru Ubuntu, rspunsul la comanda ls ia n considerare din oficiu opiunea --color, felul
fiierelor fiind evideniat prin culorin.t..
Ca utilizator, vei folosi doar fiiere obinuite, fiiere executabile, directoare i legturi. Tipurile
speciale de fiiere sunt gndite pentru a face sistemul s execute ceea ce dorii dumneavoastr i sunt
mnuite de administratorii de sistem i de programatori.
Acum, nainte de a ne apleca asupra directoarelor i fiierelor importante, trebuie s nvm mai
multe despre partiii.

3.1.2. Despre partiionare


3.1.2.1. De ce partiionarea?
Cei mai muli oameni au o idee, chiar dac doar vag, despre partiionare, pentru c orice sistem
de operare poate face sau terge partiii. Pentru c Linux-ul folosete mai mult de o partiie pe acelai disc,
chiar dac este instalat prin procedura automat, poate prea ciudat unora, aa c se cere o explicaie.
Unul dintre scopurile pentru care sunt fcute mai multe partiii este obinerea unei securizri mai
puternice a datelor, n eventualitatea unui dezastru. Prin mprirea discului fix (hard disk-ului) n partiii,
datele pot fi grupate i separate. Atunci cnd se ntmpl accidente, numai datele din partiia atacat vor fi
distruse, n timp ce datele din celelalte partiii vor scpa neatinse.
Acest principiu dateaz din zilele n care Linux-ul nu avea un sistem de fiiere de tip jurnalier iar
cderile de tensiune puteau conduce la un dezastru. Utilizarea n continuare a partiiilor se datoreaz
raiunilor de securitate i robustee, pentru c, n acest mod, o bre ntr-o parte a sistemului nu va pune n
pericol ntregul calculator. Acesta este principalul motiv pentru care se fac partiionri. Iat un exemplu
simplu: un utilizator creeaz un script, un program sau o aplicaie web care ncepe s umple discul. Dac
31

sistemul are o singur partiie, el nu va mai funciona atunci cnd discul este plin. Dac utilizatorul stocheaz
acel program pe o alt partiie, atunci numai datele coninute de partiia n cauz vor fi afectate, pe cnd
celelalte partiii, de sistem sau de date, vor funciona n continuare.
Trebuie artat faptul c sistemul de fiiere de tip jurnalier v protejeaz datele numai n cazurile de
cdere de tensiune sau deconectrii improprii ale dispozitivelor de stocare. Nu v protejeaz mpotriva
blocurilor defecte sau erorilor logice din sistemul de fiiere. Pentru acestea din urm, ar trebui s folosii o
soluie RAID (Redundant Array of Inexpensive Disks).

3.1.2.2. Feluri i tipuri de partiii


Sunt dou feluri principale de partiii ntr-un sistem Linux:

partiiile de date: pe ele sunt stocate datele normale ale unui sistem Linux, care includ i partiia root,

care conine toate datele care permit pornirea i rularea sistemului; i


partiia swap: o expandare a memoriei fizice a calculatorului, memorie n plus pe discul fix.

Cele mai multe sisteme au o partiie root, una sau mai multe partiii de date i una sau mai multe
partiii swap. Sistemele mixte pot avea partiii de date proprii altui sistem, precum partiii care folosesc FAT
sau VFAT ca sisteme de fiiere pentru datele specifice MS Windows.
Cele mai multe sisteme Linux folosesc fdisk n momentul instalrii pentru partiionare. Dup cum
probabil ai observat din exerciiul de la Capitolul 1, acest lucru se ntmpl, de regul, automat. n anumite
ocazii, totui, s-ar putea s nu fii aa de norocoi. n asemenea situaii, trebuie s selectai tipul partiiei
manual i s facei tot manual partiionarea n sine. Partiiile standard ale Linux-ului au numrul 82 pentru
swap i 83 pentru cele de date, care pot fi jurnaliere (ext3) sau normale (ext2, pe sistemele mai vechi).
Utilitarul fdisk conine i partea de ajutor, aa c nu trebuie s memorai aceste valori.
n afar de aceste dou tipuri, Linux-ul poate lucra cu mai multe tipuri de sisteme de fiiere,
precum relativ mai noul Reiser, JFS, NFS, FATxx i alte sisteme de fiiere proprii altor sisteme de operare
(proprietare).
O partiie root standard (artat prin caracterul / ) are mrimea de 100-500 MO i conine
fiierele de configurare ale sistemului, comenzile principale i programele serviciilor, librriile sistemului, un
spaiu temporar i directorul personal (home) al utilizatorului cu drepturi administrative. O instalare standard
solicit n jur de 250 MO pentru partiia de root.
Spaiul swap (indicat prin swap) este accesibil doar sistemului, fiind ascuns n timpul operrii.
Swap-ul este acel lucru prin care ne asigurm c, precum n sistemele UNIX, putem continua s lucrm
indiferent de ceea ce se ntmpl. Pe sistemele Linux, putem spune c, practic, nu vei fi deranjat niciodat
de mesaje iritante precum Memorie depit, v rugm s nchidei unele aplicaii mai nti i ncercai din
nou, deoarece aceast memorie n plus este mereu la dispoziie. Memoria swap sau virtual a fost
implementat, n zilele noastre, i de alte sisteme de operare care nu au nimic de-a face cu UNIX-ul.
Folosirea memoriei de pe discul fix este un proces mai lent dect folosirea cipurilor de memorie
propriu-zise, dar disponibilitatea memoriei swap asigur o fiabilitate mrit. Vom discuta mai multe despre
swap odat cu prezentarea proceselor, n Capitolul 4.
Linux-ul se bazeaz, n general, pe alocarea unui spaiu pe discul fix destinat memoriei swap de o
mrime egal cu dublul memoriei fizice. Atunci cnd instalai un sistem, trebuie s tii cum s facei acest
lucru. Iat un exemplu pentru un sistem cu o memorie fizic de 512 MO:

prima posibilitate: o partiie swap de 1 GO


a doua posibilitate: dou partiii swap de 512 MO
a treia posibilitate: pe dou discuri fixe: o partiie swap de 512 MO pe fiecare disc fix.
Ultima opiune v garanteaz cel mai bun rezultat n cazul n care solicitai intensiv sistemul.
Citii documentaia programelor pentru aspectele specifice. Anumite aplicaii, cum ar fi bazele de
date, pot s v solicite mai mult spaiu pentru partiia swap. Alte sisteme pot s nu aib deloc acest swap,
din cauz c nu au, prin construcie, discuri fixe. Spaiul alocat memoriei swap poate depinde i de versiunea
de kernel.
Kernelul se afl pe o partiie separat n multe distribuii, deoarece este cel mai important fiier al
32

sistemului. Dac este i cazul distribuiei alese de dumneavoastr, vei gsi o partiie /boot, care conine
kernelul i fiierele de date care l acompaniaz.
Restul discului fix este mprit n partiii de date, dei este posibil ca toate informaiile care nu sunt
deosebit de importante pentru funcionarea sistemului, s se gseasc pe o singur partiie, cum ar fi n
cazul unei instalri standard pentru staii de lucru. Atunci cnd astfel de informaii sunt mprite pe mai multe
partiii, putei gsi urmtorul tipar:

o partiie pentru programele utilizatorului (/usr)


o partiie folosit pentru datele care aparin utilizatorului (/home)
o partiie pentru stocarea datelor temporare, precum fiierele de tiprit sau mail-urile (/var)
o partiie pentru programele dezvoltate de tere pri sau alte surse (/opt)

Odat ce ai fcut partiiile, mai putei doar aduga altele. Schimbarea capacitii sau tipului
partiiilor existente este posibil dar nu v sftuim s facei acest lucru.
mprirea discului fix n partiii este fcut de administratorul de sistem. Pe sistemele mai mari, el
sau ea va expanda o partiie pe mai multe discuri fixe, folosind programe adecvate. Cele mai multe distribuii
permit setri prestabilite, optimizate pentru staii de lucru (utilizatori de nivel mediu) sau servere cu scop
general, acceptnd, n acelai timp, i partiionarea manual. Pe parcursul procesului de instalare putei
defini propriul tipar de partiionare, folosind fie unealta specific distribuiei alese, care este prezentat n
interfa grafic, fie fdisk, o unealt bazat pe modul text, cu care putei face partiii i alege tipul acestora.
O instalare ca staie de lucru standard este destinat folosirii, n principal, de ctre una i aceeai
persoan. Programele selectate pentru instalare reflect acest lucru i greul apas asupra pachetelor
utilizate n mod curent, precum teme atrgtoare pentru spaiul de lucru, unelte pentru dezvoltare, programe
pentru clientul de pot electronic, programe multimedia, internet i alte servicii. Totul este pus laolalt pe o
partiie mare, spaiul alocat pentru swap este setat la o mrime de dou ori mai mare dect memoria fizic i
iat c staia ta de lucru este gata, asigurnd cel mai mare spaiu disponibil pe discul fix pentru folosina
personal, dar cu dezavantajul posibilelor pierderi de date n cazul situaiilor care ridic probleme.
Pe servere, datele sistemului sunt inute separat de datele utilizatorilor. Programele care ofer
servicii sunt inute separat de datele necesare acestor servicii. Partiionarea este fcut diferit pe astfel de
sisteme:

o partiie care conine toate datele necesare pentru pornirea sistemului


o partiie care conine fiierele de configurare i programele serverului
una sau mai multe partiii care conin date stocate n server, precum tabele din bazele de
date, mail-urile utilizatorilor, arhiva ftp, etc
o partiie care conine programele i aplicaiile utilizatorului
una sau mai multe partiii care conin fiiere specifice utilizatorilor (directoarele personale)
una sau mai multe partiii swap (memoria virtual)
Serverele au mai mult memorie fizic i, deci, mai mult spaiu alocat pentru swap. Anumite
procese asigurate de server, cum ar fi bazele de date, pot solicita mai mult swap dect de obicei; citii
documentaia specific pentru informaii detaliate. Pentru a mri performanele, swap-ul este divizat n mai
multe partiii.

3.1.2.3. Punctele de montare


Toate partiiile sunt ataate la sistem prin punctele de montare. Punctul de montare definete locul
unui set anume de date n sistemul de fiiere. De regul, partiiile sunt conectate prin partiia root. n aceast
partiie, care este indicat prin caracterul ( / ), sunt create nite directoare. Aceste directoare goale vor fi
punctul de start al partiiilor care vor fi ataate la ele. De exemplu: se d o partiie care are urmtoarele
directoare:

Dorim s atam aceast partiie n sistemul de fiiere ntr-un director numit /opt/media. Pentru
a face acest lucru, administratorul de sistem trebuie s se asigure c directorul /opt/media exist n
sistem. Este de preferat ca acest director s fie i gol. Despre cum se face acest lucru vom vorbi tot n acest
33

capitol. Apoi, utiliznd comanda mount, administratorul poate ataa partiia la sistem. Dac verificai
coninutul directorului /opt/media, care era gol, vei constata c el conine acum fiierele i directoarele
care exist pe mediul montat (disc fix sau partiie a discului fix, CD, DVD, memorie flash, USB sau alte
dispozitive de stocare).
Putei obine informaii despre partiii i punctele lor de montare prin comanda df (care vine de la
disk full - disc plin sau disk free disc liber). n Linux, df este versiunea GNU i suport opiunea -h sau
human readable inteligibil, care ofer date mai prietenoase cu utilizatorul. Reinei c mainile UNIX au
propria versiune a comenzii df i propriile versiuni ale altor comenzi. Comportamentul acestora este acelai,
n mod obinuit, dar versiunile GNU ale uneltelor de baz au mai multe faciliti i, n general, sunt mai bune.
Comanda df afieaz informaii doar despre partiiile active i care nu sunt de tipul swap. Ele pot
include partiii ale altor sisteme din reea, precum n exemplul de mai jos, n care directoarele personale sunt
montate dintr-un server de fiiere accesat prin reea, o situaie des ntlnit n mediile corporatiste.

3.1.3. Mai multe despre tiparul sistemului de fiiere


3.1.3.1. Reprezentare
Fiierele din Linux sunt prezentate, prin convenie, ca o structur arborescent. Pe un sistem Linux
standard vei gsi c tiparul sistemului de fiiere se ncadreaz n schema prezentat mai jos.
Figura 3-1. Tiparul sistemului de fiiere din Linux

34

Acesta este tiparul unui sistem RedHat. n funcie de administratorul sistemului, de distribuie i de
destinaia calculatorului n cauz, structura poate varia pentru c directoarele pot fi adugate sau scoase
dup dorin. Nici numele directoarelor prezentate mai sus nu sunt neaprat necesare n aceast form; ele
sunt doar o convenie.
Structura arborescent a sistemului de fiiere ncepe cu trunchiul, indicat de caracterul ( / ). Acest
director, care conine toate directoarele i fiierele sistemului, este numit directorul root sau rdcina
sistemului de fiiere.
Directoarele care se afl pe palierul imediat urmtor directorului rdcin (root) sunt adesea
precedate de caracterul ( / ), pentru a indica poziia acestora i pentru a evita confuzia cu alte directoare care
pot avea acelai nume. Atunci cnd ncepei s lucrai pe un sistem nou, este o idee bun s explorai
directorul rdcin al acestuia. Iat ce putei obine:

Tabelul 3-2. Subdirectoarele directorului rdcin (root)

Director

Coninut

/bin

Programe obinuite, folosite de sistem, de administratorul sistemului i de utilizatori.

/boot

Fiierele necesare pornirii sistemului i kernelul, vmlinuz. n unele distribuii recente, datele
grub. Grub vine de la GRand Unified Boot Loader i este o ncercare de a scpa de diversele
ncrctoare de sistem care exist azi.

/dev

Conine referine la toate echipamentele periferice, care sunt reprezentate ca fiiere cu


proprieti speciale.

/etc

Cele mai importante fiiere de configurare ale sistemului sunt n directorul /etc, acest director
coninnd date asemntoare cu cele din Panoul de control al Windows-ului.

/home

Directoarele personale ale utilizatorilor obinuii.

/initrd

(n anumite distribuii) Informaii pentru pornirea sistemului. Nu l tergei!

/lib

Fiierele librriilor, care includ fiierele programelor folosite de sistem sau de utilizatori.

/lost+found

Fiecare partiie are un lost+found (pierdute i gsite) n directorul principal. Fiierele salvate n
urma avariilor sunt n acest director.

/misc

Pentru scopuri diverse

/mnt

Punctul standard de montare pentru sisteme de fiiere externe, cum ar fi CD-ROM sau camere
digitale.

/net

Punctul standard de montare pentru sistemele de fiiere din reea

/opt

Conine n mod normal programe de la tere pri

/proc

Un sistem de fiiere virtual care conine informaii despre resursele sistemului. Mai multe
informaii despre nelesul fiierelor din proc sunt obinute prin comanda man proc
introdus ntr-o fereastr terminal. Fiierul proc.txt discut sistemul de fiiere virtual n
detaliu.

/root

Directorul personal al administratorului de sistem. Remarcai diferena dintre /, directorul


rdcin, i /root, directorul personal (home) al utilizatorului root, cel cu privilegii administrative.

/sbin

Programele folosite de sistem i de administratorului sistemului.

/tmp

Spaiu pentru folosina temporar a sistemului, care este ters la repornire, aa c nu l folosii
pentru a salva ceva!

/usr

Programe, librrii, documentaie .a. pentru toate programele folosite de utilizatori.

/var

Loc de stocare pentru toate fiierele variabile i temporare create de utilizatori, precum fiiere
jurnal, pot electronic n ateptare, fiiere care ateapt s fie tiprite, fiiere descrcate de
pe Internet, sau fiiere care pstreaz imaginea unui CD nainte de scrierea acestuia.
Cum putei afla crei partiii i aparine un director? Folosind comanda df cu un punct (.) drept
35

opiune, se afieaz partiia creia aparine directorul n care ne aflm i informaii despre spaiul utilizat pe
aceast partiie:

Ca regul, fiecare director care se afl imediat sub directorul rdcin se afl pe partiia root, cu o
singur excepie: s nu fie afiat ca intrare separat n listarea complet returnat la comanda df (sau df -h
fr alte opiuni).
Citii mai multe despre acest subiect n man hier.

3.1.3.2. Sistemul de fiiere aa cum este n realitate


Pentru cei mai muli utilizatori i n cazul sarcinilor obinuite de administrare a sistemului, este
suficient s se accepte c fiierele i directoarele sunt ordonate ntr-o structur arborescent. Calculatorul
ns nu nelege nimic din noiunea de copac sau structur arborescent.
Fiecare partiie are un sistem de fiiere propriu. Dac ne imaginm toate aceste sisteme de fiiere
mpreun, ne putem forma o idee despre structura arborescent a ntregului sistem, dar nu este chiar aa de
simplu. ntr-un sistem de fiiere, un fiier este reprezentat de un punct sau nod (inode), un fel de serie care
conine informaii despre datele care individualizeaz acel fiier: cui aparine i unde se afl stocat pe discul
fix.
Fiecare partiie are seturi proprii de noduri; pe un sistem cu mai multe partiii pot exista fiiere cu
numere de serie identice.
Fiecare nod descrie structura datelor aflate pe discul fix, pstrnd informaii despre proprietile
fiierului, inclusiv locul fizic de pe discul fix n care se afl un anume fiier. Atunci cnd un disc fix este
iniializat ca mediu de stocare, n mod obinuit pe parcursul procesului de instalare a sistemului sau atunci
cnd sunt adugate discuri noi unui sistem, este creat mulimea acestor noduri, o mulime care are un
numr fix, limitat, de elemente. Elementele acestei mulimi corespund numrului maxim de fiiere, de toate
tipurile (se regsesc aici directoarele, fiierele speciale, legturile, etc.) care pot exista pe aceeai partiie.
Putem socoti c ne bazm pe existena unui nod la fiecare 2 pn la 8 ko de memorie ai mediului de
stocare.
Atunci cnd facem un fiier nou, el primete un nod liber. n acest nod sunt urmtoarele informaii:

Deintorul i grupul cruia acesta aparine.


Tipul fiierului (obinuit, director,...).
Permisiunile care sunt ataate fiierului, consultai Seciunea 3.4.1.
Data i ora la care fiierul a fost creat, deschis i editat.
Data i ora la care aceste informaii coninute de nod au fost schimbate.
Numrul de legturi ctre fiierul respectiv (subiect detaliat pe parcursul acestui capitol).
Mrimea fiierului.
O adres care arat locul fizic pe discul fix ocupat de fiier.

Singurele informaii care nu sunt incluse ntr-un nod sunt cele referitoare la numele fiierului i
directorul su. Aceste informaii sunt pstrate ntr-un director special dedicat fiierelor. Prin compararea
numelor fiierelor i a nodurilor, sistemul construiete o structur arborescent, pe care utilizatorii o pot
nelege. Utilizatorii pot afia numrul nodurilor prin opiunea -i a comenzii ls. Nodurile au alocat un spaiu
special pe discul fix.

3.2. Orientarea prin sistemul de fiiere


3.2.1. Trasee (path adres, cale)
Atunci cnd dorii ca sistemul s execute o comand, nu trebuie s dai adresa ei complet pentru
36

executarea acelei comenzi. De exemplu, tim despre comanda ls c se afl n directorul /bin (verificai cu
which -a ls), totui nu trebuie s folosim aceast comand n formatul /bin/ls pentru a lista coninutul
directorului curent.
Variabila de mediu PATH se ocup de aceste situaii. Aceast variabil listeaz acele directoare
din sistem n care se gsesc fiiere executabile, pentru ca utilizatorii s nu fie obligai s memoreze adresele
comenzilor sau s tasteze foarte multe caractere. Astfel, PATH conine multe directoare care au n numele
lor bin, dup cum ne arat imaginea de mai jos. Comanda echo este folosit pentru afiarea coninutului
($) variabilei PATH:

n acest exemplu, directoarele /opt/local/bin, /usr/X11R6/bin, /usr/bin,


/usr/sbin i /bin sunt explorate frecvent n cutarea programelor solicitate. De ndat ce este gsit o
potrivire, cutarea este oprit, chiar dac nu toate directoarele din variabila de mediu au fost cercetate.
Acest lucru poate s conduc la situaii neateptate. n exemplul urmtor, utilizatoarea tie c exist un
program numit sendsms prin care poate trimite mesaje SMS i c un alt utilizator al aceluiai sistem l poate
folosi, dar ea nu l poate accesa. Diferena este datorat configuraiei variabilei PATH (adic ordinea n care
sunt dispuse directoarele coninute de variabil):

V rugm s remarcai folosirea comenzii su (schimb utilizatorul), care v permite s deschidei o


consol n mediul altui utilizator, cu condiia s cunoatei parola acelui utilizator.
Caracterul ( \ ) ne arat c linia curent se continu cu urmtoarea, fr a fi separate prin apsarea
tastei Enter.
Iat un exemplu n care un utilizator dorete s verifice numrul de linii dintr-un fiier prin comanda
wc (word count numr cuvintele), dar trebuie s anuleze comanda prin combinaia de taste Ctrl+C,
deoarece nu se ntmpl nimic:

Comanda which ne arat c acest utilizator are un director bin n directorul su personal, care
conine un program numit tot wc. Deoarece programul wc, care se afl n directorul su personal, este gsit
primul la cutarea prin variabila de mediu, acest program este cel executat, iar ceea ce i se spune s
execute nu este recunoscut, aa c trebuie oprit. Pentru a rezolva aceast problem exist mai multe ci
(ntotdeauna exist mai multe ci pentru a rezolva o problem n Linux): una ar fi redenumirea programului
wc propriu utilizatorului sau utilizatorul poate s furnizeze adresa complet a comenzii pe care o dorete,
care poate fi aflat prin folosirea comenzii which cu opiunea -a.
Dac un utilizator folosete mai frecvent programe din alte directoare, el poate schimba
comportamentul variabilei de mediu, pentru ca aceasta s caute n directorul personal la sfrit:
37

Schimbrile nu sunt permanente!


Trebuie s tii c atunci cnd folosii comanda export ntr-o consol, schimbrile sunt temporare,
ele fiind valide doar pentru sesiunea curent (pn ce v deautentificai). Deschiderea unei noi sesiuni, chiar
n cazul n care sesiunea curent este n desfurare, va pstra comportamentul iniial al variabilei de mediu.
n Seciunea 7.2 vom nva cum putem face ca aceste schimbri s devin permanente, prin adugarea
liniilor n cauz la fiierele de configurare ale consolei.

3.2.2. Trasee absolute i relative


O adres, care este traseul pe care trebuie s-l urmai n structura de fiiere pentru a ajunge la un
anumit fiier, poate fi descris ca pornind de la trunchiul copacului ( / sau directorul rdcin root). n acest
caz, traseul ncepe cu caracterul ( / ) i este denumit traseu absolut, deoarece nu pot fi fcute confuzii:
numai un singur fiier din sistem corespunde acestui traseu.
n situaia n care traseul nu ncepe cu caracterul ( / ), pot exista confuzii, precum aceea dintre

~/bin/wc (fiier care se afl n directorul personal al utilizatorului) i bin/wc, care se gsete n
directorul /usr, confuzie reflectat de exemplul pe care l-am oferit mai sus. Traseele care nu ncep cu /
sunt considerate trasee relative.
Pentru traseele relative vom folosi ntotdeauna caracterele (.) i (..) pentru directorul curent i
directorul superior. Iat cteva exemple:

Atunci cnd dorii s compilai din codul-surs, documentaia de instalare v ofer adesea

instruciuni care v spun s rulai comanda ./configure, care pornete programul configure din
directorul curent (cel care vine cu noul cod) i nu alt program configure care se gsete n alt parte
a sistemului.
n fiierele HTML, traseele relative sunt folosite la realizarea unor pagini care pot fi uor mutate n
alte locuri:

Remarcai diferenele din captura de ecran de mai jos:

3.2.3. Cele mai importante fiiere i directoare


3.2.3.1. Kernelul
Kernelul este inima sistemului. El asigur comunicaiile dintre dispozitivele sistemului. De
asemenea, kernelul pornete i oprete procesele i serviciile exact atunci cnd este nevoie. O mulime de
alte sarcini importante sunt executate de kernel, att de multe nct exist o list special de discuii,
destinat dezvoltatorilor kernelului, numai pe acest subiect, prin care se trateaz un volum impresionant de
informaii. Discutarea kernelului n detaliu ne-ar purta prea departe de scopul acestui ghid. Pentru moment,
este suficient s tii despre acesta c este cel mai important fiier al sistemului.

3.2.3.2. Consola (shell-ul)


3.2.3.2.1. Ce este o consol?
Atunci cnd am cutat o definiie potrivit conceptului de consol, am ntmpinat multe greuti.

38

Exist tot felul de definiii, care ncep cu simpla comparaie care spune consola este precum volanul unei
maini, includ definiia destul de vag din manualul Bash: consola este un interpretor de comenzi
compatibil cu limbajul sh i se termin cu expresia, i mai obscur, consola asigur interaciunea dintre
sistem i utilizatorii acestuia. Consola este mai mult dect att.
Cea mai potrivit imagine este aceea potrivit creia consola este o cale de comunicare cu sistemul,
un limbaj. Cei mai muli utilizatori folosesc alt limbaj, cel al clicului de maus, dezvoltat pentru spaiul de lucru.
Dar n acest limbaj calculatorul conduce conversaia, utilizatorul avnd doar un rol pasiv, n care poate alege
doar dintre sarcinile care i sunt oferite. Este greu pentru un programator s includ toate opiunile i toate
comenzile, cu posibilitile lor, ntr-o interfa grafic. De aceea, interfeele grafice (GUI`s) sunt mai puin
capabile dect comanda sau comenzile care sunt incluse n suportul (backend-ul) sistemului.
Consola, pe de alt parte, este o cale avansat prin care comunicai cu sistemul, deoarece permite
o comunicare n ambele sensuri, n care dumneavoastr putei chiar prelua iniiativa. Ambii parteneri sunt
egali, aa c pot fi testate noi idei. Consola permite utilizatorilor s foloseasc sistemul ntr-un mod flexibil. O
nsuire suplimentar este aceea prin care se poate realiza automatizarea sarcinilor.
3.2.3.2.2. Tipuri de console
Dup cum oamenii cunosc mai multe limbi i dialecte, calculatorul nelege i el mai multe tipuri de
console:

sh sau consola Bourne: consola original din sistemele UNIX, folosit nc n aceste
sisteme sau n mediile nrudite cu UNIX-ul. Este o consol de baz, un program mic cu cteva
faciliti. Atunci cnd este n modul compatibil POSIX, consola bash emuleaz comportamentul
consolei sh.
bash sau consola Bourne Again (Bourne Again SHell): este consola standard GNU,
intuitiv i flexibil. Recomandat pentru utilizatorii nceptori, este, n acelai timp, o unealt
puternic la ndemna celor avansai sau profesioniti. n Linux, bash este consola standard pentru
utilizatorii obinuii. Aceast consol mai este numit superconsola Bourne, deoarece conine mai
multe suplimente i module. Deci consola Bourne Again este compatibil cu consola Bourne:
comenzile care merg n sh vor funciona i n bash. Inversul nu este valabil ntotdeauna. Toate
exemplele i exerciiile din aceast carte folosesc consola bash.
csh sau consola C: sintaxa acestei console este asemntoare cu cea a limbajului de
programare C. Este solicitat ndeosebi de programatori.
tcsh sau consola Turbo C: este o dezvoltare a consolei C, mai prietenoas cu utilizatorii i
mai rapid.
ksh sau consola Korn: este apreciat mai mult de persoanele care au experien n mediul
UNIX. Este o dezvoltare a consolei Bourne; n configuraia standard, este un comar pentru
utilizatorii nceptori.
Fiierul /etc/shells v arat consolele existente ntr-un sistem Linux:

Consol Bourne simulat


Luai aminte c directorul /bin/sh conine, de regul, o legtur ctre consola Bash, executat
n modul de compatibilitate cu consola Bourne, atunci cnd este adresat n acest fel.
Consola implicit a sistemului dumneavoastr se afl n fiierul /etc/passwd i este artat de
o linie asemntoare cu urmtoarea:

Pentru a schimba o consol cu alta, introducei numele consolei pe care o dorii ntr-un terminal
activ. Sistemul gsete directorul n care apare numele introdus de dumneavoastr prin utilizarea setrilor
din PATH i, fiind vorba despre un fiier executabil (program), consola curent l activeaz i execut. Va fi
afiat un alt prompter, deoarece fiecare consol se manifest ntr-un mod aparte:

39

3.2.3.2.3. Ce consol folosesc?


Dac nu tii ce consol folosii, fie verificai linia care aparine contului dumneavoastr din /etc/

passwd, fie tastai:


echo $SHELL

3.2.3.3. Directorul (dosarul) dumneavoastr personal (home directory)


Directorul personal este destinaia implicit dup conectarea la sistem. n cele mai multe cazuri,
este un subdirector al directorului /home, dei acest lucru poate s difere la unele distribuii. Acelai director
poate s se afle pe discul fix al unui server de fiiere din reea; n acest caz, directorul personal poate fi gsit
la /nethome/numele_dumneavoastr_de_utilizator (/nethome/your_user_name). Alt
posibilitate ar fi aceea n care administratorul de sistem opteaz pentru un tipar mai puin inteligibil i
directorul personal ar putea exista n /disk6/HU/07/jgillard.
Oricare ar fi traseul directorului personal, nu trebuie s v batei capul prea mult cu el. Traseul
corect al directorului dumneavoastr personal este stocat n variabila de mediu HOME, pentru ca programele
care solicit acest traseu s l poat gsi. Comanda echo va afia coninutul acestei variabile:

Putei face absolut orice dorii n directorul personal. Putei face ct de multe fiiere dorii n tot
attea directoare, ceea ce v limiteaz fiind doar posibilitile fizice ale echipamentului i mrimea partiiei
sau, cteodat, administratorul, care poate s aloce o cot fiecrui utilizator. Limitarea accesului la discurile
fixe era o practic obinuit pe vremea cnd preul pe unitatea de stocare era destul de ridicat. n zilele
noastre, cotele sunt alocate aproape exclusiv n cazul mediilor de stocare foarte mari. Putei vedea dac
este alocat o cot cu ajutorul comenzii quota:

n cazul n care sunt alocate cote, vei vedea o list cu partiiile restricionate i limitrile specifice.
Depirea limitelor poate fi tolerat pe o perioad de graie cu puine restricii sau fr nici un fel de restricie.
Informaii detaliate pot fi gsite prin comenzile info quota sau man quota.
Nu gsii quota?
Dac sistemul nu poate gsi quota, atunci nu este aplicat nici o limitare n utilizarea sistemului de
fiiere.
Directorul personal este indicat de caracterul (~), care reprezint prescurtarea de la /traseul
ctre directorul personal/numele tu de utilizator (/path_to_home/user_name).
i prescurtarea se afl stocat n variabila de mediu HOME, aa c nu trebuie s facei nimic pentru a o
activa.
Iat o aplicaie foarte simpl i la obiect: utilizatorul de mai jos se mut din directorul

/var/music/albums/arno/2001 n directorul images, care se afl n directorul su personal,


folosind o comand elegant:

Pe parcursul acestui capitol vom vorbi despre comenzile pe care le folosim n gestionarea fiierelor
40

i directoarelor pentru a menine directorul personal curat.

3.2.4. Cele mai importante fiiere de configurare


Dup cum am mai spus, cele mai multe fiiere de configurare se gsesc n directorul /etc.
Coninutul poate fi afiat prin comanda cat, care trimite fiierele text la ieirea standard (de regul,
monitorul). Sintaxa este simpl:
cat fiier1 fiier2....fiierN
Vom ncerca s v prezentm n aceast seciune o trecere n revist a celor mai importante fiiere
de configurare. Cu siguran c lista nu e complet. Prin adugarea pachetelor suplimentare, sunt adugate
i fiierele de configurare pentru aceste pachete n /etc. Cnd vei citi fiierele de configurare, vei observa
c ele sunt bine comentate i foarte bine explicate. Anumite fiiere au chiar pagini de manual, care conin
documentaie n plus, precum man group.
Tabelul 3-3. Cele mai ntlnite fiiere de configurare

Fiier

Informaii/servicii

aliases

Fiier pentru aliasurile de pot electronic utilizat cu serverele Sendmail i


Postfix. Existena unui server de mail pe fiecare sistem este o practic comun
n lumea UNIX-ului, iar aproape fiecare distribuie de Linux conine un pachet
Sendmail. n acest fiier, numele utilizatorilor locali sunt comparate cu numele
reale, aa cum apar ele n adresele de e-mail sau cu alte adrese locale.

apache

Fiierele de configurare pentru serverul web Apache.

bashrc

Fiier de configurare extins pentru consola Bourne Again. Definete funciile i


aliasurile pentru toi utilizatorii. Alte console pot avea propriile fiiere de
configurare extinse, precum cshcr.

directoarele crontab i Configurrile sarcinilor care trebuie executate periodic executarea copiilor de
siguran, actualizri ale sistemului, curarea sistemului, actualizarea
cron.*
rapoartelor, etc.

default

Opiunile implicite ale anumitor comenzi, precum useradd.

filesystems

Sistemele de fiiere cunoscute: ext3, vfat, iso9660, etc.

fstab

Listarea partiiilor cu punctele lor de montare.

ftp*

Configurrile serverului ftp: cine se poate conecta, ce pri ale sistemului sunt
accesibile, etc.

group

Fiierul de configurare pentru grupurile de utilizatori. Folosii utilitarele


securizate groupadd, groupmod i groupdel pentru editarea acestor fiiere.
Editai manual numai dac avei experien.

hosts

O list a calculatoarelor care pot fi contactate folosind reeaua, fr a avea


nevoie de DNS-uri. Nu are nimic de-a face cu configurrile de reea ale
sistemului, care se gsesc n /etc/sysconfig.

inittab

Informaii pentru pornirea sistemului: mod, numrul consolelor text, etc.

issue

Informaii despre distribuie (versiune i/sau informaii despre kernel).

ld.so.conf

Localizarea fiierelor biblioteci.

lilo.conf,
silo.conf,
aboot.conf, etc.

Informaii pentru pornirea sistemului necesare ncrctorului de sisteme din


Linux, LILO (Linux Loader), dar care este nlocuit gradual cu GRUB.

logrotate.*

Actualizarea (rotirea) fiierelor jurnal, un sistem care previne acumularea n


exces a fiierelor tip jurnal.

mail

Director care conine instruciuni pentru comportamentul serverului de mail.

modules.conf

Configurri ale modulelor care asigur nsuiri speciale (drivere module de


nucleu).

motd

Mesajul zilei: este artat oricui se conecteaz la sistem (n modul text), poate fi

41

folosit de administratorul de sistem pentru a anuna nchiderea sistemului


pentru ntreinere, etc.

mtab

Sistemele de fiiere montate. V sftuim s nu editai acest fiier niciodat.

nsswitch.conf

Ordinea n care trebuie contactate numele de aplicaia de soluionare a


echivalenei, cnd un proces solicit apelarea unei gazde (host name).

pam.d

Configurrile modulelor de autentificare.

passwd

Listeaz utilizatorii locali. Folosii utilitarele securizate useradd, usermod i


userdel pentru a edita acest fiier. Editai manual numai dac avei experien.

printcap

Fiier depit, dar nc utilizat, de configurare a imprimantei. Nu editai manual


dect dac suntei un utilizator experimentat.

profile

Fiier de configurare extins al mediului consolei: variabile, proprieti implicite


ale fiierelor noi, limitri ale resurselor, etc.

rc*

Director care definete serviciile active pentru fiecare nivel de executare


(runlevel).

resolv.conf

Ordinea n care sunt contactate serverele DNS (Domain Name Servers).

sendmail.cf

Fiierul principal de configurare pentru serviciul Sendmail.

services

Conexiunile acceptate de sistemul respectiv (porturile deschise).

sndconfig sau sound Configurrile plcii de sunet i ale evenimentelor conexe.


ssh

Directorul care conine fiierele de configurare ale consolei securizate client i


server.

sysconfig

Director care conine fiierele de configurare ale sistemului: maus, tastatur,


reea, spaiu de lucru, frecvena sistemului, administrarea consumului, etc
(specific distribuiei RedHat).

X11

Setrile serverului grafic X. RedHat folosete Xfree, ceea ce se reflect n


numele principalului fiier de configurare, Xfree86Config. Conine i indicaiile
generale pentru administratorii de ferestre disponibili n sistem, de exemplu
gdm, fvwm, twm, etc.

xinetd.* sau
inetd.conf

Fiiere de configurare pentru servicii Internet care ruleaz prin serviciile


(extinse) de Internet ale sistemului (servere care nu ruleaz un serviciu
independent).

Pe parcursul acestui ghid vom afla mai multe lucruri despre aceste fiiere i vom studia cteva n
detaliu.

3.2.5. Cele mai ntlnite dispozitive


Dispozitivele, n general orice periferice ataate la un calculator n afar de procesorul propriu-zis,
sunt vzute de sistem ca intrri n directorul /dev. Unul din avantajele modului n care UNIX-ul lucreaz cu
dispozitivele este acela c nici utilizatorul i nici sistemul nu trebuie s-i bat prea mult capul cu
specificaiile acestor dispozitive.
Cei nou venii n Linux, sau UNIX n general, sunt adesea copleii de volumul de concepte i
termeni pe care trebuie s le nvee. De aceea v prezentm mai jos o list cu dispozitivele despre care vom
vorbi pe parcursul acestui ghid.
Tabelul 3-4. Dispozitive des ntlnite

Nume

Dispozitiv

cdrom

Unitate CD

console

Intrare special pentru consola folosit n mod curent

cua*

Porturi seriale

dsp*

Dispozitive pentru eantionare i nregistrare

42

fd*

Intrri pentru dispozitivele floppy (dischete), intrarea implicit fiind /


dev/fd0, unitatea de dischete de 1,44 MO

hd [a-t] [1-16]

Asisten pentru unitile IDE, care asigur numrul maxim de


partiii

ir*

Dispozitive infrarou

isdn*

Administrarea legturilor ISDN

js*

Joystick-uri

lp*

Imprimante

mem

Memorie

midi*

Player midi

mixer* i music

Model ideal al unui mixer (combin sau adaug semnale audio)

modem

Modem

mouse (sau msmouse, logimouse, Toate felurile de mausuri


psmouse, input/mice, psaux)

null

Sac fr fund de gunoi

par*

Intrri pentru asistena porturilor paralele

pty*

Pseudoterminale

radio*

Pentru dispozitive radioamatori (HAM`s)

ram*

Dispozitive de pornire a sistemului

sd*

Asisten discuri i partiii SCSI

sequencer

Pentru aplicaii audio care folosesc facilitile de sintetizare ale


plcii audio (controller-e ale dispozitivelor MIDI)

tty*

Console virtuale care simuleaz terminale vt100

usb*

Dispozitive USB i scannere

video*

De utilizat pentru plcile grafice care includ video

3.2.6. Cele mai ntlnite fiiere variabile


n directorul /var se gsete un set de directoare pentru stocarea datelor care nu sunt, prin
specificul lor, constante (opuse celor din programul ls sau celor cuprinse n fiierele de configurare ale
sistemului, care se schimb foarte rar sau chiar deloc). Toate fiierele care se schimb frecvent, precum
fiierele raport (log files), csuele de mail, cozile n ateptare, etc, sunt pstrate n subdirectoare ale
directorului /var.
Ca msur de securitate, aceste fiiere sunt pstrate, de regul, separat de fiierele principale ale
sistemului, pentru a le ine sub supraveghere strict, cu nsprirea permisiunilor acolo unde este cazul. O
mare parte a acestor fiiere au nevoie de mai multe permisiuni dect n mod normal, precum /var/tmp,
care trebuie s fie scris de oricine. Multe din activitile utilizatorilor pot fi gsite aici i chiar activiti
generate de utilizatori necunoscui, conectai la sistemul dumneavoastr prin Internet. Iat deci un motiv
pentru care directorul /var, cu toate subdirectoarele sale, se afl, de regul, pe o partiie separat. n acest
mod nu exist riscul ca o bomb de mail, de exemplu, s poat umple tot sistemul de fiiere, afectnd datele
importante, cum ar fi programele i fiierele de configurare.
/var/tmp i /tmp
Fiierele din /tmp pot fi terse de ctre sistem fr preaviz, ca parte a sarcinilor obinuite sau la
repornirea calculatorului. Pe unele sisteme (personalizate) i /var/tmp poate s se comporte imprevizibil.
Totui, pentru c nu este un comportament implicit, v sftuim s folosii directorul /var/tmp pentru
salvarea fiierelor temporare. Dac avei dubii, ntrebai administratorul de sistem. Dac acest administrator
suntei chiar dumneavoastr, putei fi ndeajuns de sigur c directorul despre care vorbim se comport

43

normal dac nu ai schimbat contient nsuirile /var/tmp (ca root, deoarece un utilizator obinuit nu o
poate face).
Orice ai face, ncercai s v limitai la privilegiile asociate unui utilizator obinuit nu salvai fiiere
direct n seciunea de root ( / ) a sistemului de fiiere, nu le punei n directorul /usr sau n subdirectoarele
acestuia ori n alt loc dedicat. Astfel v este limitat accesul doar la fiierele sigure, care nu implic modificri
majore n sistem.
Unul dintre principalele sisteme de securitate dintr-un sistem UNIX, implementat, de asemenea, pe
toate mainile Linux, este facilitatea de pstrare a fiierelor jurnal, care nregistreaz toate aciunile
utilizatorilor, procesele, evenimentele din sistem, etc. Fiierul de configurare al aa-numitului syslogdaemon
determin unde i pentru ct timp vor fi pstrate informaiile din fiierele jurnal. Locul implicit pentru fiierele
jurnal este /var/log, i conine jurnalele de acces, jurnalele serviciilor, mesajele de sistem, .a..
n directorul /var sunt i datele serverelor, care sunt inute aici pentru a fi separate de datele
sensibile, precum programele n sine i fiierele de configurare. Un exemplu tipic sistemelor Linux este
directorul /var/www, care conine paginile HTML, scripturile i imaginile pe care le ofer serverul. V
sftuim ca i sistemul de fiiere FTP care se afl pe un server FTP (datele care pot fi descrcate de un
client aflat la distan) s fie pstrate ntr-un subdirector al lui /var. Pentru c aceste date sunt accesibile
publicului i schimbate adesea de utilizatori necunoscui, este mai sigur s le pstrai aici, departe de
partiiile i directoarele care conin date sensibile.
n cazul celor mai multe instalri ca staii de lucru, /var/spool va conine cel puin un director
at i altul cron, n care vom gsi sarcinile programate. Pe staiile de lucru pe care sunt instalate
programele pentru birou, acest director conine i lpd, care pstreaz informaii despre lucrrile care
ateapt tiprirea, fiierele de configurare ale imprimantei, ct i fiierele jurnal ale acesteia.
Pe sistemele folosite ca servere vom gsi, n general, directorul /var/spool/mail, care
conine mailurile primite de utilizatorii locali, stocate n fiiere separate pentru fiecare utilizator, aa numita
csu a utilizatorului (user`s inbox). Un director nrudit este mqueue, coada de ateptare pentru
mesajele de pot electronic netrimise nc. Aceste pri ale sistemului pot fi foarte solicitate n cazul
serverelor de mail care au foarte muli utilizatori. Serverele de tiri folosesc i ele directorul /var/spool
din cauza cantitilor enorme de mesaje pe care le proceseaz.
Directorul /var/lib/rpm este specific distribuiilor bazate pe RPM (Administratorul de pachete
din RedHat); este locul n care sunt stocate informaiile despre pachetele RedHat. Ali administratori de
pachete pstreaz datele specifice tot n acest director /var.

3.3. Manipularea fiierelor


3.3.1. Consultarea proprietilor fiierelor
3.3.1.1. Mai multe lucruri despre comanda ls
n afar de numele unui fiier, ls v poate oferi mult mai multe informaii, cum ar fi tipul fiierului,
despre care am vorbit deja. V poate arta, de asemenea, permisiunile asociate unui fiier, mrimea
fiierului, numrul de nod (inode), data i ora la care a fost fcut, deintori i numrul de legturi ctre acel
fiier. Dac asociem comenzii ls opiunea -a, sunt afiate i fiierele care sunt n mod normal ascunse.
Numele acestor fiiere ncepe cu un punct (caracterul .). Fiierele de configurare din directorul
dumneavoastr personal sunt exemple tipice. Dup ce vei lucra o perioad de timp pe un anume sistem,
vei observa c exist zeci de fiiere i directoare care nu sunt indexate. n afar de acest lucru, fiecare
director conine un fiier al crui nume conine doar un punct (.) i altul care conine doar dou puncte (..),
care sunt folosite n combinaie cu numrul nodului asociat lor pentru a determina poziia directorului n
sistemul arborescent de fiiere.
Trebuie neaprat s citii paginile Info despre ls, deoarece este o comand des utilizat, care are
multe opiuni folositoare. Opiunile pot fi combinate, comportament care este specific multor comenzi i
opiuni ale UNIX-ului. O combinaie des ntlnit este ls -al; ea arat lista ntreag a fiierelor cu
proprietile lor precum i destinaiile spre care intesc eventualele legturi simbolice. ls -latr afieaz
aceleai fiiere, doar c n ordine invers, n aa fel nct fiierele care au fost modificate recent apar la baza
listei. Iat cteva exemple:

44

n cele mai multe distribuii de Linux, comanda ls este executat implicit sub forma aliasului colorls. Aceast facilitate v permite vizualizarea tipului fiierelor fr a folosi vreo opiune asupra ls. Pentru a v
arta aceste informaii, fiecare tip de fiier este prezentat printr-o culoare distinct. Schema standard se afl
n /etc/DIR_COLORS:
Tabelul 3-5. Schema implicit de culori pentru color-ls

Culoare

Tip de fiier

albastru

directoare

rou

arhive comprimate

alb

fiiere text

roz

imagini

cyan

legturi

galben

dispozitive

verde

executabile

rou intermitent legturi deteriorate


Mai multe informaii vei gsi n paginile man. Aceste informaii erau afiate, la nceputuri, prin
ataarea unui sufix fiecrui fiier de tip special. Pentru utilizarea n medii monocolor (cum ar fi printarea unei
liste a directoarelor) i pentru accesibilitate, aceast schem este nc n uz:
Tabelul 3-6. Schema implicit pentru sufixele ls

Caracter

Tip de fiier

nimic

fiier obinuit

director

fiier executabil

legtur

socket

conexiuni (named pipe)

O descriere complet a funciilor i facilitilor comenzii ls poate fi citit prin comanda info

coreutils ls.

45

3.3.1.2. Mai multe unelte


Pentru a afla mai multe despre tipul de date cu care lucrai, folosii comanda file. Prin teste care
verific proprietile fiierelor, numere magice i teste de limbaj, file ncearc s afieze proprietile unui
fiier ntr-un format mai elaborat. Iat cteva exemple:

Comanda file poate fi folosit cu mai multe opiuni; opiunea -z v permite s v uitai n fiierele
comprimate. Utilizai comanda info file pentru o descriere detaliat. S nu uitai c rezultatul comenzii file
nu este unul absolut, ci o presupunere. Cu alte cuvinte, file poate fi pclit.
De ce se acord o atenie att de mare tipului i proprietilor fiierelor?
Pe scurt, vom discuta cteva unelte proprii liniei de comand pentru a privi n fiierele text simplu.
Aceste unelte nu vor funciona dac sunt folosite pe tipuri greite de fiiere. n cel mai ru caz, ele vor
determina nchiderea consolei i/sau vei auzi multe proteste pe ieirea audio. Dac vi se ntmpl acest
lucru, nchidei sesiunea curent a terminalului i deschidei una nou. ns ncercai s evitai producerea
46

evenimentelor de acest tip, deoarece pot fi considerate suprtoare de ctre ceilali.

3.3.2. Crearea i tergerea directoarelor


3.3.2.1. Dezordinea...
...nu este greu de atins. n zilele noastre aproape orice sistem se afl ntr-o reea, aa c fiierele
sunt copiate cu uurin dintr-un sistem n altul. n special atunci cnd lucrai n mediul grafic, crearea de
fiiere noi nu pune nici o problem i se realizeaz adesea fr a se cere aprobarea utilizatorului. Pentru a
v prezenta problema, v prezentm coninutul complet al unui director personal nou creat pe un sistem
standard RedHat:

La prima vedere, nici coninutul unui director personal folosit ndelung nu arat prea ru:

Dar dac sunt incluse n aceast list toate directoarele i fiierele care ncep cu un punct, vom
avea mult mai multe poziii n aceast list, 185 n cazul de fa. Acest lucru se ntmpl deoarece cele mai
multe aplicaii au propriile directoare i/sau fiiere, care conin opiunile de configurare ale utilizatorului, n
directorul personal al acestuia. Aceste fiiere sunt create, de regul, atunci cnd pornim o aplicaie pentru
prima dat. Cteodat, vei fi notificai atunci cnd un director va fi creat, dar de cele mai multe ori totul se
face automat.
n plus, ntotdeauna sunt create noi fiiere, deoarece utilizatorii doresc s salveze date, s
pstreze mai multe versiuni a ceea ce au lucrat, s foloseasc aplicaiile pentru Internet i s descarce
fiiere i ataamente n calculatorul propriu. i aceste activiti sunt de neoprit. Este de neles c avem
nevoie de o schem care s ne ajute s controlm aceste probleme.
n seciunea urmtoare vom discuta mijloacele prin care putem pstra ordinea. Vom vorbi numai
despre uneltele text din consol, deoarece uneltele grafice sunt intuitive i au aceeai prezentare i mod de
lucru precum binecunoscuii administratori de fiiere MS Windows, incluznd funcii de ajutor n modul grafic
i alte faciliti care vin n mod normal cu astfel de aplicaii. Lista de mai jos este o prezentare a celor mai
cunoscui administratori de fiiere din GNU/Linux. Cei mai muli pot fi pornii din meniul administratorului
spaiului de lucru, prin apsarea iconiei care arat directorul dumneavoastr personal sau din linia de
comand, astfel:

nautilus: este administratorul de fiiere implicit din Gnome, spaiul de lucru GNU. O documentaie

excelent pentru aceast unealt poate fi gsit la: http://www.gnome.org.


konqueror: este administratorul de fiiere utilizat implicit n spaiul de lucru KDE. Manualul poate fi
gsit la: http://docs.kde.org.
mc: Midnight Commander, administratorul de fiiere din UNIX, n stilul Norton Commander.
Documentaia este disponibil la http://www.gnu.org/directory/ sau la un sait-oglind precum
http://www.ibiblio.org.

Merit s v familiarizai cu aceste aplicaii, pentru c ele impresioneaz de obicei pe cei nou venii
n Linux, iar despre faptul c avei de unde alege, v putem spune c aplicaiile prezentate mai sus sunt doar
47

cele mai ntrebuinate unelte de administrare a directoarelor i fiierelor, multe alte proiecte aflndu-se n
dezvoltare. Acum vom ptrunde n esena lor i vom vedea cum aceste unelte grafice folosesc comenzile
obinuite ale UNIX-ului.

3.3.2.2 Uneltele
3.3.2.2.1. Crearea directoarelor
O cale prin care putei pstra lucrurile sub control este s alocai anumitor fiiere locuri implicite
prin crearea de directoare i subdirectoare (sau foldere i subfoldere, dac preferai s le numii astfel).
Acest lucru se face prin comanda mkdir:

Crearea directoarelor i subdirectoarelor ntr-un singur pas se realizeaz prin opiunea -p:

Dac noul fiier are nevoie de alte permisiuni dect cele alocate implicit, noile drepturi de acces pot
fi configurate ntr-un singur pas, tot prin comanda mkdir; consultai paginile Info pentru mai multe detalii.
Vom discuta modurile de acces n seciunea referitoare la securitatea fiierelor.
Numele unui director trebuie alocat dup aceleai reguli care se aplic fiierelor normale. Una din
cele mai importante restricii este c nu putei avea dou fiiere cu acelai nume ntr-un director (dar amintiiv ca Linux-ul trateaz, precum UNIX-ul, majusculele ca fiind semnificative). Teoretic, nu exist limite n
numrul de caractere care pot compune numele unui director, dar n practic sunt folosite maxim 80 de
caractere, pentru ca numele directorului s poat fi afiat pe o linie a terminalului. Putei folosi orice caracter
dorii n alctuirea numelui unui fiier, dar v sftuim s excludei caracterele care au un neles special n
consol. Dac avei dubii, verificai Appendix C.

3.3.2.2.2. Mutarea fiierelor


Dup ce ne-am structurat directorul personal, este timpul s punem fiecare fiier rzle n locul
potrivit cu ajutorul comenzii mv:

Aceast comand se aplic i n cazul redenumirii fiierelor:

48

Este clar pentru oricine c, n exemplul de mai sus, doar numele fiierului s-a schimbat. Toate
celelalte proprieti rmn aceleai.
Informaii detaliate despre sintaxa i facilitile comenzii mv pot fi gsite n paginile man sau Info
ale acestei comenzi.
Folosirea documentaiei trebuie s devin un act reflex pentru dumneavoastr n cazul n care v
confruntai cu o problem. Rspunsurile la problemele pe care le ntlnii sunt coninute, de cele mai multe
ori, n documentaia sistemului. Chiar i utilizatorii experimentai consult pagini man n fiecare zi, aa c cei
nou venii n Linux ar trebui s le citeasc ntotdeauna.
Dup un timp, vei cunoate cele mai utilizate comenzi i opiunile lor, dar tot vei avea nevoie de
documentaie, ca surs primar de informare. Menionm c informaiile coninute de CUM S-uri, ntrebri
frecvente (FAQ`s), paginile man i alte surse, sunt nglobate n ultimul timp, gradual, n paginile Info, care se
constituie astfel n cea mai actualizat surs de documentare.

3.3.2.2.3. Copierea fiierelor


Copierea fiierelor i directoarelor se face prin comanda cp. O opiune folositoare a acestei
comenzi este copiere recursiv (copierea tuturor fiierelor i subdirectoarelor dintr-un director), atand -R
comenzii cp. Sintaxa, n cazul general, este:
cp [-R] fiier_de_copiat destinaia_nou (cp [-R] fromfile tofile)
V prezentm drept exemplu cazul unui utilizator newguy care dorete s aib aceleai configurri
ale spaiului de lucru Gnome pe care le are utilizatorul oldguy. O cale prin care poate fi rezolvat aceast
problem este copierea configurrilor care aparin utilizatorului oldguy n directorul personal al utilizatorului
newguy:

Vor exista nite erori legate de permisiunile ataate fiierelor, dar toate au de-a face cu fiiere
personale, de care utilizatorul newguy nu are nevoie. Vom discuta n alt parte despre cum s schimbm
aceste permisiuni n cazul n care devin o problem.

3.3.2.2.4. tergerea fiierelor


Pentru a terge fiiere folosii comanda rm iar pentru tergerea directoarelor goale, folosii
comanda rmdir (folosii ls -a pentru a verifica dac un director este gol sau nu). Comanda rm are opiuni pe
care le putem folosi n tergerea directoarelor care nu sunt goale, adic putem terge directorul cu toate
subdirectoarele sale. Consultai paginile Info pentru lmuriri n privina acestor opiuni destul de periculoase.
Ct de gol poate fi un director?
Este un lucru normal ca directoarele . (punct) i .. (punct-punct) s fie imposibil de ters, deoarece
ele sunt absolut necesare ntr-un director, chiar gol, pentru a determina rangul acelui director n sistemul de
fiiere.
n Linux, la fel ca n UNIX, nu exist co de gunoi cel puin, nu n cazul consolei, pentru c n
cazul interfeei grafice, exist destule alternative. Aa c odat ters, un fiier este pierdut i, n general, nu
exist o cale prin care s l putei recupera, n afar de cazurile n care avei copii de siguran ale fiierului
respectiv sau suntei foarte rapid i avei un administrator de sistem foarte bun. Pentru a proteja utilizatorii
nceptori se poate activa comportamentul interactiv n cazul comenzilor rm, cp i mv prin opiunea -i. n
acest mod sistemul nu va reaciona doar la cererea simpl a utilizatorului. n schimb, va cere confirmare, aa
c este nevoie de o a doua apsare a tastei Enter pentru a produce vreo pagub, dac este cazul:

Vom discuta n Capitolul 7, n care vom prezenta detalii despre personalizarea consolelor, modul n
49

care putei configura ca implicit acest comportament.

3.3.3. Cutarea fiierelor


3.3.3.1. Utilizarea facilitilor consolei
Din exemplul n care am tratat mutarea fiierelor ai observat cum consola poate lucra cu mai multe
fiiere n acelai timp. n acel exemplu consola tie ce i se cere prin caracterele cuprinse ntre parantezele
drepte [ i ] . Consola poate substitui serii de numere i caractere, majuscule ori nu. Poate substitui
orict de multe caractere dorii cu un astersic i un singur caracter cu un semn de ntrebare.
Toate substituirile pot fi folosite simultan; consola are o logic imbatabil n aceast privin.
Consola Bash, de exemplu, nu are nici o problem n a trata expresii precum ls dirname/*/*/*[2-3].
n alte console asteriscul este folosit pentru a uura munca utilizatorilor, prin reducerea numrului
de caractere care trebuie tastate: astfel putei introduce cd dir* n loc de cd directory. n consola
Bash nu este necesar s facem acest lucru, deoarece aceast unealt GNU are o facilitate numit
autocompletarea numelui fiierelor. Concret, dac tastai doar primele caractere ale comenzii (oriunde v
aflai n structura de fiiere) sau ale unui fiier (care aparine directorului curent) i dac nu este posibil nici
o confuzie, consola va gsi ceea ce dumneavoastr dorii. De exemplu, dac v poziionai ntr-un director
care conine multe fiiere, putei verifica dac exist fiiere care ncep cu litera A prin comanda ls A urmat
de apsarea tastei Tab de dou ori n loc de apsarea tastei Enter. Dac exist doar un singur fiier al crui
nume ncepe cu A, acest fiier v fi prezentat imediat ca argument al comenzii ls (sau al oricrei comenzi).

3.3.3.2. Which
O cale foarte simpl prin care putem cuta fiiere este comanda which, prin care putem cuta n
directoarele listate n variabila PATH a utilizatorului respectiv dup fiierul dorit. Trebuie s tim c, deoarece
variabila listeaz numai traseele directoarelor care conin fiiere executabile, which nu ne spune nimic
despre fiierele obinuite. Comanda which este folositoare atunci cnd v confruntai cu probleme de genul
command not found - comand lips, de negsit. n exemplul de mai jos, utilizatoarea tina nu poate folosi
programul acroread, n timp ce colegul ei nu are nici o problem pe acelai sistem. Chestiunea este similar
cu cea explicat n cazul variabilei PATH, ntr-o seciune precedent: colegul Tinei i spune acesteia c
programul exist n /opt/acroread/bin, dar directorul nu este listat n variabila ei PATH:

Problema poate fi rezolvat prin tastarea comenzii ca traseu complet sau prin re-exportarea
coninutului variabilei PATH:

Folosii comanda which i pentru a verifica dac o comand este un alias al altei comenzi:

n cazul n care comanda nu este executat de sistemul dumneavoastr, folosii comanda alias:

3.3.3.3. Find i locate (Gsete i localizeaz)


Acestea sunt uneltele cele mai bune, care pot fi folosite i n cutarea fiierelor care nu sunt listate
n traseele coninute de variabila PATH. find, aa cum este cunoscut din UNIX, este o unealt foarte
50

puternic, poate cu preul unei sintaxe mai dificile. Dar comanda find din GNU se poate descurca cu
problemele ridicate de sintax. Nu numai c v permite cutarea dup numele fiierelor, ci accept criterii ca
mrimea fiierelor, data ultimei modificri precum i alte proprieti ale fiierelor. Cea mai rspndit form
este cea prin care se caut fiiere:

find <path> -name <criterii_de_cutare>


Aceast expresie poate fi interpretat astfel: Caut n toate subdirectoarele i fiierele determinate
de traseul dat i afieaz numele fiierelor care conin n numele lor (nu n coninutul acestora) criteriul de
cutare introdus).
Alt mod n care putem folosi comanda find este cutarea fiierelor de o mrime determinat, dup
cum se observ n exemplul de mai jos, n care utilizatorul peter dorete s gseasc toate fiierele din
directorul curent sau din subdirectoarele acestuia care sunt mai mari de 5 MO:

Dac vei cuta n paginile man, vei afla c find poate executa anumite operaii asupra fiierelor
pe care le gsete. Ca exemplu putem vorbi despre tergerea fiierelor. Cel mai bine este s verificai dac
fiierul gsit este cel dorit de dumneavoastr, adic nu lansai comanda file cu opiunea de execuie -exec,
i doar dup aceea reintroducei comanda prin care tergei fiierul respectiv. Mai jos v prezentm o
cutare a fiierelor de tipul .tmp:

Optimizai!
Aceast comand va apela rm ori de cte ori este gsit un fiier ale crui proprieti se potrivesc
cu criteriile de cutare. n cel mai ru caz, pot fi zeci de mii sau milioane de fiiere. Acest lucru va determina
ncrcarea sistemului.
Un mod de lucru mai realist este folosirea unei conexiuni (pipe I) i a uneltei xargs mpreun cu
rm ca argument. n acest fel, comanda rm este apelat atunci cnd linia de comand este plin, n loc s fie
apelat la fiecare fiier gsit. Consultai Capitolul 5 pentru mai multe amnunte despre utilizarea
redirecionrii I/O pentru a v uura sarcinile de zi cu zi.
Mai trziu (n 1999, dac ne lum dup paginile man, dup 20 de ani de find), a fost dezvoltat
comanda locate. Este un program mai uor de utilizat, dar cu mai multe restricii dect find, deoarece
rezultatul afiat de aceast comand este bazat pe un fiier care conine un index al unei baze de date
actualizat o singur dat pe zi. Pe de alt parte, o cutare n baza de date a comenzii locate folosete mai
puine resurse dect find, aa c rezultatele sunt afiate aproape instantaneu.
Cele mai multe distribuii de Linux folosesc acum slocate, adic o cutare care ia n considerare i
aspecte legate de securitate, care nu permite utilizatorilor s aib acces la un rezultat pe care nu au dreptul
s-l citeasc. Fiierele din directorul personal al administratorului (root`s home directory) de exemplu, nu
sunt, n mod normal, accesibile publicului. Un utilizator care dorete s gseasc pe cineva care folosete
consola C, poate introduce comanda locate .cshrc, pentru a i se afia toi utilizatorii care dein un fiier
personalizat pentru consola C. Presupunnd c utilizatorii root i jenny folosesc consola C, atunci numai
fiierul /home/jenny/.cshcr va fi afiat, nu i acela din directorul personal al administratorului. Pe cele
mai multe sisteme, locate este o legtur simbolic pentru programul slocate:

Utilizatoarea tina poate s foloseasc locate pentru a gsi aplicaia de care are nevoie, dup cum
v este prezentat n imaginea urmtoare:

51

Directoarele care nu conin numele bin nu pot avea programul ele nu conin fiiere executabile.
Mai rmn trei posibiliti. Fiierul din /usr/local/bin este cel pe care l dorete tina: este o legtur
ctre un script care pornete programul n sine:

Pentru a pstra traseele ct mai scurte posibil, astfel nct sistemul s nu caute prea mult atunci
cnd un utilizator dorete se execute o comand, adugm /usr/local/bin variabilei PATH i nu
celelalte directoare, care conin doar fiierele binare ale unui program anume, pe cnd /usr/local/bin
conine i alte programe folositoare.
V spunem din nou c o descriere complet a facilitilor comenzilor find i locate poate fi gsit
n paginile Info.

3.3.3.4. Comanda grep


3.3.3.4.1. Sortarea liniar general
Un program simplu dar foarte puternic, grep, este folosit pentru sortarea liniilor introduse i
afiarea anumitor tipare ca rezultat al procesrii. Exist mii de aplicaii ale programului grep. n exemplul de
mai jos, jerry folosete grep pentru a vedea cum stau lucrurile cu find:

Cutarea n istoricul consolei


Foarte folositoare n aceste cazuri este funcia de cutare a consolei bash, activat de apsarea
tastelor Ctrl+R o singur dat, precum n exemplul care urmeaz, n care se dorete verificarea traseului
apelat de ultima cutare realizat prin comanda find:

Introducei irul care conine criteriile dumneavoastr dup prompterul de cutare. Cu ct tastai
mai multe caractere, cutarea devine mai precis. Se citete istoricul comenzilor pentru aceast sesiune a
consolei (care este scris n .bash_history din directorul dumneavoastr personal la nchiderea
sesiunii). Este afiat cea mai bun potrivire cu criteriile dumneavoastr de cutare. Dac dorii s vedei
comenzile anterioare care conin acelai ir, apsai din nou Ctrl+R.
Apelai la paginile Info despre bash pentru detalii.

52

Toate sistemele de operare UNIX care se respect conin un dicionar. La fel i Linux-ul.
Dicionarul este o list a cuvintelor cunoscute ntr-un fiier numit words, care se gsete n /usr/share/
dict (n cazul Ubuntu, directorul este /etc/dictionaries-common/words). Pentru a verifica rapid
ortografia unui cuvnt, nu este necesar nici o aplicaie grafic:

Dicionar vs. list de cuvinte


Sunt i distribuii care ofer comanda dict, care ofer mai multe faciliti dect cutarea unui
cuvnt ntr-o list.
Cine este deintorul celuilalt director personal? Hei, iat numrul su de telefon!

i care era adresa de mail a lui Arno?

find i locate sunt folosite adesea n combinaie cu programul grep pentru a defini cutri mai
rafinate. Pentru mai multe informaii, consultai Capitolul 5, partea despre redirecionarea I/O.

3.3.3.4.2. Caractere speciale


Atunci cnd folosii n alte scopuri caracterele care au un neles aparte pentru consol, ele trebuie
s fie separate de acest neles special (escaped). Caracterul din Bash, precum i n alte console, care face
acest lucru este linia oblic invers ( \ ); prin el se eludeaz nelesul special al caracterului urmtor. Consola
recunoate aceste caractere speciale, printre care cele mai des ntlnite sunt /,.,? i *. Lista complet poate fi
gsit n paginile Info i n documentaia proprie consolei pe care o folosii.
De exemplu, s spunem c dorii s afiai fiierul * n loc de a afia toate fiierele dintr-un
director; atunci trebuie s folosii
less \*
Acelai lucru se aplic i numelor de fiiere care conin un spaiu:
cat This\ File

3.3.4. Mai multe moduri n care putei afia coninutul unui fiier
3.3.4.1. Generaliti
n afar de comanda cat, care nu prea face altceva n afar de a trimite fiierele la ieirea standard,
exist alte unelte pentru a vizualiza coninutul unui fiier.
Cea mai uoar cale este, desigur, utilizarea interfeei grafice pentru utilizator n locul uneltelor linie
de comand. n introducerea acestei lucrri am aruncat o privire asupra unei aplicaii de birou,
OpenOffice.org. Alte exemple sunt GIMP (putei s-l pornii cu gimp din linia de comand), programul de
manipulare a imaginilor din GNU ( GNU Image Manipulation Program); xpdf pentru a vizualiza documentele
n format PDF (Portable Document Format); GhostView (gv) pentru fiierele PostScript; Mozilla/Firefox, links
(un navigator n modul text), Konqueror, Opera i multe altele pentru coninutul web; XMMS, Cdplay i altele
pentru fiiere multimedia; AbiWord, Gnumeric, Koffice, etc. pentru tot felul de aplicaii pentru birou i tot aa.
Exist mii de aplicaii pentru Linux; pentru a le meniona pe toate avem nevoie de cteva zile.
53

n schimb, ne vom concentra pe aplicaiile pentru consol sau aplicaiile pentru mediul text, pentru
c ele formeaz baza tuturor celorlalte aplicaii. Aceste comenzi se aplic n mediul text acelor fiiere care
conin text. Dac avei dubii legate de un fiier, verificai-l prin comanda file.
S cunoatem deci uneltele text pe care le avem la dispoziie pentru a privi n coninutul fiierelor.
Probleme legate de fonturi
Uneltele text simplu, precum cele pe care le vom discuta acum, au adesea probleme cu fiierele
care conin text simplu, din cauza codrii folosite pentru fonturile din aceste fiiere. Caracterele speciale,
cum sunt caracterele alfabetice care sunt accentuate, caracterele chinezeti i alte caractere ale unor limbi
ce folosesc un tipar diferit de codarea implicit en_US, sunt afiate incorect sau nlocuite cu gunoaie care nu
pot fi citite.
Aceste probleme sunt discutate n Seciunea 7.4.

3.3.4.2. less nseamn mai mult


Fr ndoial c vei auzi pe cineva spunnd aceast propoziie mai devreme sau mai trziu dac
lucrai ntr-un mediu UNIX. Puin istorie a UNIX-ului este necesar pentru a explica acest lucru:

La nceput a fost cat. Rezultatul comenzii era difuzat ntr-un mod incontrolabil.
Apoi a fost pg, care poate fi gsit i acum pe unele UNIX-uri mai vechi. Aceast comand
afieaz textul la ieirea standard pagin cu pagin.
Programul more a fost o versiune revizuit a lui pg. Aceast comand este nc
disponibil pe orice sistem Linux.
less este versiunea GNU a comenzii more i dispune de mai multe faciliti care permit
evidenierea criteriilor de cutare, derularea, etc. Sintaxa este foarte simpl:
less numele_fiierului (less name_file)
Mai multe informaii sunt coninute de paginile Info.
Despre pagere avei deja o idee deoarece ele sunt folosite pentru a vizualiza paginile de manuale.

3.3.4.3. Comenzile head i tail


Aceste dou comenzi afieaz primele/ultimele n linii din fiierul respectiv. Pentru a afia ultimele
10 comenzi introduse, tastai:

head lucreaz asemntor. Comanda tail are o opiune folositoare prin care arat continuu
ultimele n linii ale unui fiier care are un coninut n permanent schimbare. Aceast opiune -f este utilizat
de administratorii de sisteme pentru a verifica fiierele jurnal. Mai multe informaii putei gsi n fiierele de
documentaie ale sistemului.

54

3.3.5. Fiiere de legtur


3.3.5.1. Tipuri de legturi
ntruct tim acum mai multe lucruri despre fiiere i reprezentarea acestora n sistemul de fiiere,
nelegerea legturilor (sau scurtturilor) este floare la ureche. O legtur nu este altceva dect o cale prin
care potrivim dou sau mai multe nume de fiiere n acelai set de date. Sunt dou ci prin care obinem
acest lucru:

Legturi fizice: asociaz dou sau mai multe nume de fiiere aceluiai nod. Legturile fizice mpart
aceleai blocuri de date pe discul fix, n timp ce continu s se comporte ca fiiere independente.
Exist un dezavantaj care sare n ochi: legturile fizice nu pot sri peste partiii, deoarece numrul
asociat nodului este unic doar pentru partiia n cauz.
Legturi simbolice - numite i soft links (sau, pe scurt, symlink): un fiier mic care este un indicator
ctre alt fiier. O legtur simbolic conine traseul ctre fiierul int, n schimbul locului fizic de pe
discul fix al fiierului int. Deoarece nodurile nu sunt folosite n aceast metod, legturile simbolice
pot traversa partiii.
Cele dou tipuri de legturi se comport la fel, dar nu sunt acelai lucru, dup cum putei observa
din schema de mai jos:
Figura 3-2. Mecanismul legturilor fizice i simbolice

Trebuie s v spunem c dac tergei fiierul int al unei legturi simbolice, acea legtur nu mai
este folositoare.
Fiecare fiier obinuit este, n principiu, o legtur fizic. Legturile fizice nu pot traversa partiiile,
deoarece ele au ca referin nodurile (inodes), iar numrul unui nod este unic doar n interiorul unei partiii
date.
Se poate argumenta c exist un al treilea tip de legtur, legtura utilizator-spaiu, care este
similar unei scurtturi din sistemul MS Windows. Ele sunt fiiere care conin meta-date care pot fi
interpretate doar de administratorul grafic de fiiere. Pentru kernel i consol, aceste fiiere sunt fiiere
normale. Ele se pot termina cu sufixul (extensia) .desktop sau .lnk; exemple pot fi gsite n ~/ .gnomedesktop:

55

Iat un exemplu dintr-un sistem cu mediul grafic KDE:

Este uor s facei astfel de legturi, folosind facilitile puse la dispoziie de mediul grafic. Dac
avei nevoie de ajutor, documentaia sistemului trebuie s fie prima dumneavoastr resurs.
n seciunea urmtoare vom studia realizarea legturilor simbolice n stilul UNIX, folosind linia de
comand.

3.3.5.2. Realizarea legturilor simbolice


Legturile simbolice sunt interesante ndeosebi pentru utilizatorii nceptori: ele sunt uor de vzut
i nu trebuie s v facei griji n privina partiiilor.
Comanda prin care facem legturi este ln. Pentru a realiza o legtur simbolic se folosete
opiunea -s:
ln -s fiier_int nume_legtur (ln -s targetfile linkname)
n exemplul de mai jos, utilizatorul freddy realizeaz o legtur simbolic ntr-un subdirector al
directorului su personal cu alt parte a sistemului:

Legturile simbolice sunt fiiere foarte mici, pe cnd legturile fizice au aceeai mrime ca fiierul
original.
Aplicaiile legturilor simbolice sunt variate. Ele sunt folosite pentru a salva spaiu pe disc, pentru a
face o copie a unui fiier n ideea de a satisface cerinele de instalare ale unui program care se ateapt ca
un anume fiier s se afle ntr-un alt loc, sunt folosite pentru scripturile care trebuie s ruleze pe neateptate
n medii noi i v pot scuti, n general, de mult munc. Un administrator de sistem poate decide s mute
directorul personal al unui utilizator ntr-un loc nou, discul 2 (disk 2), de exemplu, dar, dac dorete ca
totul s funcioneze ca nainte, cum ar fi fiierul /etc/passwd, cu un efort minim va realiza o legtur
simbolic din directorul /home ctre noul loc /disk2/home.

3.4. Securitatea fiierelor


3.4.1. Drepturile de acces: prima linie de aprare a Linux-ului
Modelul de securitate din Linux este bazat pe cel folosit n sistemele UNIX i este la fel de rigid
(cteodat chiar mai rigid) ca modelul UNIX-ului, care este oricum destul de robust. ntr-un sistem Linux,
orice fiier este deinut de un utilizator i un grup de utilizatori. Exist, de asemenea, o a treia categorie de
utilizatori, aceia care nu sunt utilizatori deintori i nici nu aparin unui grup care deine un anume fiier.
Pentru fiecare categorie de utilizatori pot fi acordate sau nu (interzise) permisiunile legate de citire, scriere
56

sau executare ale unui fiier.


Ai folosit deja opiunea complet pentru a lista fiierele folosind comanda ls -l, dei din alte
motive. Aceast comand afieaz permisiunile ataate fiierelor pentru aceste trei categorii de utilizatori;
ele sunt indicate prin nou caractere care urmeaz dup primul caracter a crui funcie este aceea de
indicator al tipului de fiier, la nceputul liniei care arat proprietile fiierului. Dup cum se poate observa
din exemplul urmtor, primele trei caractere din seria de nou afieaz drepturile de acces ale utilizatorului
care deine fiierul. Urmtoarele trei sunt pentru grupul cruia aparine utilizatorul, iar ultimele trei, pentru
ceilali utilizatori. Permisiunile sunt listate ntotdeauna n aceeai ordine: citire, scriere i executare pentru
utilizator, grupul cruia aparine utilizatorul i pentru ceilali. Iat cteva exemple:

Primul fiier este un fiier obinuit (proprietate artat de primul caracter, - ). Utilizatoarea cu
numele marise sau utilizatorii care aparin grupului users pot citi i scrie (adic schimba/muta/terge) acest
fiier, dar nu pot rula acest fiier ca program (a doua i a treia liniu). Toi ceilali utilizatori au doar
permisiunea de a citi acest fiier, dar nu l pot scrie sau rula/executa (cea de-a patra i a cincea liniu).
Cel de-al doilea exemplu este un fiier executabil, diferena: oricine poate rula acest program, dar
trebuie s fii root, administrator, pentru a-l schimba.
Paginile Info explic n ce mod comanda ls afieaz permisiunile n detaliu; consultai seciunea
Ce informaii sunt listate.
Pentru ca utilizarea comenzilor mpreun cu fiierele s fie ct mai facil, att permisiunile sau
modurile, drepturile de acces, ct i grupurile de utilizatori, au un cod. Consultai tabelul de mai jos.
Tabelul 3-7. Codurile care arat drepturile de acces.

Cod

neles

0 sau -

Drepturile de acces asociate fiierului nu sunt acordate.

4 sau r

Categoria de utilizatori definit are drepturi de citire.

2 sau w

Categoria de utilizatori definit are drepturi de scriere.

1 sau x

Categoria de utilizatori definit poate rula fiierul.

Tabelul 3-8. Codurile care arat grupurile de utilizatori.

Cod

neles

Permisiunile acordate utilizatorilor.

Permisiunile acordate grupurilor.

Permisiunile acordate celorlali.

Aceast schem este aplicat foarte strict, ceea ce permite un nivel destul de ridicat al securitii,
chiar dac reeaua nu este securizat. Printre alte funcii, schema de securitate asigur accesul utilizatorilor
la programe, pune la dispoziie anumite fiiere considerate necesare tuturor utilizatorilor i protejeaz date
sensibile, cum ar fi directoarele personale i fiierele de configurare ale sistemului.
Ar trebui s tii ntotdeauna numele dumneavoastr de utilizator. Dac nu, acesta poate fi afiat
prin comanda id, care v arat i grupul iniial de care aparinei, eventual celelalte grupuri al cror membru
suntei:

De asemenea, numele dumneavoastr de utilizator este stocat n variabila de mediu USER:

57

3.4.2. Uneltele
3.4.2.1. Comanda chmod
O consecin normal a aplicrii unor permisiuni stricte n privina drepturilor asupra fiierelor, care
poate fi considerat cteodat chiar neplcere, este aceea c drepturile de acces vor trebui schimbate din
mai multe motive. Folosim comanda chmod pentru a face acest lucru, iar to chmod aproape c a devenit un
verb acceptat al limbii engleze, nsemnnd schimbarea modului de acces asupra unui fiier. Comanda
chmod poate fi folosit cu opiuni numerice sau alfanumerice, n funcie de care v plac mai mult.
Exemplul de mai jos arat opiunile alfanumerice folosite pentru rezolvarea unei probleme cu care
se confrunt utilizatorii nceptori:

Operanzii + i sunt folosii pentru a acorda sau interzice drepturile unui grup. Combinaiile
separate prin virgule sunt permise. Paginile Info i man conin exemple foarte folositoare. V prezentm nc
unul, care arat cum fiierul din exemplul anterior este transformat ntr-un fiier privat al utilizatorului asim:

Problema legat de mesajul de eroare care spune c nu ai permisiuni se datoreaz, n cele mai
multe cazuri, aspectelor legate de drepturile de acces. Comentarii precum ieri a funcionat sau dac rulez
acest fiier ca root, merge sunt datorate, n principal, permisiunilor greit alocate.
Atunci cnd folosim chmod cu argumente numerice, valorile fiecrui drept de acces acordat trebuie
aplicate la nivelul grupului. De aceea avem un numr format din trei cifre, care conine valorile simbolice ale
setrilor pe care chmod trebuie s le aplice. Tabelul urmtor v arat cele mai ntlnite combinaii:
Tabelul 3-9. Protejarea fiierelor cu chmod

Comanda

nelesul comenzii

chmod 400 fiier

Pentru protejarea unui fiier de o suprascriere accidental.

chmod 500 director

Pentru a v opri pe dumneavoastr s tergei, redenumii sau s mutai


accidental fiiere care aparin acestui director.

chmod 600 fiier

Un fiier privat, care poate fi schimbat doar de utilizatorul care a introdus


aceast comand.

chmod 644 fiier

Un fiier care poate fi accesat public dar care poate fi schimbat doar de
utilizatorul care a introdus aceast comand.

chmod 660 fiier

Utilizatorii care aparin grupului tu pot schimba acest fiier pe cnd ceilali nu
au nici un fel de drepturi asupra lui.

chmod 700 fiier

Numai utilizatorul are drepturi depline, ceilali, indiferent de grupul aparintor, nu


au nici un fel de drepturi.

58

chmod 755 director

Pentru fiierele care trebuie s fie citite sau rulate i de ctre ali utilizatori, dar
scrise (schimbate) doar de utilizatorul care a introdus comanda descris.

chmod 775 fiier

Modul standard de acordare a permisiunilor pentru un grup.

chmod 777 fiier

Oricine poate face orice cu acest fiier.

3.4.2.2. Autentificarea ntr-un alt grup


Atunci cnd tastai comanda id ntr-o linie de comand, primii o list a tuturor grupurilor crora
este posibil s le aparinei, precedate de numele dumneavoastr de utilizator plus ID-ul i numele grupului
plus ID-ul cu care suntei conectat n acel moment. ns, n multe sisteme Linux, poi fi activ doar ntr-un
singur grup. Iniial, acest grup activ sau primar este acela care i este asociat de fiierul /etc/passwd.
Cel de-al patrulea cmp al acestui fiier arat ID-ul grupului primar al utilizatorului, care este verificat prin
fiierul /etc/group. Iat un exemplu:

Cel de-al patrulea cmp n linia din fiierul /etc/passwd conine valoarea 501, care reprezint
grupul asim n exemplul de mai sus. Din /etc/group putem afla numele care corespunde acestui ID de
grup. Acestui grup, i nu altuia, va aparine asim la autentificarea iniial n sistem.
Schema de grup privat al utilizatorului
Pentru a permite o flexibilitate mrit, cele mai multe sisteme Linux folosesc o aa numit schem
de grup privat al utilizatorului, care asociaz fiecare utilizator cu grupul su primar. Acest grup este un grup
care conine numai acest utilizator particular, de unde numele de grup privat. De regul, acest grup are
acelai nume cu numele utilizatorului, ceea ce poate genera anumite confuzii.
n afar de acest grup privat, utilizatorul asim poate aparine i grupurilor user i web. Deoarece
aceste grupuri sunt grupuri secundare pentru utilizatorul nostru, el trebuie s foloseasc newgrp pentru a se
autentifica n oricare din ele (folosii mai nti gpasswd pentru a stabili parole pentru aceste grupuri). n
exemplul care urmeaz, asim dorete s creeze fiiere care s fie deinute de grupul web.

Acum, n momentul n care asim creeaz fiiere noi, acestea vor fi deinute de grupul web n loc s
fie deinute de grupul asim:

Autentificarea ntr-un grup nou v ajut s prentmpinai folosirea comenzii chown (vezi
Seciunea 3.4.2.4) sau chemarea administratorului de sistem pentru a schimba permisiunile asupra fiierelor
pentru dumneavoastr.
Consultai paginile man ale comenzii newgrp pentru mai multe informaii.

3.4.2.3. Masca fiierelor


Cnd un fiier nou este salvat undeva, devine, n primul rnd, subiectul procedurilor standard de
securitate. Fiiere care s nu aib alocate permisiuni nu exist n Linux. Permisiunile standard, care sunt
59

alocate implicit fiierelor noi, sunt determinate de masc (mask). Valoarea numeric a mtii poate fi afiat
prin comanda umask:

n loc de a aduga valori simbolice fiecrui fiier, cum se ntmpl prin folosirea chmod, pentru a
calcula permisiunile asociate unui nou fiier, ele sunt sczute din numrul care arat drepturile de acces
posibile. n exemplul de mai sus, totui, observm afiate patru valori, n timp ce tim c exist doar trei
categorii crora li se aplic permisiuni: utilizator, grup i alii. Primul zero este parte a atributelor speciale de
configurare ale unui fiier, despre care vom discuta n Seciunea 3.4.2.4 i Seciunea 4.1.6. Se poate
ntmpla ca acest prim zero s nu fie afiat de sistemul dumneavoastr atunci cnd introducei comanda
umask i s vedei doar trei numere care arat masca implicit pentru crearea de fiiere.
Orice sistem asemntor UNIX-ului are o funcie pentru crearea de noi fiiere, care este apelat ori
de cte ori un utilizator folosete un program care creeaz fiiere noi, de exemplu cnd descrcai un fiier
de pe Internet, cnd salvai un nou document text i aa mai departe. Aceast funcie creeaz att fiiere ct
i directoare. La crearea unui director nou, aceast funcie va acorda permisiuni pentru citire, scriere i
executare pentru toate categoriile de utilizatori. La crearea unui fiier nou, funcia va acorda permisiuni de
citire i scriere pentru toi, dar nici o categorie de utilizatori nu va avea permisiunea de executare a acelui
fiier. De aceea, nainte ca masca s fie aplicat, un director are permisiunea 777 sau rwxrwxrwx, un fiier
obinuit 666 sau rw-rw-rw-.
Valoarea umask este sczut din aceste permisiuni implicite dup ce funcia a creat un fiier sau
un director nou. Astfel, un director va avea permisiunea implicit 775 i un fiier 664, dac valoarea mtii
este (0)002. Acest lucru v este demonstrat n exemplul de mai jos:

Fiiere vs. directoare


Un director va primi implicit mai multe permisiuni: el va avea ntotdeauna permisiuni de executare.
Dac nu le-ar avea, directorul nu ar fi accesibil. ncercai acest lucru prin schimbarea permisiunilor unui
director (chmodding) n 644!
Dac v autentificai ntr-un alt grup folosind comanda newgrp, masca rmne neschimbat. De
aceea, n cazul n care este stabilit ca 002, fiierele i directoarele pe care le creai n timp ce suntei n
grupul nou vor fi accesibile i celorlali membri ai grupului; nu trebuie s folosii chmod.
Utilizatorul root are, de obicei, permisiuni iniiale asociate fiierelor noi mai stricte:

Aceast valoare implicit este extins asupra ntregului sistem prin fiierele de configurare a
resurselor consolei, de exemplu /etc/bashrc sau /etc/profile. O putei schimba din fiierul de
configurare a consolei, vezi Capitolul 7, despre personalizarea mediului consolei.

3.4.2.4. Modificarea apartenenei la un utilizator sau la un grup


Cnd un fiier figureaz ca fiind deinut de un utilizator sau un grup despre care credei c nu ar fi
ndreptii s o fac, putei repara eroarea prin comenzile chown (schimb utilizatorul) sau chgrp (schimb
grupul). Schimbarea deintorilor unui fiier este o sarcin des ntlnit de administratorii de sistem n
mediile n care este nevoie ca fiierele s fie partajate de ctre grupuri de utilizatori. Ambele comenzi sunt
flexibile, dup cum putei afla prin opiunea - -help.
Comanda chown poate fi aplicat pentru a schimba deintorii unui fiier att la nivel de utilizator,
60

ct i la nivel de grup, pe cnd chgrp schimb doar grupul care deine acel fiier. Desigur, sistemul va
verifica dac utilizatorul care introduce aceste schimbri are suficiente permisiuni asupra fiierului sau
fiierelor asupra crora dorete s foloseasc aceste comenzi.
Pentru a modifica doar utilizatorul deintor al unui fiier, folosii sintaxa de mai jos:
chown utilizator_nou fiier
Dac folosii dou puncte dup numele de utilizator (consultai paginile Info), va fi modificat i
grupul deintor, n grupul primar al utilizatorului care introduce comanda. Pe sistemele Linux, fiecare
utilizator are propriul su grup, astfel c aceast form a comenzii poate fi folosit pentru a crea fiiere
private:

Dac jacky va dori s partajeze acest fiier, fr s ofere oricui permisiuni de scriere, poate folosi
comanda chgrp:

Astfel, utilizatorii din grupul project vor putea s lucreze cu acest fiier. Utilizatorii care nu aparin
grupului menionat nu au nici o treab cu acest fiier.
Ambele comenzi, chown i chgrp, pot fi folosite pentru schimbarea deintorilor recursiv, prin
opiunea -R. n acest caz, toate subdirectoarele i fiierele coninute ntr-un director vor aparine utilizatorului
sau/i grupului dat.
Restricii
Pe cele mai multe sisteme, folosirea comenzilor chown i chgrp este restricionat n cazul
utilizatorilor obinuii. Dac nu suntei administratorul sistemului, nu putei schimba utilizatorul sau grupul
care deine un anumit fiier, din motive care in de securitatea sistemului. Dac utilizarea acestor comenzi nu
ar fi restricionat, utilizatorii ru-intenionai pot modifica apartenena fiierelor la un utilizator sau la un grup
i ar putea schimba mediul de lucru al utilizatorilor legitimi sau chiar distruge fiierele celorlali utilizatori.

3.4.2.5. Moduri speciale


Pentru ca administratorii de sistem s nu fie deranjai tot timpul pentru a rezolva probleme legate
de drepturile de acces, drepturi speciale pot fi alocate directoarelor n ntregime sau numai programelor.
Exist trei moduri speciale:

Modul bit-ului lipicios (persistent sticky bit mode): dup executarea unei sarcini, comanda este
pstrat n memoria sistemului. La nceputuri, acest mod era folosit pe scar larg pentru a salva
memorie: sarcinile mari erau ncrcate n memorie doar o singur dat. n zilele noastre, memoria nu
mai este aa de scump i exist tehnici mai bune de gestionare a acesteia, aa c nu mai este
folosit, pentru capacitile de optimizare coninute, asupra fiierelor singulare. Totui, aplicat asupra
61

unui ntreg director, acest mod are un alt neles. n acest caz, un utilizator poate schimba fiierele
coninute de directorul n cauz doar dac este deintorul acelui fiier sau dac permisiunile
asociate fiierului acord dreptul de a face modificri. Acest mod este utilizat pentru directoare ca /
var/tmp, care trebuie s fie accesibile tuturor, dar n care un utilizator oarecare nu are voie s
schimbe sau s tearg datele care aparin celorlali. Bit-ul lipicios este indicat printr-un t la sfritul
liniei care arat permisiunile alocate unui fiier:

Modul este aplicat prin comanda chmod o+t directory. Originile istorice ale lui t se gsesc
n facilitatea proprie UNIX-ului save Text acces.
SUID (stabilii identitatea utilizatorului set user ID) i SGID (stabilii identitatea grupului set group
ID): sunt reprezentate de caracterul s n linia care arat permisiunile alocate unui fiier. Cnd acest
mod este aplicat unui fiier executabil, el va rula cu permisiunile utilizatorului i ale grupului, n loc de
acelea ale utilizatorului care introduce comanda, oferind acces la resursele sistemului. Vom
aprofunda aceste lucruri n Capitolul 4.
SGID (stabilii identitatea grupului) asupra unui director: n acest caz aparte, fiierele create n
directorul n cauz vor aparine aceluiai grup cruia aparine directorul care le conine (n timp ce
comportamentul normal este ca fiierele noi s fie deinute de utilizatorii care le creeaz). Astfel,
utilizatorii nu trebuie s se gndeasc la aparintorii unor fiiere care trebuie partajate:

Acesta este modul standard prin care se partajeaz fiierele n UNIX.


Fiierele existente nu sunt modificate!
Fiierele care sunt mutate ntr-un director SGID, dar care sunt create n alt parte, pstreaz
utilizatorul i grupul deintor (aparintor) iniial. Acest comportament poate produce confuzii.

3.5. Sumar
n UNIX, ct i n Linux, toate entitile sunt prezentate sistemului, ntr-un fel sau altul, ca fiiere
care au asociate anumite proprieti. Utilizarea traseelor (predefinite) permite utilizatorilor i administratorilor
de sistem s gseasc, citeasc i s mnuiasc fiierele.
Am fcut primii pai pe calea care ne va transforma n experi: am discutat structura adevrat i
cea presupus a unui sistem de fiiere i v-ai format o imagine despre modelul de securitate a fiierelor din
Linux, ct i despre alte cteva precauii de securitate care sunt aplicate implicit n orice sistem.
Consola este cea mai important unealt prin care interacionm cu sistemul. n acest capitol ai
nvat cteva comenzi pentru consol, pe care vi le prezentm din nou n tabelul de mai jos:

Comanda

nelesul comenzii

bash

Consola GNU.

cat fiier(e)

Trimite coninutul unui fiier (unor fiiere) la


ieirea standard.

cd director

Schimb directorul.

chgrp grup_nou fiier(e)

Schimb grupul deintor al unui fiier cu grupul


nou.

chmod mod fiier(e)

Modific permisiunile de acces asupra fiierului.

chown utilizator_nou [:[grup_nou]] fiier(e) Schimb utilizatorul i grupul deintor.


62

cp fiierul_surs fiierul_int

Copiaz fiierul surs n fiierul int.

df fiier

Prezint spaiul utilizat pe partiia discului care


conine fiierul n cauz.

echo ir

Afieaz irul de caractere introdus.

export

Parte a comenzilor proprii consolei care anun


sistemului variabilele i valorile acestora.

file nume_fiier

Determin tipul unui fiier.

find traseu expresie

Gsete fiierele n ierarhia sistemului de fiiere.

grep TIPAR fiier

Afieaz liniile din fiier care conin tiparul


introdus.

head fiier

Trimite prima parte a unui fiier la ieirea


standard.

id

Afieaz numele reale i efective ale utilizatorilor


i grupurilor.

info comand

Afieaz documentaia disponibil pentru


comanda n cauz.

less fiier

Este artat fiierul cu ajutorul unui vizualizator


mai puternic.

ln fiier_int nume_legtur

Realizeaz o legtur numit


nume_legtur ctre un fiier_int

locate criteriu_cutare

Afieaz toate fiierele accesibile care au n


nume elemente ale criteriului de cutare.

ls fiier(e)

Afieaz coninutul directorului.

man comand

Afieaz manualele sistemului pentru comanda


n cauz.

mkdir director_ nou

Creeaz un director nou, gol.

mv fiier_vechi fiier_nou

Redenumete sau mut un fiier.

newgrp nume_grup

Autentificare ntr-un grup nou.

pwd

Prezint directorul curent n care lucrai.

quota

Arat limitele alocate i gradul de utilizare a


discului.

rm fiier

terge fiiere i directoare.

rmdir fiier

terge directoare.

tail fiier

Afieaz ultima parte a unui fiier.

umask [valoare]

Arat sau schimb modul n care sunt create


fiiere noi.

wc fiier

Numr liniile, cuvintele i caracterele dintr-un


fiier.

which comand

Arat traseul complet al comenzii n cauz.

Subliniem iari c ar trebui S CITII PAGINILE DE MANUALE. Documentaia este trusa


dumneavoastr de prim-ajutor i ea conine rspunsuri la multe ntrebri. Lista de mai sus prezint
comenzile de baz, cu care v vei ntlni n fiecare zi, dar acestea pot face mult mai multe lucruri dect cele
pe care vi le-am artat aici. Citirea documentaiei v ofer posibilitatea de a controla totul aa cum dorii.
n sfrit, dar avnd destul importan, o trecere n revist a permisiunilor asociate fiierelor:
Tabelul 3-11. Permisiunile asociate fiierelor

63

w(rite)
scriere

(e)x(ecute)
execut

u(ser) - utilizator 4

g(roup) - grup

o(thers) - alii

Cine\Ce

r(ead)
citire

3.6. Exerciii
Autentificai-v ca utilizator obinuit (neprivilegiat).

3.6.1. Partiii
Afiai traseul dumneavoastr de cutare.
Exportai o cale inexistent, de exemplu export PATH=blah i ncercai s listai coninutul

directorului.
Care este traseul directorului dumneavoastr personal? Cum poate un alt utilizator s ajung la
directorul dumneavoastr personal, folosind un traseu relativ?
Mergei n directorul tmp din var.
Mergei n directorul share din usr folosind o singur comand. Schimbai directorul cu doc. Care
este directorul curent de lucru?

3.6.3. Turul sistemului

Mergei n directorul /proc.


Pe ce procesor ruleaz sistemul dumneavoastr?
Ct de mult RAM (memorie cu acces aleator) folosete acum?
Ct spaiu alocat pentru swap avei?
Ce drivere sunt ncrcate?
De cte ore ruleaz sistemul?
Ce sisteme de fiiere sunt recunoscute n sistem?
Mutai-v n /etc/rc.d | /etc/init.d | /etc/runlevels i alegei directorul potrivit
nivelului de executare (rulare) al sistemului dumneavoastr.
Ce servicii ar trebui s ruleze n acest nivel?
Ce servicii ruleaz n modul grafic i nu ruleaz n modul text?
Mutai-v n /etc.
Ct timp pstreaz sistemul fiierele jurnal n care sunt monitorizate autentificrile utilizatorilor?
Ce versiune folosii?
Exist alte notificri sau mesaje ale zilei?
Ci utilizatori exist pe sistemul dumneavoastr? Nu i numrai, lsai calculatorul s fac acest
lucru n locul dumneavoastr.
Cte grupuri?
Unde este pstrat informaia referitoare la zona de timp?
Sunt instalate n calculator informaii de tipul CUM S?
Mutai-v n usr/share/doc.
Numii trei programe care sunt incluse n pachetul GNU coreutils.
Ce versiune a consolei (bash) este instalat n sistemul dumneavoastr?

64

3.6.4. Mnuirea fiierelor

Creai un director nou n directorul dumneavoastr personal.


Putei muta acest director pe acelai nivel cu directorul personal?
Copiai toate fiierele XPM din /usr/share/pixmaps n directorul cel nou. Ce nseamn XPM?
Afiai toate fiierele n ordine alfabetic invers.
Mutai-v n directorul personal. Creai un director nou i copiai toate fiierele din directorul /etc n
acesta. Asigurai-v c ai copiat i toate fiierele i directoarele care sunt subdirectoare ale lui
/etc! (copiere recursiv)
Mergei n directorul nou i creai un director pentru fiierele care ncep cu liter mare i un altul
pentru fiierele care ncep cu o liter mic. Mutai toate fiierele n directorul potrivit. Folosii ct mai
puine comenzi posibil.
tergei fiierele care v-au rmas.
tergei tot directorul i coninutul acestuia printr-o singur comand.
Folosii grep pentru a afla care script pornete serviciul fonturi (Font Server) n nivelul de rulare
grafic.
Unde se afl programul serviciului sendmail?
Creai o legtur simbolic n directorul dumneavoastr personal ctre /var/tmp. Verificai i dac
funcioneaz.
Creai alt legtur simbolic n directorul personal ctre legtura existent. Verificai dac
funcioneaz. tergei prima legtur i listai coninutul directorului. Ce s-a ntmplat cu cea de-a
doua legtur?

3.6.5. Permisiunile asociate fiierelor

Putei schimba permisiunile asociate directorului personal /home?


Care este modul implicit pentru crearea fiierelor n cazul dumneavoastr?
Schimbai deintorii directorului /etc n utilizatorul i grupul asociate dumneavoastr.
Schimbai permisiunile asociate fiierului ~/.bashrc n aa fel nct numai dumneavoastr i
grupul dumneavoastr primar s l poat citi.
Introducei comanda locate root. Observai ceva deosebit?
Creai o legtur simbolic care este ndreptat ctre /root. Poate fi folosit?

65

Capitolul 4. Procesele
Alturi de fiiere, procesele sunt cele mai importante lucruri ntr-un sistem UNIX/Linux. n acest
capitol, vom prezenta ndeaproape aceste procese. Vom studia mai multe lucruri despre:

Procesarea multi-utilizatori i multi-sarcini


Tipuri de procese
Controlarea proceselor cu semnale diferite
Atributele proceselor
Ciclul de via al unui proces
Pornirea i oprirea sistemului
SUID i SGID
Viteza sistemului i rspunsul
Procese programate
Sistemul cron Vixie
Cum s obinei cele mai bune performane de la sistemul dumneavoastr

4.1. Anatomia proceselor


4.1.1. Multi-utilizatori i multi-sarcini (multi-user i multi-tasking)
Pentru c acum v-ai obinuit cu mediul de lucru i suntei capabili s comunicai ct de ct cu
sistemul, a venit vremea s studiem mai n detaliu procesele pe care le putem porni. Nu toate comenzile
pornesc un singur proces. Anumite comenzi iniiaz o serie de procese, cum este mozilla; altele, precum ls,
sunt executate ca o singur comand.
Mai mult, Linux-ul este bazat pe UNIX, n care comportamentul obinuit este acela prin care mai
muli utilizatori lanseaz comenzi diferite, n acelai timp, pe acelai sistem. Devine evident faptul c a trebuit
s fie luate msuri pentru ca procesorul (CPU) s poat gestiona toate procesele i s fie asigurat o cale
prin care utilizatorii s dispun de aceste procese. n anumite cazuri, procesele trebuie s ruleze chiar i
atunci cnd utilizatorul care le-a iniiat se deautentific. De asemenea, utilizatorii au nevoie de mijloace prin
care s reactiveze procesele ntrerupte.
Vom explica structura proceselor din Linux n seciunile urmtoare.

4.1.2. Tipuri de procese


4.1.2.1. Procese interactive
Procesele interactive sunt iniializate i controlate printr-o sesiune terminal. Cu alte cuvinte, trebuie
ca cineva s fie conectat la sistem pentru a porni aceste procese; ele nu pot porni automat ca parte a
funciilor sistemului. Aceste procese pot rula n prim-plan, ocupnd terminalul care a pornit programul i nu
putei porni alte procese att timp ct procesele existente n prim-plan ruleaz. Alternativ, ele pot rula n
fundal, astfel nct consola n care ai pornit programul poate accepta comenzi noi n timp ce programul este
n desfurare. Pn acum, ne-am concentrat n principal pe programele care ruleaz n prim-plan timpul
necesar pentru execuia lor a fost prea scurt pentru a fi observate, dar vizualizarea unui fiier cu ajutorul
comenzii less este un bun exemplu de comand care ocup o sesiune a consolei. n acest caz, programul
activat ateapt ca dumneavoastr s facei ceva. Programul este conectat la terminal din momentul n care
a fost pornit i acest terminal este folositor numai dac introducei comenzi pe care programul le poate
nelege. Alte comenzi vor returna erori sau sistemul nu va da nici un rspuns.
ns n cazul n care un proces ruleaz n fundal, utilizatorul poate face alte lucruri n consola din
care a pornit acel program, chiar dac programul este n desfurare.
Consola dispune de o funcie numit controlul sarcinilor (job control), prin care gestioneaz cu
uurin mai multe procese. Funcia conine un mecanism care comut procesele din prim-plan n fundal.
Prin acest sistem, programele pot fi pornite n fundal imediat.

66

Rularea unui proces n fundal este folositoare doar programelor care nu folosesc instruciuni de la
utilizator (prin intermediul consolei). Plasarea unei sarcini n fundal se face, ndeosebi, atunci cnd
executarea acelei sarcini necesit o perioad de timp mai mare. Pentru a elibera un terminal dup
introducerea unei comenzi, adugai dup comand caracterul & . n exemplul urmtor, n care se
lucreaz n mediul grafic, este deschis un alt terminal din interiorul precedentului:

Toate facilitile funciei de control a sarcinilor sunt explicate n detaliu n paginile Info ale consolei
(bash), aa c doar cele mai folosite aplicaii de control ale sarcinilor sunt listate aici:
Tabelul 4-1. Controlul proceselor

(partea de) comand

Semnificaie

comand_obinuit

Ruleaz aceast comand n prim-plan.

comand &

Ruleaz aceast comand n fundal (elibereaz terminalul).

jobs

Arat comenzile care sunt executate n fundal.

Ctrl+Z

Suspend (dar nu ntrerupe, nu termin) un proces care ruleaz n prim-plan.

Ctrl+C

ntrerupe (termin i stopeaz) un proces care ruleaz n prim-plan.

%n

Fiecare proces care ruleaz n fundal primete un numr prin care poate fi
identificat. Folosind expresia % putei s apelai acea sarcin, precum n fg %2.

bg

Reactiveaz un program care a fost suspendat n fundal.

fg

Trece o sarcin din fundal n prim-plan.

kill

Termin procesul (consultai i seciunea Shell Builtin Commands - comenzile


proprii consolei din paginile Info despre bash - console, terminale).
Mai multe exemple vei gsi n exerciiile care vor urma.

Cele mai multe sisteme UNIX au posibilitatea de a rula programul screen, care se dovedete
folositor n cazul n care dorii s introducei o comand n alt consol. Atunci cnd apelai acest program,
este iniiat o alt sesiune a terminalului, mpreun cu eventuala comand specificat, pe care le putei
detaa. n aceast sesiune putei face orice dorii. Toate programele i operaiile vor rula independent de
consola primar. Putei detaa sesiunea n timp ce programele pe care le-ai pornit vor continua s ruleze,
chiar dac v vei deautentifica din consola originar, pentru ca, oricnd dorii, s restaurai acel screen.
Acest program a fost dezvoltat mai demult, cnd nu se inventaser consolele virtuale i totul
trebuia fcut ntr-un singur terminal text. Pentru cei dependeni, a fost pstrat pe sistemele Linux, dei exist
console virtuale de aproape zece ani.

4.1.2.2. Procese automate


Procesele automate (sau periodice, intermitente, continue/discontinue - batch) nu sunt executate n
terminal. Acestea sunt sarcini care pot fi gestionate ntr-o zon de ateptare, de unde vor fi lansate n
execuie pe criteriul primul venit - primul plecat (FIFO first-in, first-out basis). Astfel de sarcini pot fi
executate lund n considerare unul din urmtoarele dou criterii:

La un moment de timp bine determinat: se face prin folosirea comenzii at, pe care o vom discuta n
partea a doua a acestui capitol.

n momentele n care sistemul este mai puin solicitat, astfel nct poate prelua i alte sarcini,
alegere care se face prin comanda batch. Implicit, sarcinile sunt aranjate ntr-o coad de ateptare
pn ce sistemul coboar la un nivel de ocupare mai mic de 0,8. n reelele mari, administratorul de
sistem prefer mai degrab acest mod, pentru c sistemele trebuie s prelucreze mari cantiti de
date sau pentru a se evita ca sarcini care solicit multe resurse de sistem s fie executate de un
sistem deja ncrcat. Procesarea bach este folosit i pentru optimizarea performanelor sistemului.

67

4.1.2.3. Daemons (Procese daemon)


Daemon-ii sunt procese care ruleaz nencetat. De cele mai multe ori, ele sunt iniializate la
pornirea sistemului i apoi ateapt n fundal pn ce sunt solicitate. Un exemplu tipic este procesul de reea
xinetd, care este pornit aproape la orice procedur de boot. Dup ce sistemul este pornit, acest proces de
reea ateapt pn ce un program client, precum un client FTP, solicit conectarea.

4.1.3. Atributele proceselor


Un proces are o serie de caracteristici, care pot fi vzute cu ajutorul comenzii ps:

ID-ul procesului sau PID: un numr unic de identificare folosit pentru apelarea procesului.
ID-ul procesului printe sau PPID: numrul procesului (PID) care a pornit procesul n cauz.
Numrul de amiciie: gradul de atitudine prietenoas al acestui proces fa de celelalte procese (a nu

se confunda cu prioritatea procesului, care este calculat pe baza acestui numr de amiciie i pe
utilizarea recent a procesorului).
Terminal sau TTY: terminalul la care este conectat procesul.
Numele de utilizator al utilizatorului real i efectiv (RUID i EUID): deintorul procesului. Deintorul
real este utilizatorul care a introdus comanda, deintorul efectiv fiind cel care determin accesul la
resursele sistemului. RUID i EUID sunt, de regul, aceleai, iar procesul are drepturile de acces pe
care le are utilizatorul care l-a pornit. Exemplul de mai jos clarific aceste aspecte: navigatorul
mozilla din /usr/bin/ este deinut de root:

Cnd utilizatorul theo pornete acest program, procesul n sine i toate procesele care sunt pornite
de procesul iniial vor fi deinute de utilizatorul theo i nu de administratorul sistemului. Cnd mozilla solicit
accesul la anumite fiiere, el va fi determinat pe baza permisiunilor pe care le are theo i nu pe cele ale
administratorului de sistem, root.
Grupul real i efectiv care deine procesul (RGID i EIGID): Grupul real care deine procesul este
grupul primar al utilizatorului care a pornit procesul. Grupul efectiv este, n aproape toate cazurile,
acelai, exceptnd pe cel n care modul de acces SGID a fost aplicat unui fiier.

4.1.4. Afiarea informaiilor despre procese


Comanda ps este una din uneltele cu care afiai procesele. Aceast comand are cteva opiuni
care pot fi combinate pentru afiarea diverselor atribute ale proceselor.
Dac nu specificai nici o opiune, ps va oferi doar informaii despre consola curent i procesele
existente:

ntruct nu ofer informaii suficiente n general, cel puin cteva sute de procese rulnd pe
calculatorul dumneavoastr vei selecta procesele care v intereseaz din lista cu toate procesele, folosind
comanda grep ntr-o conexiune pipe, consultai Seciunea 5.1.2.1, precum n linia pe care o prezentm mai
jos, comand care va selecta i afia toate procesele deinute de un anume utilizator:

68

ps -ef | grep bash nume_de_utilizator


Acest exemplu arat toate procesele cu numele bash, consola cea mai ntlnit pe sistemele
Linux:

n aceste cazuri, comanda grep, care caut linii coninnd irul bash, este afiat adesea pe
sistemele ale cror resurse nu sunt solicitate. Dac nu vrei ca acest lucru s se ntmple, folosii comanda
pgrep.
Consolele bash reprezint un caz special: lista proceselor arat, de asemenea, care dintre ele sunt
autentificate n consol (pentru care trebuie s furnizai numele de utilizator i parola, precum autentificarea
n modul text sau autentificarea la distan, diferite de cele care nu sunt autentificate n consol, pornite, de
exemplu, prin apsarea pictogramei ferestrei terminal). Procesele autentificate n consol sunt precedate de
caracterul - .
|?
Vom explica operandul | n capitolul care urmeaz, consultai Capitolul 5.
Mai multe informaii pot fi obinute, ca de obicei, pe cile obinuite: ps --help sau man ps.
Comanda GNU ps poate lucra cu mai multe stiluri de formate ale opiunilor. Exemplele urmtoare nu conin
erori.
Trebuie s inei minte c ps arat doar procesele active la momentul n care ai introdus aceast
comand, adic este o fotografie a proceselor la momentul respectiv. Programul top afieaz informaii mai
precise, actualiznd informaiile obinute cu ps (cu multe opiuni) la fiecare 5 secunde, genernd o list nou
cu procesele care ncarc substanial sistemul, integrnd n acelai timp mai multe informaii despre
utilizarea memoriei swap i despre starea procesorului (CPU), din fiierul proc:

69

Prima linie din listarea generat de comanda top conine aceleai informaii pe care le putei obine
prin comanda uptime:

Datele pentru aceste programe sunt stocate laolalt cu altele n /var/run/utmp (informaii
despre utilizatorii conectai) i n sistemul de fiiere virtual /proc, de exemplu /proc/loadavg
(informaii despre gradul de solicitare a sistemului). Exist tot felul de aplicaii grafice care arat aceste date,
precum Gnome System Monitor i lavaps. De la Fresh Meat i SourceForge vei putea instala zeci de
aplicaii care centralizeaz aceste informaii laolalt cu alte date specifice serverelor i jurnale de la mai
multe servere pe un singur server (web), ceea ce v permite monitorizarea ntregii infrastructuri IT de la o
singur staie de lucru.
Relaiile dintre procese pot fi afiate prin comanda pstree:

70

Opiunile -u i -a ofer informaii adiionale. Pentru mai multe opiuni i ceea ce fac ele,
consultai paginile Info.
n seciunea urmtoare vei afla cum un proces poate crea altul.

4.1.5. Viaa i moartea unui proces


4.1.5.1. Crearea unui proces
Un proces nou este creat deoarece un proces existent face o copie exact a lui nsui. Acest
proces copil dispune de acelai mediu ca printele su, numai numrul ID este diferit. Aceast procedur
este numit forking (bifurcaie).
Dup procesul de bifurcaie, spaiul de adresare al procesului copil este suprascris cu datele noului
proces. Acest lucru este realizat printr-o apelare exec ctre sistem.
Mecanismul fork-and-exec schimb aadar o comand veche cu una nou, n timp ce mediul n
care este executat noul program rmne neschimbat, incluznd configuraia dispozitivelor de intrare i ieire,
variabilele de mediu i prioritile. Acest mecanism este folosit pentru crearea tuturor proceselor UNIX,
aplicndu-se astfel i sistemelor de operare Linux. Chiar primul proces, init, care are numrul ID 1, este
bifurcat pe parcursul procedurilor de pornire (boot) n aa-numita procedur bootstrapping.
Schema urmtoare ilustreaz mecanismul fork-and-exec. ID-ul proceselor sunt schimbate dup
procedura de bifurcaie:
Figura 4-1. Mecanismul fork-and-exec

71

n cteva cazuri, init devine printe al unui proces chiar dac acest proces copil nu este pornit de
init, dup cum se vede n exemplul pstree. Multe programe, de exemplu, transform (daemonize) procesele
pornite de ele (procesele-copil) n servicii, pentru ca ele s poat rula i dup ce procesul-printe se oprete
sau este oprit. Administratorul de ferestre este exemplul tipic; el pornete un proces xterm care genereaz o
consol n care putei introduce comenzi. Apoi administratorul de ferestre respinge orice responsabilitate
ulterioar i paseaz procesul copil ctre init. Prin folosirea acestui mecanism, administratorii de ferestre pot
fi schimbai fr ntreruperea aplicaiilor n desfurare.
Cteodat lucrurile pot merge prost, chiar n familiile bune. n cazuri extrem de rare, un proces
poate fi stopat nainte ca printele care l-a pornit s atepte completarea ciclului normal. Un astfel de proces
terminat anormal, nengropat, se numete zombie.

4.1.5.2. Terminarea proceselor


Cnd un proces se termin normal (nu este omort, stopat killed sau ntrerupt pe neateptate),
programul returneaz printelui semnalul de ieire exit status. Acest semnal este un numr returnat de
program care conine informaii despre execuia sarcinii. Sistemul prin care se returneaz informaii despre
execuia sarcinilor are originile n limbajul de programare C, n care a fost scris UNIX-ul.
Codurile de ieire returnate pot fi interpretate de procesele printe sau n scripturi. Valorile acestor
coduri sunt specifice fiecrui program. Aceste informaii pot fi gsite de obicei n paginile man ale
programelor n cauz, programul grep returnnd, de exemplu, -1 dac nu este gsit nici o potrivire, pe
baza cruia este afiat linia care conine masajul No files found - Nu am gsit nici un fiier. Un alt
exemplu este cel al comenzii proprii consolei Bash, true, care nu face nimic n afar de returnarea
semnalului de ieire 0, al crui neles este ncheierea cu succes.

4.1.5.3. Semnale
Procesele se termin deoarece ele primesc un semnal. Sunt multe semnale pe care le putei trimite
unui proces. Folosii comanda kill pentru a trimite semnale proceselor. Comanda kill -l arat o list care
conine mai multe semnale. Cele mai multe sunt folosite de sistem pentru uzul intern sau de programatori
atunci cnd scriu coduri. Ca utilizator, vei avea nevoie de urmtoarele semnale:
Tabelul 4-2. Semnale comune

Numele semnalului

Numrul semnalului

nelesul semnalului

SIGTERM

15

Termin procesele ntr-o manier ordonat.

SIGINT

ntrerupe procesele. Un proces poate s ignore acest


semnal.

SIGKILL

ntrerupe procesele. Un proces poate s ignore acest


semnal.

SIGHUP

Pentru servicii: recitete fiierele de configurare.

Putei citi mai multe despre aciunile implicite care sunt aplicate unui proces prin trimiterea unui
semnal n man 7 signal.

4.1.6. SUID i SGID


Dup cum am promis n capitolul anterior, vom discuta modurile speciale SUID i SGID mai n
detaliu. Aceste moduri exist pentru a oferi utilizatorului obinuit posibilitatea de a executa sarcini pe care, n
mod normal, nu ar putea s le ndeplineasc din cauza sistemului de permisiuni asociate fiierelor pe
sistemele asemntoare cu UNIX-ul. n situaia ideal, modurile speciale sunt utilizate ct mai rar, ntruct
ele includ riscuri legate de securitatea sistemului. Dezvoltatorii Linux au ncercat s le evite pe ct de mult
posibil. Versiunea pentru Linux a comenzii ps, de exemplu, folosete informaia stocat n fiierul /proc,
care este accesibil tuturor, prin aceasta evitndu-se expunerea datelor confideniale i a resurselor. nainte
de asta i nc valabil pentru sistemele UNIX mai vechi, programul ps avea acces la fiiere precum
/dev/mem i /dev/kmem, dezavantajul major fiind legat de permisiunile asociate lor i deintorii acestor
fiiere, dup cum se poate observa din exemplul de mai jos:

72

n cazul versiunilor mai vechi ale comenzii ps, nu era posibil pornirea programului ca utilizator
obinuit, dect dac se aplicau moduri speciale.
nelegem faptul c este bine s evitm aplicarea modurilor speciale dar, cteodat, apare
necesitatea aplicrii unui SUID. Un exemplu bun este mecanismul schimbrii parolelor. Desigur c utilizatorii
vor dori s fac ei nii acest lucru, n locul administratorului de sistem. Dup cum tim, numele de utilizatori
i parolele sunt listate n fiierul /etc/passwd, care are asociate urmtoarele permisiuni i deintori:

Totui, utilizatorii trebuie s poat schimba informaiile referitoare la propriul cont, coninute de
acest fiier. Putei obine acest lucru prin aplicarea unor permisiuni speciale programului passwd:

Atunci cnd este apelat, programul passwd va rula folosind permisiunile asociate contului de root,
prin aceasta asigurndu-se utilizatorului obinuit posibilitatea de a edita fiierul care conine parolele, care
este deinut de administratorul de sistem.
Modul SGID al unui fiier nu apare la fel de des ca modul SUID, ntruct SGID implic adesea
crearea unor grupuri noi. n anumite cazuri, totui, trebuie s trecem prin aceste inconveniente n ideea de a
pune la dispoziie o soluie elegant (nu v facei prea multe griji grupurile necesare sunt create pe
parcursul instalrii). Este cazul programelor write i wall, care sunt folosite pentru a trimite mesaje
utilizatorilor altor terminale (ttys). Comanda write scrie un mesaj pentru un singur utilizator, n timp ce wall
scrie tuturor utilizatorilor conectai.
Trimiterea de text ctre terminalul altui utilizator sau ctre alt interfa grafic nu este permis n
mod normal. Pentru a trece de aceast problem, a fost creat un grup care deine toate dispozitivele
terminal. Atunci cnd se aloc permisiuni SGID comenzilor write i wall, ele vor rula folosind drepturile de
acces care sunt asociate acestui grup care le deine, n exemplul nostru fiind vorba despre tty. Deoarece
acest grup are drepturi de scriere asupra terminalului de destinaie, un utilizator care nu are nici o permisiune
asociat cu terminalul de destinaie, poate trimite mesaje ctre acesta.
n exemplul de mai jos, utilizatorul joe afl n primul rnd la care terminal este conectat
corespondenta sa, folosind comanda who. Dup aceasta, i trimite un mesaj folosind comanda write. Sunt
ilustrate n imagine i drepturile de acces asociate programului write, ct i cele asociate terminalului ocupat
de utilizatoarea care va primi mesajul lui joe: este clar c nimeni n afar de utilizatorul deintor nu are nici
un fel de permisiune asupra dispozitivului, cu excepia grupului deintor, care are drepturi de scriere.

73

Utilizatoarea jenny primete pe ecranul ei urmtoarele:

Dup primirea unui mesaj, terminalul poate fi eliberat prin combinaia de taste Ctrl+L. Pentru a nu
primi deloc mesaje (cu excepia celor din partea administratorului de sistem), folosii comanda mesg. Pentru
a consulta lista cu utilizatorii care accept mesaje, folosii who -w. Toate aspectele fiecrei comenzi sunt
explicate n amnunt n paginile Info ale comenzii respective.
Numele grupurilor pot fi altele
Schema grupurilor este specific fiecrei distribuii. Alte distribuii pot folosi alte nume sau alte
soluii.

4.2. Procesul de pornire (boot), iniiere (init) i oprire (shut-down)


4.2.1. Introducere
Un aspect aparte al Linux-ului este metoda sa deschis prin care pornete i oprete sistemul de
operare. La pornire sunt ncrcate programe specifice, folosind configuraia particular a acestora,
permindu-v s schimbai aceast configuraie pentru a controla procesul de pornire, nchiderea fiind
fcut, de asemenea, ntr-o manier organizat i elegant.
n afar de aspectele legate de controlul proceselor de pornire i oprire, natura Linux-ului face mai
uoar determinarea exact a surselor celor mai multor probleme asociate cu pornirea sau oprirea
sistemului. O nelegere de baz a acestor procese este benefic pentru oricine care utilizeaz un sistem
Linux.
Multe sisteme Linux folosesc lilo, Linux Loader (ncrctorul de sisteme al Linux-ului), pentru
pornirea sistemului. Noi vom discuta doar despre GRUB, totui, care este mai uor de folosit i mai flexibil
(n ultimul timp, tendina de a folosi GRUB-ul ctig teren n cazul majoritii distribuiilor de Linux n.t.). Dac
avei nevoie de informaii despre lilo, consultai paginile man i HOWTO-urile. Ambele sisteme pot gestiona
instalri dual-boot (mai multe sisteme de operare pe acelai calculatorn.t.); ne vom referi la HOWTO-uri pe
marginea acestui subiect pentru exemple practice i informaii de baz.

4.2.2. Procesul de pornire (boot)


Cnd este pornit un calculator x86, procesorul caut n zona de la sfritul memoriei de sistem
BIOS-ul (Basic Input/Output System) i l ruleaz. Programul Bios este scris n memoria permanent i este
mereu gata de utilizare. BIOS-ul asigur interfaa primar cu dispozitivele periferice i controleaz primul pas
al procesului de pornire.
BIOS-ul testeaz sistemul, caut i verific perifericele i apoi caut un disc pentru a-l folosi la
pornirea sistemului. De regul caut prezena mediilor bootabile n unitatea de dischet (sau n unitatea CDROM la sistemele mai noi), dup care caut pe discul fix. Ordinea dispozitivelor folosite la pornire este
controlat, de obicei, de un submeniu al BIOS-ului. Odat instalat Linux-ul pe discul fix al sistemului, BIOS-ul
caut Master Boot Record (MBR-ul) care se afl n primul sector al primului disc fix, l ncarc n memorie i
paseaz controlul procesului acestuia din urm.
MBR-ul conine instruciuni despre ncrcarea GRUB-ului (sau a LILO), folosind un sistem de
operare prestabilit. MBR-ul ncarc apoi ncrctorul de sisteme, care va prelua procesul (dac ncrctorul
de sisteme este instalat n MBR). n configuraia implicit din distribuia Linux RedHat (i Ubuntun.t.), GRUB-ul
folosete setrile din MBR pentru afiarea opiunilor de pornire ntr-un meniu. Cnd GRUB-ul a primit
instruciunile corecte de pornire ale sistemului de operare ales, ori din linia de comand, ori dintr-un fiier de
configurare, gsete fiierele necesare pentru pornire i pred controlul mainii acelui sistem de operare.
74

4.2.3. Facilitile GRUB-ului


Aceast metod de pornire se numete ncrcare direct (direct loading) din cauz c instruciunile
sunt folosite pentru ncrcarea nemijlocit a sistemului de operare, fr cod intermediar ntre ncrctorul de
sisteme i fiierele principale ale sistemului de operare (cum ar fi kernelul). Procesul de pornire existent n
cazul altor sisteme de operare difer foarte puin de cel pe care vi l-am prezentat mai sus. De exemplu,
sistemele de operare de la Microsoft, DOS i Windows, rescriu complet MBR-ul la instalare, fr a ncorpora
nimic din configuraia existent pe MBR. Acest lucru distruge orice informaie stocat n MBR de alte sisteme
de operare, precum Linux. Sistemele de operare Microsoft, ca i alte sisteme proprietare, sunt ncrcate
folosind o metod de ncrcare n lan. Prin aceast metod, MBR-ul intete primul sector al partiiei pe care
se afl sistemul de operare, unde gsete fiierele necesare pentru pornirea sistemului.
GRUB-ul poate gestiona ambele metode de pornire, permindu-v s folosii aproape orice sistem
de operare, cele mai folosite sisteme de fiiere i aproape orice disc fix recunoscut de BIOS.
GRUB-ul are multe alte caracteristici; cele mai importante sunt:

GRUB-ul asigur un mediu pre-sistem de operare, bazat pe linia de comand, pentru mainile

x86, care permite flexibilitate maxim n procesul de ncrcare al sistemelor de operare, avnd
posibilitatea de a folosi anumite opiuni i de a aduna informaii despre sistem.
GRUB-ul poate gestiona modul Logical Block Addressing (LBA), care este necesar pentru
accesarea multor discuri fixe IDE i a tuturor discurilor fixe SCSI. nainte de LBA, discurile fixe
aveau o limit de 1024 de cilindri, impus de faptul c peste aceasta BIOS-ul nu putea gsi un
fiier.
Fiierul de configurare al GRUB-ului este citit de pe disc de fiecare dat cnd sistemul este
pornit, prentmpinnd rescrierea MBR-ului de fiecare dat cnd modificai opiunile de pornire.

Descrierea complet a GRUB-ului poate fi gsit prin introducerea comenzii info grub sau pe saitul
GRUB. Proiectul de documentare pentru Linux are un Mini-CUM S realizai o instalare dual-boot cu ajutorul
GRUB-ului.

4.2.4. Iniierea (Init)


Kernelul, odat ncrcat, caut fiierul init din sbin i l execut.
Cnd init pornete, el devine printele sau bunicul tuturor proceselor care pornesc automat pe
sistemul dumneavoastr Linux. Primul lucru pe care l face init este s citeasc fiierul de iniializare,
/etc/inittab. Acest fiier de iniializare d instruciuni programului init s citeasc un script care
conine o configuraie iniial a mediului, prin care sunt stabilite traseele, se pornete memoria swap, se
verific sistemul de fiiere, i aa mai departe. Pe scurt, acest pas gestioneaz tot ceea ce trebuie fcut la
iniializarea sistemului: potrivirea ceasului, pornirea porturilor seriale i altele.
Apoi init continu s citeasc fiierul /etc/inittab, care descrie cum trebuie setat sistemul n
fiecare nivel de rulare i stabilete nivelul de rulare (default runlevel) implicit. Nivelul de rulare este
configuraia unui proces. Toate sistemele asemntoare UNIX-ului pot rula n diverse configuraii ale
proceselor, cum ar fi modul single user (un singur utilizator), care este cunoscut ca runlevel 1 sau runlevel S
(ori s). n acest mod, doar administratorul de sistem se poate autentifica la sistem. Este folosit la ducerea la
bun sfrit a sarcinilor de ntreinere, pentru a elimina alterarea datelor sistemului sau ale utilizatorilor.
Normal, n acest mod nu se permite accesul utilizatorilor obinuii, aa c serviciile disponibile acestora sunt
dezactivate. Alt nivel de rulare este cel de repornire (reboot runlevel) sau runlevel 6, care oprete conform
procedurilor corecte toate serviciile care ruleaz i restarteaz sistemul.
Folosii comanda who pentru a afia nivelul de rulare curent:

Mai multe despre nivelurile de rulare vom vorbi n seciunea urmtoare, Seciunea 4.2.5.
Dup ce determin nivelul de rulare implicit al sistemului dumneavoastr, init pornete toate
procesele necesare sistemului, care ruleaz n fundal, prin citirea directorului rc potrivit nivelului de rulare
desemnat. init ruleaz fiecare script de oprire (numele fiierelor acestora ncep cu un K) cu un parametru de
stopare. Apoi ruleaz toate scripturile de pornire (numele acestora ncep cu un S) n directorul potrivit
75

nivelului de rulare, astfel nct toate serviciile i aplicaiile sunt pornite corect. Putei executa aceleai
scripturi manual dup ce sistemul termin procedurile de pornire printr-o comand ca /etc/init.d/httpd stop
sau service httpd stop, autentificai ca root, comand referitoare, n acest caz, la oprirea serverului
web.
Cazuri speciale
La pornirea sistemului, sunt executate, n mod normal, scripturile aflate n rc2.d i rc3.d. n
acest caz, nu este oprit nici un serviciu (cel puin, nu permanent). Exist doar servicii care sunt pornite.
Nici unul din scripturile care pornesc i opresc de fapt serviciile nu se afl n /etc/rc<x>.d. Mai
degrab toate fiierele din directorul /etc/rc<x>.d sunt legturi simbolice care intesc ctre scripturile
propriu-zise, aflate n /etc/init.d. O legtur simbolic nu este altceva dect un fiier care intete alt
fiier i este folosit n acest caz deoarece poate fi creat i tears fr a modifica scriptul n sine care
oprete sau pornete un serviciu. Legturile simbolice ctre scripturi diferite sunt numerotate ntr-o ordine
prestabilit, pentru ca acestea s fie pornite n acea ordine.
Putei schimba ordinea n care sunt pornite sau oprite serviciile prin redenumirea legturii simbolice
care se refer la scriptul care controleaz serviciul. Putei folosi acelai numr de mai multe ori dac dorii ca
un anume serviciu s fie pornit sau oprit chiar naintea sau dup alt serviciu, precum n exemplul de mai jos,
care listeaz coninutul directorului /etc/rc5.d, n care cron i xfs sunt pornite amndou de o legtur
al crei nume ncepe cu S90. n acest caz, scripturile sunt pornite dup ordinea alfabetic.

Dup ce init a trecut prin nivelurile de rulare pentru a ajunge n cel implicit, scriptul

/etc/inittab bifurc un proces getty pentru fiecare consol virtual (prompterul de autentificare din
modul text). getty deschide liniile tty, stabilete modul acestora, afieaz prompterul de autentificare, obine
numele de utilizator i apoi iniiaz procesul de autentificare pentru acel utilizator. Astfel se permite
autentificarea utilizatorilor la sistem i folosirea sistemului de ctre acetia. Implicit, cele mai multe sisteme
ofer 6 console virtuale, dar acest comportament este configurabil, dup cum putei afla din fiierul
inittab.

/etc/inittab poate spune, de asemenea, programului init cum s gestioneze un utilizator


care apas taste Ctrl+Alt+Del n consol. Pentru ca un sistem s fie oprit i restartat corespunztor, n loc
s alegei dintre modurile puse la dispoziie prin apsarea pictogramei Ieire, i putei transmite lui init s
execute comanda /sbin/shutdown -t3 -r now, de exemplu, atunci cnd apsai tastele menionate. n
plus, /etc/inittab determin comportamentul lui init n cazul ntreruperii alimentrii, dac sistemul
dumneavoastr are ataat o unitate UPS.
Pe cele mai multe sisteme bazate pe RPM, ecranul de autentificare n modul grafic este pornit n
nivelul de rulare 5, n care /etc/inittab ruleaz un script numit /etc/X11/prefdm. Scriptul
prefdm
ruleaz
administratorul
grafic
preferat,
pe
baza
coninutului
directorului
/etc/sysconfig/desktop. Acesta este de regul gdm dac folosii GNOME sau kdm n cazul n care
folosii KDE, dar ele pot fi amestecate, existnd chiar i xdm, care vine odat cu instalarea standard a
serverului X.
Dar mai sunt i alte posibiliti. n Debian, de exemplu, exist cte un script de iniializare pentru
fiecare administrator grafic i este folosit coninutul directorului /etc/X11/default-displaymanager pentru a determina care dintre acestea este folosit. Mai multe lucruri despre interfaa grafic pot fi
citite n Seciunea 7.3. Mai mult, documentaia proprie sistemului dumneavoastr explic n detaliu aspectele
legate de init.
Directoarele /etc/default i/sau /etc/sysconfig conin intrri pentru mai multe funcii i
servicii care sunt citite la pornirea sistemului. Locul n care se afl directorul care conine setrile implicite ale
sistemului poate fi ntructva diferit, el depinznd de distribuia de Linux aleas.

76

n afar de interfaa grafic aleas, multe alte servicii pot fi pornite. Dar dac totul merge aa cum
trebuie, dumneavoastr vei avea n fa prompterul de autentificare sau ecranul de autentificare la sfritul
procesului de pornire.
Alte proceduri
Am explicat n ce mod SysV init lucreaz pe calculatoarele compatibile x86. Procedurile de pornire
pot fi diferite n cazul altor arhitecturi sau distribuii. Alte sisteme pot folosi stilul init BSD, n care fiierele de
pornire nu sunt mprite n mai multe directoare /etc/rc<LEVEL>.d. Este posibil ca sistemul
dumneavoastr s foloseasc directorul /etc/rc.d/init.d n locul directorului /etc/init.d.

4.2.5. Nivelurile de rulare init


Ideea de a opera servicii diferite pe niveluri de rulare diferite rezid, n principiu, din faptul c
sisteme diferite pot fi folosite n moduri diferite. Anumite servicii nu pot fi folosite dect atunci cnd sistemul
se afl ntr-o stare particular, sau mod (mode), de exemplu atunci cnd este pregtit pentru mai muli
utilizatori sau cnd este disponibil legtura la Internet.
Exist, de asemenea, momente n care dorii s folosii sistemul ntr-un mod care solicit mai puin
resursele acestuia. Exemple sunt destule, precum repararea discurilor fixe n nivelul de rulare 1, pentru ca
nici un alt utilizator s nu fie autentificat n sistem, sau punerea unui server n nivelul de rulare 3 fr ca s
ruleze vreo sesiune a serverului X (modul grafic). n aceste cazuri, serviciile care depind de un mod superior
al sistemului nu sunt rulate, deoarece nu are nici un sens, ele nefuncionnd corect pe un nivel inferior de
rulare. Prin faptul c fiecare serviciu este desemnat deja s porneasc n momentul n care nivelul su de
rulare este atins, obinei un proces de pornire ordonat i putei schimba repede modul n care se afl
calculatorul dumneavoastr fr s v gndii la ce servicii trebuie s pornii sau s oprii manual.
Nivelurile de rulare disponibile sunt descrise n general n /etc/inittab, un caz particular fiind
prezentat mai jos:

Putei configura nivelurile de rulare nefolosite (n mod obinuit este cazul nivelului 4) dup cum
dorii. Muli utilizatori configureaz aceste niveluri n moduri care li se potrivesc mai mult, lsnd nivelurile de
rulare standard neschimbate. Acest lucru le permite s se mute n i din configuraia lor particularizat fr
s modifice aranjamentul implicit al nivelurilor de rulare standard.
Dac sistemul dumneavoastr ajunge ntr-o stare n care nu poate porni datorit unui fiier /etc/
inittab necorespunztor sau dac nu v putei autentifica din cauz c fiierul /etc/passwd este
distrus (sau dac v-ai uitat pur i simplu parola), pornii sistemul n modul corespunztor unui singur
utilizator.
Fr grafic?
Atunci cnd lucrai n modul text din cauz c nu vi s-a prezentat un ecran grafic de autentificare n
consola calculatorului dumneavoastr, v putei muta n consola 7 sau mai sus pentru a obine un ecran
grafic de autentificare. Dac nu v aflai n acest caz, verificai nivelul de rulare curent prin comanda who -r.
Dac este stabilit pe altceva dect cel desemnat implicit n fiierul /etc/inittab, exist posibilitatea ca
sistemul s nu porneasc implicit n modul grafic. Luai legtura cu administratorul de sistem sau citii
77

paginile man init. Schimbarea nivelurilor de rulare este bine s fie fcut folosind comanda telinit; trecerea
din modul text ntr-o consol grafic sau invers nu implic schimbarea nivelului de rulare.
Discutarea nivelurilor de rulare, scripturilor i configuraiilor fcut n acest ghid este una care se
dorete ct mai general. Exist multe variaii. De exemplu, Gentoo Linux pstreaz scripturile n
/etc/runlevels. Alte sisteme pot trece mai nti prin unul sau mai multe niveluri de rulare pentru a
executa toate scripturile de acolo, nainte de a ajunge la nivelul de rulare final i a executa scripturile
coninute de acesta. Apelai la documentaia sistemului propriu pentru mai multe informaii. Putei, de
asemenea, s citii scripturile la care face referire /etc/inittab pentru a nelege mai bine ceea ce se
ntmpl cu sistemul dumneavoastr.

4.2.5.1. Uneltele
Utilitile chkconfig i update-rc.d, cnd sunt instalate n sistemul dumneavoastr, asigur o
unealt simpl n linie de comand, care este folositoare la verificarea ierarhiei directorului /etc/init.d.
Ele scutesc pe administratorul de sistem de la gestionarea manual a numeroaselor legturi simbolice care
se afl n subdirectoarele directoarelor /etc/rc[x].d.
n plus, anumite sisteme ofer unealt ntsysv, care asigur o interfa n modul text; vei afla c
aceasta este mai uor de folosit dect interfaa stil linie de comand a chkconfig. n SuSE Linux, vei gsi
uneltele yast i insserv. Pentru configuraia adresat utilizatorilor obinuii, putei ncerca DarkConf, care,
printre alte faciliti, ofer posibilitatea schimbrii nivelurilor de rulare ntre 3 i 5. n Mandriva, aceast
utilitate devine Mandriva Linux Control Center.
Cele mai multe distribuii ofer o interfa grafic pentru configurarea proceselor, verificai aadar
documentaia sistemului dumneavoastr.
Toate aceste utiliti trebuie rulate ca administrator. Tot administratorul de sistem poate crea
manual legtura potrivit n orice director de pe orice nivel de rulare, pentru a porni sau opri un serviciu pe
un nivel de rulare anume.

4.2.6. Oprirea
UNIX-ul nu a fost proiectat s fie nchis, dar dac trebuie neaprat, folosii comanda shutdown.
Dup completarea procedurilor de nchidere, opiunea -h va opri sistemul, n timp ce -r l va reporni.
Comenzile reboot i halt sunt disponibile pentru a apela comanda shutdown atunci cnd sistemul
se afl n nivelurile de rulare de la 1 la 5, asigurndu-se prin ele oprirea corect a sistemului, dar v facei un
obicei prost, ntruct nu toate versiunile de UNIX/Linux dispun de aceste faciliti.
Dac sistemul dumneavoastr nu se oprete definitiv, nu trebuie s-l oprii dect dup ce primii un
mesaj prin care vi se spune c sistemul este oprit sau c a terminat procedurile de oprire, pentru a da timp
sistemului s demonteze partiiile. Dac suntei nerbdtor, putei cauza pierderi de date.

4.3. Gestionarea proceselor


4.3.1. Munc pentru administratorul de sistem
Cu toate c gestionarea resurselor sistemului, inclusiv a proceselor, este o sarcin care cade n
grija administratorului de sistem, este bine ca utilizatorul obinuit s aib mcar o idee despre acest subiect,
n special despre procesele proprii i despre condiiile optime de executare ale acestora.
Vom explica cteva aspecte din punct de vedere teoretic despre performanele sistemului, dar nu
vom atinge subiecte legate de optimizarea dispozitivelor sau alte proceduri avansate. n schimb, vom studia
problemele zilnice cu care se confrunt utilizatorii obinuii i ceea ce pot face acetia pentru folosirea
optim a resurselor disponibile. Dup cum vei nva n seciunea urmtoare, acest lucru este, n principal, o
abordare de genul gndete nainte de a aciona.
Figura 4-2. Nu poi merge mai repede?

78

4.3.2. Ct dureaz?
Consola ofer o comand proprie, time, care afieaz timpul necesar pentru executarea unei
comenzi. Rspunsul este foarte precis i o putei folosi asupra oricrei comenzi. n exemplul care urmeaz
este necesar un minut i jumtate pentru a face acea carte.

Comanda time din GNU care se afl n /usr/bin (opus versiunii proprii consolei) afieaz
mai multe informaii care pot fi dispuse n mai multe moduri. Arat i semnalul de ieire al comenzii, precum
i timpul total care a fost necesar. Aceeai comand dar folosind versiunea independent time va genera
79

urmtoarele:

Pentru toate informaiile, apelai la paginile Info.

4.3.3. Performan
Pentru utilizator, performana nseamn executarea rapid a unei comenzi. Pentru un gestionar de
sistem, pe de alt parte, nseamn mult mai mult: administratorul de sistem trebuie s optimizeze
performanele sistemului pentru acel sistem ca ntreg, incluznd utilizatori, toate programele i serviciile.
Performanele sistemului pot depinde de mii de lucruri mrunte, care nu sunt contabilizate de comanda time:

programul care este executat este scris prost sau nu folosete corect calculatorul
accesul la discuri, controlere, monitor, alte dispozitive, etc.
accesibilitatea sistemelor la distan (performanele reelei)
numrul utilizatorilor din sistem, numrul celor care lucreaz simultan
perioada efectiv din zi
...

4.3.4. ncrcarea (nivelul de solicitare a) sistemului


Pe scurt: ncrcarea depinde de ceea ce este normal pentru sistemul dumneavoastr. Vechiul meu
P133 care ruleaz ca firewall, server SSH, server de fiiere, router, server de mail, server proxy i care
asigur alte cteva servicii, nu se plnge cu 7 utilizatori autentificai; nivelul de solicitare este tot 0, n medie.
Anumite sisteme (multi-procesor) pe care le-am vzut suportau destul de bine un nivel de solicitare de 67.
Putei afla ntr-un singur mod verificai periodic nivelul de solicitare, pentru a ti care este cel normal. Dac
nu o facei, putei msura nivelul de solicitare a sistemului dup rspunsul liniei de comand, a crei vitez
este influenat de sute de factori.
Nu uitai c sisteme diferite se comport aparte n cazul aceluiai nivel de solicitare. De exemplu,
un sistem care are o plac grafic care asigur accelerare nu va avea probleme la randarea imaginilor 3D, n
timp ce acelai sistem cu o plac VGA ieftin va fi ncetinit substanial la randare. Vechiul meu P133 va
reaciona greoi la pornirea serverului X (modul grafic), n timp ce pe sistemele moderne vei observa cu greu
diferene n nivelul de solicitare a sistemului.

4.3.5. Ca utilizator, pot face ceva?


Un mediu stufos v poate ncetini. Dac avei stabilite multe variabile de mediu (n schimbul
variabilelor consolei), traseele mai lungi de cutare care nu sunt optimizate (erori n stabilirea variabilei de
mediu PATH) i alte asemenea reglaje fcute din zbor, sistemul va avea nevoie de mai mult timp pentru a
cuta i citi datele.
n X, administratorii de ferestre i mediul spaiului de lucru pot mnca mult din puterea
procesorului. Un spaiu de lucru mai atractiv are un pre, chiar dac l putei descrca gratuit, deoarece cele
mai multe dintre ele pot integra tot felul de suplimente (add-ons). Modestia este o virtute atunci cnd nu
suntei dispus s cumprai un calculator nou n fiecare an.

80

4.3.5.1. Prioriti
Prioritatea sau importana unui serviciu este determinat de numrul su amical. Un program cu un
numr amical mare este prietenos fa de alte programe, ali utilizatori i fa de sistem; nu este o sarcin
important. Cu ct numrul amical este mai mic, cu att este mai important sarcina i vor fi folosite mai
multe resurse fr a le mpri cu alte programe.
Mrirea numrului amical al programelor pentru a le face mai prietenoase este folositoare pentru
procesele care solicit mult procesorul (compilatoare, aplicaii matematice i altele de acest fel). Procesele
care folosesc intensiv timpii I/O sunt rspltite automat de ctre sistem prin acordarea de prioritate (li se
asociaz un numr amical mai mic), un exemplu fiind cel al tastaturii, care are cea mai ridicat prioritate ntrun sistem.
Definirea prioritii unui program se face prin comanda nice.
Cele mai multe sisteme asigur i comanda BSD renice, care v permite s schimbai gradul de
amiciie (niceness) a unei comenzi care se afl n execuie. V ndrumm din nou ctre paginile de
documentaie specific sistemului dumneavoastr.
Programe interactive
Nu v sftuim s schimbai prin nice sau renice numrul amical al programelor sau sarcinilor care
ruleaz n prim-plan. Folosirea acestor comenzi este rezervat administratorului de sistem. Citii paginile de
manual sau cele Info despre funciile disponibile administratorului de sistem.

4.3.5.2. Resursele procesorului (CPU)


Pe orice sistem Linux, multe programe doresc s foloseasc procesorul n acelai timp, chiar dac
dumneavoastr suntei singurul utilizator autentificat n sistem. Fiecare program are nevoie de un anumit
numr de cicluri ale procesorului pentru a rula. Pot exista momente n care nu sunt disponibile suficiente
cicluri deoarece procesorul este ocupat. Comanda uptime este mai degrab orientativ (ea afieaz doar
media, pe cnd dumneavoastr avei nevoie s cunoatei situaia normal), dar departe de a fi
nefolositoare. Sunt cteva aciuni pe care le putei ntreprinde dac dumneavoastr credei c procesorul
este vinovat de faptul c sistemul nu v rspunde la comenzi aa cum ar trebui:

Rulai programele care ncarc sistemul atunci cnd sistemul este mai puin solicitat. Momentele n

care sistemul este mai puin solicitat se ntlnesc, de regul, noaptea. Consultai seciunea
urmtoare, care prezint programarea sarcinilor.
Evitai ca sistemul s execute sarcini care nu sunt necesare: oprii serviciile i programele pe care
nu le folosii, folosii comanda locate n loc de mai solicitanta find,...
Rulai sarcinile mari consumatoare de resurse cu o prioritate sczut.

Dac nici una din aceste soluii nu este o opiune viabil n cazul sistemului dumneavoastr, ar
trebui s luai n considerare schimbarea procesorului. Pe o main UNIX, acest lucru este o sarcin care
cade n grija administratorului de sistem.

4.3.5.3. Resursele de memorie


n situaia n care procesele aflate n desfurare au nevoie de mai mult memorie dect dispune
fizic sistemul, un sistem Linux nu va nghea; va ncepe s pagineze, sau s fac ceea ce se numete
swapping, adic procesul va folosi memorie de pe discul fix sau din spaiul swap, mutnd coninutul
memoriei fizice (fragmente din programul rulat sau tot programul n cazul swapping-ului) pe disc, permind
n acest mod memoriei fizice s gestioneze alte procese. n acest mod se ncetinete destul de mult
sistemul, deoarece accesul la disc este mai lent dect accesul la memorie. Comanda top poate fi folosit
pentru afiarea memoriei folosite, fizice ct i swap. Sistemele care folosesc glibc ofer pentru afiarea
memoriei n uz comenzile memusage i memusagestat.
Dac avei convingerea c este folosit mult memorie fizic i swap, putei ncerca:

Terminarea, stoparea sau mrirea numrului amical al programelor care folosesc mult memorie.
Adugarea de memorie sistemului (n unele cazuri, mrirea spaiului swap).
mbuntirea performanelor sistemului, lucru care nu face obiectul acestui ghid. Citii lista din
81

Appendix A pentru mai multe informaii.

4.3.5.4. Resursele I/O


n timp ce limitrile impuse de I/O sunt cauza principal de stres pentru administratorii de sistem,
Linux-ul nu ofer utiliti foarte precise pentru msurarea performanelor I/O. Programele ps, vmstat i top
dau anumite indicaii despre ct de multe programe solicit resursele I/O; netstat afieaz statistici ale
interfeei de reea, dar practic nu exist unelte care s msoare rspunsul I/O la ncrcarea sistemului, iar
comanda iostat ofer doar o scurt descriere a folosirii I/O n general. Exist numeroase interfee grafice
care organizeaz datele afiate de aceste programe ntr-o form inteligibil pentru dumneavoastr.
Fiecare dispozitiv are problemele sale, dar limea de band disponibil interfeelor de reea i
limea de band disponibil discurilor sunt principalele cauze ale gtuirilor care afecteaz performanele
I/O.
Problemele de reea ale I/O:

Suprancrcarea reelei: cantitatea de date transportat pe reea este mai mare dect capacitatea

reelei, lucru care duce la executarea cu ncetineal a sarcinilor care implic reeaua, pentru toi
utilizatorii. Pot fi rezolvate prin reducerea solicitrii reelei (care nseamn, n principal, dezactivarea
protocoalelor i serviciilor de care nu avei nevoie) sau prin reconfigurarea reelei (de exemplu,
folosirea reelelor intranet, nlocuirea hub-urilor cu switch-uri, actualizarea programelor i
modernizarea echipamentelor).
Problemele cauzate de integritatea reelei: apar atunci cnd datele sunt transferate incorect.
Rezolvarea acestor probleme se face doar prin identificarea elementului defect i nlocuirea
acestuia.
Problemele I/O cauzate de disc:

rata de transfer per proces prea mic: viteza de citire sau scriere per proces este prea mic.
rata de transfer global prea mic: limea de band total pe care o pune la dispoziie sistemul
tuturor programelor care ruleaz la un moment dat este prea mic.
Acest fel de probleme sunt mai greu de depistat i au nevoie de echipamente suplimentare care s
redistribuie fluxul de date pe magistrale, controller-e i discuri, dac se confirm c echipamentele
suprasolicitate sunt cauza problemelor. O soluie ar fi o configuraie RAID, optimizat pentru aciunile de
intrare i ieire. Astfel, v putei pstra acelai echipament. O trecere la magistrale, controller-e i discuri mai
rapide este cealalt cale prin care putei rezolva problemele de acest gen.
Dac suprancrcarea nu este cauza problemelor, este posibil ca echipamentele dumneavoastr
s nu mai funcioneze cum trebuie sau s nu fie conectate corect la sistem. Putei s ncepei cu verificarea
contactelor, conectorilor i cuplajelor.

4.3.5.5. Utilizatorii
Utilizatorii pot fi mprii n cteva categorii, dup comportamentul lor fa de folosirea resurselor:

Utilizatori care ruleaz un numr (mare) de sarcini care nu solicit foarte mult sistemul:
dumneavoastr, utilizatorul nceptor de Linux, de exemplu.
Utilizatorii care ruleaz doar cteva sarcini, dar care solicit sistemul: cei care ruleaz simulri,
calcule, emulatoare sau alte programe care au nevoie de mult memorie, aceti utilizatori folosind,
de regul, i fiiere de date foarte mari.
Utilizatori care ruleaz puine sarcini, dar folosesc foarte multe resurse ale procesorului (dezvoltatorii
i cei cu preocupri asemntoare).
Vei observa c cerinele de sistem difer cu fiecare categorie de utilizatori i c a-i mulumi pe toi
este un lucru dificil. Dac lucrai pe un sistem cu mai muli utilizatori, v este de folos (i este amuzant,
totodat) s cunoatei obiceiurile celorlali i sistemul, pentru a folosi ct mai bine resursele pentru scopurile
dumneavoastr.

82

4.3.5.6 Unelte grafice


Pentru mediul grafic sunt disponibile destule unelte pentru monitorizare. Mai jos este o captur de
ecran care arat Gnome System Monitor (Monitorul de sistem pentru mediul Gnome), care poate cuta i
afia informaii despre procese i resursele sistemului:

Sunt disponibile, de asemenea, mai multe aplicaii pe care le putei instala n bara de sarcini, ca
pictograme, care monitorizeaz discurile fixe, memoria i nivelul de solicitare a sistemului. xload, de
exemplu, este o alt miniaplicaie pentru monitorizarea sistemului. Cutai pe acelea care v plac mai mult!

4.3.5.7. ntreruperea proceselor


Ca utilizator obinuit, putei influena doar procesele dumneavoastr. Am artat deja cum putei
afia procesele i cum putei filtra pe acelea care aparin unui anume utilizator i am vorbit despre restriciile
pe care le putei ntlni. Cnd realizai c unul din procesele dumneavoastr ocup prea multe resurse ale
sistemului, sunt dou lucruri pe care le putei face:
1. Asigurai-v c procesul va folosi mai puine resurse fr a fi ntrerupt;
2. Oprii definitiv procesul.
n cazul n care dorii ca acel proces s ruleze n continuare, dar s acordai, n acelai timp, i
altor procese o ans, putei oricnd s modificai numrul amical (renice) al procesului care solicit
sistemul. n afar de utilizarea comenzilor nice sau renice, top este ntotdeauna o cale uoar prin care
putei observa procesele care produc necazuri, pentru a le reduce prioritatea.
Identificai procesele problem n coloana NI printre cele care au o prioritate negativ. Tastai r i
introducei ID-ul procesului cruia dorii s-i redefinii prioritatea. Apoi introducei valoarea numrului amical,
de exemplu 20. Acest lucru nseamn c cel mult numai 1/5 din ciclurile procesorului vor fi folosite de acest
proces.
Emulatoarele, mainile virtuale, compilatoarele i altele de acest fel sunt exemple de procese pe
care nu ai dori s le oprii, ci doar s le redefinii prioritatea.
83

Dac dorii s oprii un proces deoarece este ngheat sau pentru c solicit prea mult resursele I/O
sau alte resurse ale sistemului, folosii comanda kill. Dac avei posibilitatea, ncercai s oprii procesul ntrun mod mai puin brutal, trimind semnalul SIGTERM. Acesta este o instruciune care cere oprirea n
concordan cu procedurile descrise n codul programului:

n exemplul de mai sus, utilizatorul joe a oprit Mozilla deoarece rspundea greu la comenzi.
De anumite procese scpai mai greu. Dac avei rbdare, le putei trimite semnalul SIGINT pentru
a le opri. Dac nici acesta nu reuete, folosii cel mai puternic semnal, SIGKILL. n exemplul de mai jos, joe
oprete Mozilla deoarece nghease:

n astfel de cazuri, ai putea s verificai dac procesul este cu adevrat oprit, folosind filtrarea
grep asupra PID. Dac este returnat doar procesul grep, putei fi siguri c ai reuit oprirea procesului.
Printre procesele care sunt greu de oprit se numr i consola. Este un lucru bun: dac ar fi uor
de terminat, ai fi pierdut consola de fiecare dat cnd ai fi apsat accidental Ctrl-C n linia de comand,
ntruct combinaia de taste menionat trimite semnalul SIGINT.
UNIX-ul fr conexiuni (pipes) este de neconceput
Folosirea conexiunilor (|) n aa fel nct ieirea unei comenzi s devin intrare pentru alt
comand este explicat n capitolul urmtor, Capitolul 5.
n mediul grafic, programul xkill este foarte uor de folosit. Introducei numele comenzii, apsai Enter i
alegei fereastra aplicaiei pe care dorii s o oprii. Este o abordare periculoas, deoarece comanda trimite
implicit semnalul SIGKILL, aa c folosii-o numai n cazurile n care aplicaiile nu mai rspund.

4.4. Programarea proceselor


4.4.1. Folosii acel timp disponibil!
Un sistem Linux poate suferi din multe cauze, dar sufer, de regul, doar pe parcursul programului
de lucru. Fie c se afl ntr-un mediu de birouri, ori camera serverelor sau acas, cele mai multe sisteme
Linux sunt n ateptare dimineaa, seara, noaptea i la sfritul sptmnii. Folosirea acestui timp disponibil
se dovedete a fi mult mai ieftin dect cumprarea unor echipamente de care avei neaprat nevoie dac
dorii ca toate lucrurile s fie fcute n acelai timp.
Se disting trei tipuri de execuie ntrziat:

Sarcin pus n ateptare pentru puin timp i apoi relansat n execuie, prin comanda sleep.

Timpul de execuie depinde de timpul sistemului n momentul introducerii.


Rularea unei comenzi la un moment de timp specificat, folosind comanda at. Executarea sarcinii
depinde de timpul sistemului, nu de cel al introducerii.
Rularea unei comenzi regulat, lunar, sptmnal sau din or n or, prin folosirea comenzii cron.
Seciunea urmtoare va discuta fiecare posibilitate.

84

4.4.2. Comanda sleep


Paginile Info despre aceast comand sunt, probabil, cele mai scurte din cte exist. Tot ceea ce
face sleep este s atepte. Implicit, timpul de ateptare este exprimat n secunde.
Pentru ce exist atunci? Iat cteva exemple practice:
V caut cineva la telefon i i spunei Voi fi la dumneavoastr ntr-o jumtate de or, dar suntei
absorbit de munca dumneavoastr i nu vrei s uitai de ntlnire:
(sleep 1800; echo ntlnire cu X... ) &
Cnd nu putei folosi comanda at din diverse motive, s zicem c este ora cinci, dorii s plecai
acas dar nc avei de lucru i chiar n aceste momente cineva folosete resursele sistemului:
(sleep 10000; programul_meu) &
n aceste cazuri trebuie s avei activat o modalitate de autodeautentificare i inei minte s v
deautentificai, s ncuiai desktop-ul ori biroul sau rulai astfel de sarcini ntr-o sesiune screen.
Dac avei foarte multe lucrri de tiprit dar dorii ca i alii s poat tipri n acest timp:
lp foarte_mult_text; sleep 900; lp fiier_imens; sleep 900; lp alt_fiier_imens
Tiprirea fiierelor este discutat n Capitolul 8.
Programatorii folosesc adesea comanda sleep pentru a opri execuia unui script sau a unui
program pe o anume perioad de timp.

4.4.3. Comanda at
Comanda at execut programele desemnate la timpul precizat, folosind consola dumneavoastr
implicit, dac nu precizai alt opiune (consultai paginile man).
Opiunile comenzii at sunt destul de prietenoase, dup cum v prezentm n exemplul de mai jos:

Apsarea tastelor Ctrl+D determin ieirea din utilitarul at i afieaz mesajul EOT.
Utilizatorul steven, n exemplul urmtor, face un lucru mai puin ntlnit, combinnd dou comenzi;
vom studia aceste practici n Capitolul 5, Redirectarea Intrrilor i Ieirilor (Redirecting I/O).

Opiunea -m trimite un mail utilizatorului la terminarea sarcinii sau ofer explicaii n cazurile n
care sarcina nu poate fi executat. Comanda atq listeaz sarcinile; introducei aceast comand nainte de
programarea unor sarcini pentru a nu introduce n execuie sarcini care s porneasc la acelai moment de
timp. Prin comanda atrm putei terge sarcinile programate, dac este necesar.
V sftuim s nu programai sarcini la ore fixe, deoarece aceste momente sunt folosite adesea
pentru execuia sarcinilor de sistem, dup cum vei observa n seciunea urmtoare, Seciunea 4.4.4. De
exemplu, astfel de sarcini sunt rulate la ora 01.00 (unu dimineaa de pild cutarea i indexarea de ctre
85

sistem a unei baze de date standard), aa c programarea unei alte sarcini la aceeai or poate duce lesne
la ncetinirea sistemului, n loc s-l accelereze. Pentru a preveni situaiile n care sarcinile sunt rulate n
acelai timp, putei folosi i comanda batch, care verific procesele i asigur executarea acestora de ctre
sistem ntr-o manier echilibrat, eliminnd solicitarea maxim a resurselor sistemului. Consultai paginile
Info pentru mai multe informaii.

4.4.4. Cron i crontab


Sistemul cron este gestionat de serviciul (daemon) cron. Acest program adun informaii despre
programe i despre momentele n care acestea sunt programate s ruleze, folosind intrrile din fiierul
crontab, generate de sistem sau de utilizatori. Numai administratorul de sistem are dreptul s acceseze
fiierele crontab ale sistemului, utilizatorii fr privilegii speciale avnd propriile fiiere crontab n care pot
introduce sarcini care vor fi executate la un anumit moment. Pe anumite sisteme, utilizatorii obinuii pot s
nu aib deloc acces la facilitile cron.
La pornirea sistemului, serviciul cron caut n directorul /var/spool/cron intrri n fiierele
crontab care sunt denumite dup conturile existente n /etc/passwd, caut n /etc/cron.d/ i
/etc/crontab, apoi folosete aceste informaii n fiecare minut, pentru a verifica dac are ceva de fcut.
Va executa comenzile cu drepturile asociate utilizatorului care deine fiierul crontab i trimite mesaje care
conin ieirile generate de programele executate acestor utilizatori.
Pe sistemele care folosesc Vixie, sarcinile care se repet la fiecare or, zilnic, sptmnal i lunar
au intrri separate, n directoarele /etc, pentru a putea fi trecute n revist mai uor, comportament care este
opus funciilor cron standard din UNIX, care folosete un singur fiier, mai mare, pentru toate intrrile.
Iat un exemplu de fiier crontab Vixie:

Alternativ
Putei folosi oricnd comanda crontab -l pentru afiarea fiierelor crontab.
Sunt stabilite cteva variabile, dup care sunt afiate sarcinile programate, fiecare pe o linie
separat, ncepnd cu cinci cmpuri care arat ora i data. Primul cmp conine minutele (de la 0 la 59),
urmtorul arat ora la care sarcina va fi rulat (0-23), cel de-al treilea cmp arat ziua din lun (1-31),apoi
numrul lunii (1-12), ultimul cmp fiind pentru ziua sptmnii (0-7, att 0 ct i 7 fiind duminica). Un asterisc
prezent n aceste cmpuri reprezint acceptarea tuturor valorilor aplicabile acelui cmp. Sunt permise i
listele; pentru a rula o sarcin de luni pn vineri, introducei 1-5 n ultimul cmp, iar pentru a rula o sarcin
luni, miercuri i vineri, introducei 1,3,5.
Apoi este artat utilizatorul pentru care trebuie s ruleze procesele, listat n ultima coloan.
Exemplul de mai sus arat o configuraie cron Vixie, n care administratorul ruleaz programul run-parts la
intervale regulate, avnd ca opiuni directoarele potrivite. n aceste directoare, sarcinile propriu-zise care
trebuie s fie rulate n momentele stabilite, sunt stocate ca scripturi shell, precum urmtorul, care ruleaz
zilnic, pentru a actualiza baza de date folosit de comanda locate:

86

Utilizatorii sunt sftuii s editeze fiierele crontab ntr-un mod adecvat, prin folosirea comenzii
crontab -e. Ea prentmpin deschiderea a mai mult de o copie a fiierului crontab. Editorul implicit este vi
(consultai Capitolul 6), dar putei folosi orice editor de text, precum gvim sau gedit dac v place mai mult
un editor propriu modului grafic.
La ncheierea editrii, sistemul v va anuna c este instalat un nou fiier crontab.
Urmtoarea imagine prezint o intrare crontab care amintete lui billy s mearg la clubul de sport
n fiecare mari sear:

Dup adugarea unei noi sarcini programate, sistemul v va spune c este instalat un nou fiier
crontab. Nu trebuie s restartai serviciul cron pentru ca schimbrile s-i fac efectul. Mai jos, billy a
adugat o linie care intete ctre un script care face copii de rezerv:

Scriptul backup.sh este executat n fiecare joi i duminic. Consultai Seciunea 7.2.5 pentru
noiuni introductive n scriptingul shell. Reinei c ieirile unei comenzi (dac exist) sunt trimise prin mail
deintorului fiierului crontab. Dac nu este configurat nici un serviciu de pot electronic, putei gsi
aceste ieiri generate de comenzi n directorul care pstreaz mesajele mail locale, /var/spool/mail/
<numele_dumneavoastr>, ca fiiere text simplu.
Cine ruleaz comenzile mele?
Nu trebuie s specificai utilizatorul care trebuie s execute comenzile pe care le programai. Ele
vor fi rulate implicit folosind permisiunile deintorului.

4.5. Sumar
Linux-ul este un sistem de operare multi-utilizatori i multi-sarcini care gestioneaz procesele n
stilul UNIX-ului. Viteza de executare a proceselor depinde de mii de lucruri mrunte. Printre altele, ai nvat
multe comenzi noi care v ajut la vizualizarea i gestionarea proceselor. V prezentm o list cu cele mai
des folosite comenzi n gestionarea proceselor:
Tabelul 4-3. Comenzi noi n Capitolul 4: Procesele

Comanda

nelesul comenzii

at

Ordoneaz sarcinile pentru rularea programat.

atq

Arat sarcinile care ateapt s fie rulate.

atrm

terge sarcinile care ateapt s fie rulate, dup numrul asociat lor.

batch

Execut sarcinile atunci cnd nivelul de solicitare a sistemului permite acest lucru.

crontab

Gestioneaz fiierele crontab pentru utilizatorii individuali.

halt

Oprete sistemul.

init run level

Iniializeaz controlul procesului.

87

jobs

Listeaz sarcinile care ruleaz n acel moment.

kill

Termin un proces.

mesg

Controleaz trimiterea de mesaje ctre terminalul tu.

netstat

Afieaz legturile de reea, tabela de routing, statisticile de reea, conexiunile


deghizate (masquerade) i difuzrile multiple (multicast).

nice

Rularea unui program cu modificarea prioritii acestuia.

pgrep

Afieaz procesele.

ps

Arat statutul proceselor.

pstree

Afieaz o imagine arborescent a proceselor.

reboot

Oprete sistemul.

renice

Modific prioritatea proceselor aflate n desfurare.

shutdown

Oprete definitiv sistemul.

sleep

Determin o ntrziere cu un anumit timp specificat.

time

Cronometreaz o comand sau afieaz folosirea resurselor.

top

Afieaz procesele care solicit procesorul.

uptime

Arat de cnd ruleaz sistemul.

vmstat

Afieaz statistici referitoare la memoria virtual.

Arat cine este autentificat i ce face.

wall

Trimite un mesaj terminalelor celorlali utilizatori.

who

Arat cine este autentificat.

write

Trimite un mesaj altui utilizator.

4.6. Exerciii
V propunem cteva exerciii care v vor ajuta s v formai o idee despre procesele care ruleaz
pe sistemul dumneavoastr.

4.6.1. Generaliti

Rulai comanda top ntr-un terminal i facei-v exerciiile ntr-altul.


Rulai comanda ps.
Citii n paginile man cum putei s afiai toate procesele.
Rulai comanda find /. Ce efect are asupra nivelului de solicitare a sistemului? Oprii aceast
comand.
n modul grafic, pornii programul xclock n prim-plan. Apoi mutai-l n fundal. Oprii programul prin
comanda kill.
Rulai comanda xcalc direct n fundal, pentru ca prompterul terminalului n care ai introdus
comanda s fie eliberat.
Ce face comanda kill -9 -1?
Deschidei dou terminale sau ferestre terminal i folosii write ca s trimitei mesaje dintr-unul n
cellalt.
Introducei comanda dmesg. Ce v spune?
Ct dureaz rularea comenzii ls n directorul curent?
Folosindu-v de intrrile proceselor din /proc, deinute de UID-ul dumneavoastr, cum putei afla
ce reprezint de fapt aceste procese?
De ct timp este pornit sistemul dumneavoastr?
Care este terminalul (TTY) pe care-l folosii n acest moment?
Numii trei procese care nu au fost generate de init ca printe iniial.
88

Numii trei comenzi care folosesc modul SUID. Explicai de ce.


Numii comenzile care determin, n general, un nivel de solicitare mrit n sistemul dumneavoastr.
4.6.2. Pornirea (booting), iniializarea (init) etc.
Putei restarta sistemul ca utilizator obinuit? De ce?
n funcie de nivelul de rulare n care v aflai, numii paii care sunt fcui pe parcursul opririi.
Cum putei schimba nivelul de rulare? Trecei din nivelul de rulare implicit n nivelul de rulare 1 i

napoi.
Facei o list cu toate serviciile i sarcinile care sunt rulate la pornirea sistemului.
Ce kernel este ncrcat la pornire?
S presupunem c trebuie s rulai un serviciu neobinuit la pornirea sistemului. Pn n acest
moment, v autentificai dup pornirea sistemului i rulai acest serviciu manual, folosind un script
numit livreaz_pizza din directorul personal. Ce trebuie s facei pentru ca acest serviciu s
fie pornit automat n nivelul de rulare 4, pe care l-ai definit numai n acest scop?

4.6.3. Programarea
Folosii sleep pentru a crea un anun care v amintete c pastele dumneavoastr sunt gata n zece

minute.
Creai o sarcin at care copiaz toate fiierele din directorul personal n /var/tmp peste o
jumtate de or. Va trebui s creai un subdirector n /var/temp, dac dorii ca s pstrai uor
ordinea pe discul fix.
Creai o sarcin cron care face acelai lucru n fiecare sptmn, de luni pn vineri, n timpul
prnzului.
Verificai dac funcioneaz.
Facei o greeal ntr-o intrare crontab, precum indicarea comenzii inexistente coppy, n locul cp.
Ce se ntmpl la executarea sarcinii?

89

Capitolul 5. Redirecionarea I/O


Acest capitol prezint mai multe detalii despre mecanismul puternic al UNIX-ului prin care sunt
redirecionate intrrile, ieirile i erorile. Aspectele discutate includ:

Intrrile standard, ieirile i erorile.


Operanzii de redirecionare.
Cum s folosii ieirea unei comenzi ca intrare pentru alta.
Cum s punei ieirea unei comenzi ntr-un fiier pentru consultare ulterioar.
Cum s adugai ieirile mai multor comenzi ntr-un fiier.
Redirecionarea intrrilor.
Gestionarea mesajelor standard de eroare.
Combinarea redirecionrilor intrrilor, ieirilor i fluxurilor de erori.
Filtrarea ieirilor.

5.1. Redirecionri simple


5.1.1. Ce sunt intrrile standard i ieirile standard?
Cele mai multe comenzi Linux citesc intrrile, precum un fiier sau alte atribute ale comenzii i
scriu ieirile. Implicit, intrrile sunt generate de la tastatur, iar ieirile sunt afiate pe ecranul
dumneavoastr. Tastatura este dispozitivul dumneavoastr standard de intrare (stdin), iar ecranul, sau o
anume fereastr terminal, dispozitivul dumneavoastr standard de ieire (stdout).
Totui, deoarece Linux-ul este un sistem flexibil, aceste opiuni de configurare implicite nu sunt
aplicate n toate cazurile. Ieirea standard, de exemplu, n cazul unui server monitorizat ndeaproape, aflat
ntr-un mediu dezvoltat, poate fi o imprimant.

5.1.2. Operanzii de redirecionare


5.1.2.1. Redirecionarea ieirilor cu > i |
Cteodat trebuie s punei ieirea unei comenzi ntr-un fiier sau dorii ca ieirea unei comenzi s
devin intrare pentru alt comand. Aceste lucruri sunt cunoscute sub numele de redirecionri ale ieirilor.
Redirecionrile sunt fcute prin > (simbolul mai mare dect) sau prin folosirea operandului | (conexiune),
care trimite ieirea standard a unei comenzi ca intrare standard pentru alt comand.
Dup cum am vzut, comanda cat conexeaz (nlnuie) fiierele i le afieaz la ieirea standard.
Prin redirectarea acestor ieiri ctre un fiier, el va fi creat sau suprascris dac exista deja, aa c fii foarte
ateni cu aceast comand.

Nu suprascriei!
Avei grij s nu suprascriei fiierele (importante) existente atunci cnd redirecionai ieirile. Multe
90

console, printre care i Bash, dispun de o facilitate care v protejeaz de acest risc: noclobber. Consultai
paginile Info pentru mai multe informaii. n Bash, putei aduga comanda set -o noclobber la fiierul de
configurare .bashrc pentru a preveni suprascrierea accidental a unui fiier.
Redirecionarea a nimic ctre un fiier existent este acelai lucru cu tergerea coninutului acelui
fiier:

Acest proces este numit trunchiere (truncating).


Acelai tip de redirecionare ctre un fiier inexistent va crea un nou fiier, gol, cu numele pe care lai introdus n comanda de redirecionare:

Capitolul 7 va oferi mai multe exemple despre cum s folosii acest tip de redirecionare.
Iat cteva exemple despre folosirea conexiunilor n comenzi:
Pentru a gsi un cuvnt n cadrul unui text, afiai toate liniile care conin criteriul1 i excludei
liniile care conin criteriul2:
grep criteriul1 fiier | grep -v criteriul2
Pentru a afia coninutul unui director cu listarea paginilor una cte una:
ls -la | less
Pentru a cuta un fiier ntr-un director:
ls -l | grep nume_parial_fiier

5.1.2.2. Redirecionarea intrrilor


n alte cazuri, poate c dorii ca un fiier s devin intrare pentru o comand care, n mod normal,
nu ar accepta un fiier ca opiune. Aceast redirecionare a intrrilor se face folosind ca operand simbolul <
(mai mic dect).
V prezentm un exemplu care arat cum putei trimite un fiier cuiva, folosind redirecionarea
intrrilor.

Dac utilizatorul mike exist n sistem, nu trebuie s introducei adresa ntreag. Dac dorii s
trimitei fiierul cuiva pe Internet, introducei ntreaga adres de pot electronic ca argument al comenzii
mail.
Poate c este mai dificil dect folosirea comenzii preferate de nceptori cat fiier | mail
cuiva, dar este, fr ndoial, o modalitate elegant prin care folosii uneltele pe care le avei la dispoziie.

91

5.1.2.3. Combinarea redirecionrilor


Urmtorul exemplu arat cum pot fi combinate redirecionrile intrrilor i ieirilor. Fiierul

text.txt este verificat mai nti din punct de vedere al ortografiei, iar ieirea generat este trimis la un
fiier jurnal de erori:
spell <text.txt> error.log
Comanda urmtoare listeaz toate comenzile pe care le putei folosi pentru examinarea fiierelor
atunci cnd folosii less:

Opiunea -i este folosit pentru cutrile care nu in cont de literele mari sau mici amintii-v c
sistemele UNIX sunt case-sensitive.
Dac dorii s pstrai ieirea acestei comenzi pentru a o folosi mai trziu, redirectai-o:

Ieirea unei comenzi poate fi conexat (piped) altei comenzi ori de cte ori dorii, att timp ct
aceste comenzi vor citi intrrile de la intrarea standard i vor afia ieirile la ieirea standard. Cteodat nu
fac acest lucru, dar n aceste cazuri exist opiuni speciale care spun acestor comenzi s se comporte n
concordan cu definiiile standard; citii documentaia (paginile man i Info) comenzilor pe care le folosii n
cazul n care ntmpinai dificulti.
V atragem din nou atenia asupra folosirii numelor unor fiiere existente de care mai avei nevoie.
Redirecionarea ieirilor ctre acestea va nlocui coninutul lor.

5.1.2.4. Operandul >>


Pentru a nu suprascrie datele dintr-un fiier putei aduga text la un fiier existent, folosind dou
caractere > (mai mare dect):
Exemplu:

Comanda date va pune, n mod normal, ultima linie pe ecran; acum ea este ataat fiierului

wishlist.

92

5.2. Faciliti avansate de redirecionare


5.2.1. Utilizarea descriptorilor de fiiere
Sunt trei tipuri de I/O, fiecare avnd propriul identificator, denumit descriptor de fiiere:

intrarea standard: 0
ieirea standard: 1
eroarea standard: 2
n descrierile urmtoare, dac numrul descriptorului de fiiere este omis i primul caracter este
operandul <, redirecionarea se refer la intrarea standard (descriptorul de fiiere 0). Dac primul caracter
este operandul >, redirecionarea se refer la ieirea standard (descriptorul de fiiere 1).
Cteva exemple practice vor clarifica lucrurile:
ls > dirlist 2>&1
va direciona att ieirile ct i erorile standard ctre fiierul dirlist, n timp ce comanda
ls 2>&1 >dirlist
va direciona doar ieirea standard ctre fiierul dirlist. Aceast opiune este folositoare
programatorilor.
Lucrurile se complic din acest moment, de exemplu nu confundai folosirea semnului & cu
sensul pe care l are acesta n Seciunea 4.1.2.1, unde era folosit pentru rularea n fundal a unui proces. Aici
el servete ca indicator care arat faptul c numrul care urmeaz nu este un nume de fiier, ci un loc ctre
care intete fluxul de date. V atragem atenia asupra faptului c semnul mai mare dect nu este separat
prin spaii de numrul descriptorului de fiiere. Dac ar fi separat, am fi intit din nou ctre ieirea unui fiier.
Exemplul de mai jos v demonstreaz acest lucru:

Prima comand introdus de nancy este corect (nu este generat nici o eroare, astfel nct fiierul
ctre care este redirecionat eroarea standard este gol). Cea de-a doua comand consider 2 ca fiind
numele unui fiier, care, n cazul nostru, nu exist, aa c este afiat o eroare.
Toate aceste faciliti sunt explicate n detaliu n paginile Info Bash.

5.2.2. Exemple
5.2.2.1. Analizarea erorilor
Dac procesele genereaz multe erori, iat o cale prin care le putei examina:
comand 2>&1 | less
Este utilizat pe larg atunci cnd sunt realizate programe noi prin comanda make, precum n:

93

5.2.2.2. Separarea ieirilor standard de erorile standard


Construcii ca acestea sunt folosite adesea de programatori, pentru ca ieirile s fie afiate ntr-o
fereastr terminal, iar erorile n alta. Stabilii mai nti ce pseudoterminal folosii, prin comanda tty:

5.2.2.3. Scrierea simultan a ieirilor n fiiere


Putei folosi comanda tee pentru a copia intrrile la ieirea standard i ntr-unul sau mai multe
fiiere ntr-un singur pas. Cu opiunea -a aplicat lui tee intrrile vor fi adugate fiierului (fiierelor).
Comanda este folositoare n cazurile n care dorii att s consultai ct i s salvai ieirile generate.
Operanzii > i >> nu permit executarea ambelor aciuni simultan.
Unealta este apelat printr-o conexiune (|), dup cum v arat exemplul urmtor:

5.3. Filtre
Realizarea de ctre un program a unei operaii prin citirea intrrii i afiarea rezultatului la ieirea
standard, se numete filtrare. Cea mai utilizat filtrare este cea prin care sunt restructurate ieirile. Vom
discuta cteva filtre mai importante n cele ce urmeaz.

5.3.1. Mai multe despre grep


Dup cum am artat n Seciunea 3.3.3.4, grep scaneaz ieirile, linie cu linie, n cutarea
tiparelor. Toate liniile care conin tiparul vor fi afiate la ieirea standard. Comportamentul poate fi inversat
prin opiunea -v.
Cteva exemple: s presupunem c dorim s tim ce fiiere dintr-un anumit director au fost
modificate n februarie:

Comanda grep, ca majoritatea comenzilor, face deosebire ntre literele mari i cele mici. Folosii
opiunea -i pentru ca aceast comand s nu fac diferena ntre majuscule i literele mici. Multe extensii
ale GNU sunt disponibile, precum --color, care v ajut la evidenierea tiparelor de cutare n liniile prea
lungi i --after-context, care afieaz numrul liniilor dup ultima linie care se potrivete. Putei
introduce o comand grep recursiv care caut n toate subdirectoarele unui director prin opiunea -r.
Opiunile pot fi combinate, ca n mai toate cazurile.
Expresiile regulate pot fi folosite pentru detalierea pn la potrivirea exact a caracterelor pe care
dorii s le selectai din toate liniile de intrare. Cea mai bun cale de a ncepe n privina expresiilor regulate
este citirea documentaiei grep. Un capitol excelent este inclus n paginile Info ale comenzii grep. Deoarece
94

discutarea intrrilor i ieirilor expresiilor regulate ne-ar purta prea departe, v sftuim s ncepei cu acel
capitol dac dorii s cunoatei mai multe despre acest subiect.
Jucai-v puin cu grep, deoarece merit efortul i timpul petrecut cu deprinderea acestei puternice
comenzi de filtrare. Exerciiile de la sfritul acestui capitol vor fi un bun nceput, consultai aadar Seciunea
5.5.

5.3.2. Filtrarea ieirilor


Comanda sort aranjeaz implicit liniile n ordine alfabetic:

Dar sort poate face multe alte lucruri. Poate spune mrimea fiierului, de exemplu. Cu ajutorul
acestei comenzi putei sorta fiierele dup mrime, de la cele mai mici la cele mai mari:
ls -la | sort -nk 5
Sintaxa veche
Este posibil s obinei acelai rezultat prin folosirea comenzii ls -la | sort +4n, dar este o form
veche care nu este conform cu standardele de azi.
Comanda sort poate fi folosit n combinaie cu programul uniq (sau sort -u) pentru a sorta
ieirile i a filtra intrrile duble:

5.4. Sumar
n acest capitol ai nvat cum putei cupla comenzile i cum ieirea unei comenzi poate fi folosit
ca intrare pentru alt comand.
Redirecionarea intrrilor/ieirilor este o sarcin obinuit pe sistemele UNIX i Linux. Acest
mecanism puternic permite folosirea flexibil a crmizilor, prilor din care este constituit UNIX-ul.
95

Tabelul 5-1. Comenzi noi n Capitolul 5: Redirecionarea I/O

Comanda

nelesul comenzii

date

Afieaz informaii despre or i dat.

set

Configureaz consola (opiunile acesteia).

sort

Sorteaz liniile de text.

uniq

Exclude duplicatele liniilor dintr-un fiier sortat.

5.5. Exerciii
Exerciiile care urmeaz sunt exemple despre cum putei combina comenzile. Scopul principal este
folosirea ct mai redus a tastei Enter.
Facei toate exerciiile folosind un cont obinuit i nu fii surprini dac unele comenzi vor returna
erori. Cnd le ntlnii, nu uitai s citii paginile man referitoare la comenzile n cauz!

Folosii comanda cut pe ieirea generat de listarea unui director care conine multe fiiere pentru a

afia doar permisiunile asociate fiierelor. Apoi realizai o conexiune cu sort i uniq pentru a filtra
orice duplicate. Folosii apoi wc pentru a numra permisiunile diferite din acel director.
Trimitei ieirea comenzii date ntr-un fiier. Adugai ieirea comenzii ls acelui fiier. Trimitei acest
fiier ctre csua de pot electronic local (nu specificai nici un <@domeniu>, doar numele de
utilizator va fi suficient). n cazul n care folosii Bash, vei observa o notificare de mesaj nou n
csua local dac ai efectuat corect exerciiul.
Listai dispozitivele din /dev care sunt folosite de UID-ul dumneavoastr. Conexai prin less pentru
a le viziona cum se cuvine.
Introducei urmtoarele comenzi ca utilizator obinuit. Determinai intrarea, ieirea i eroarea
standard pentru fiecare comand.

cat fiier_inexistent
file /sbin/ifconfig
grep root /etc/passwd /etc/fiier_inexistent >rezultat_grep
/etc/init.d/sshd start > /var/tmp/output
/etc/init.d/cron start > /var/tmp/output 2>&1
Verificai rezultatele prin introducerea din nou a acelorai comenzi, redirectnd ieirea
standard ctre fiierul /var/tmp/output i erorile standard ctre fiierul
/var/tmp/error.
Cte procese ruleaz n acest moment pe sistemul dumneavoastr?
Cte fiiere ascunse sunt n directorul personal?
Folosii locate pentru a gsi documentaia despre kernelul folosit.
Spunei ce fiier conine intrarea urmtoare:

i aceasta:

Spunei ce se ntmpl cnd introducei comanda urmtoare:


> time; date >> time; cat < time

Ce comand vei folosi pentru a verifica care script din directorul /etc/init.d pornete un
anume proces?
96

Capitolul 6. Editoare de text


n acest capitol vom discuta importana stpnirii unui editor de text. Ne vom concentra ndeosebi
asupra editorului mbuntit vi.
Dup terminarea acestui capitol, vei putea s:
Deschidei i nchidei fiierele n modul text.
Editai fiiere.
Cutai n fiierele text.
Revenii la starea iniial (repararea erorilor).
Alturai fiiere.
Recuperai fiiere pierdute.
Gsii un program sau suit pentru birou.

6.1. Editoare de text


6.1.1. De ce trebuie s folosesc un editor de text?
Este foarte important s stpnii mcar un editor care lucreaz n modul text. Deprinderea folosirii
unui astfel de editor de text este primul pas ctre independen.
Va trebui s v obinuii cu un editor pn la nceputul urmtorului capitol, deoarece va fi necesar
s editai fiiere care influeneaz mediul sistemului dumneavoastr. Ca utilizatori avansai, poate c vei dori
s scriei scripturi sau cri, s dezvoltai saituri web sau programe noi. Stpnirea unui editor va mbunti
enorm productivitatea dumneavoastr, laolalt cu abilitile de care dispunei.

6.1.2. Ce editor ar trebui s folosesc?


Vom vorbi mai multe despre editoarele de text, care pot fi folosite pe sisteme care nu dispun de
interfa grafic sau a cror interfa grafic nu poate fi accesat, care lucreaz i n ferestrele terminal. Un
avantaj n plus care v este asigurat de astfel de editoare este vizibil atunci cnd lucrai la distan, pe alte
sisteme. ntruct nu este nevoie s transferai ntregul mediu grafic pe reea, lucrul cu editoarele de text
mbuntete substanial viteza reelei.
Sunt, ca de obicei, mai multe ci prin care s abordai aceast problem. V prezentm cele mai
ntlnite editoare:
6.1.2.1. Emacs GNU
Emacs este un editor extensibil, care poate fi personalizat, ce conine documentaia necesar, cu
afiare n timp real, cunoscut pe multe sisteme UNIX i non-UNIX. Textul care este editat este vizibil pe
ecran i este actualizat automat n timp ce introducei comenzile. Este cu afiare n timp real deoarece
ecranul este actualizat foarte frecvent, de regul imediat dup introducerea unui caracter sau a unei perechi
de caractere. Acest lucru minimalizeaz cantitatea de informaie pe care trebuie s o reinei n timp ce
editai. Este avansat deoarece asigur faciliti care trec de simpla inserare i tergere: controleaz
subprocesele; indenteaz automat programele; afieaz dou sau mai multe fiiere deodat; editeaz text
formatat; gestioneaz dup caractere, cuvinte, linii, propoziii, paragrafe i pagini, ca i dup expresii i
comentarii proprii ctorva limbaje de programare.
Documentat nseamn c oricnd tastai anumite caractere, de regul Ctrl+H, vi se prezint
opiunile pe care le avei. Poate fi personalizat pentru c putei schimba anumite definiii ale comenzilor
Emacs. De exemplu, dac folosii un limbaj de programare n care comentariile ncep cu <** i se termin
cu **>, putei spune editorului Emacs s foloseasc aceste iruri (tipare) n comenzile de gestionare ale
comentariilor. Alt tip de personalizare este posibilitatea de rearanjare a introducerii comenzilor. De exemplu,
dac preferai ca cele patru direcii principale de micare ale cursorului (sus, jos, stnga i dreapta) s fie
reprezentate pe tastatur ntr-un model de diamant, putei realoca tastele n acest scop.
Extensibil nseamn c putei trece de simpla personalizare ctre scrierea de comenzi n ntregime
noi, programe n limbajul Lisp care sunt rulate de propriul interpretor Lisp al Emacs. Emacs este un sistem
97

extensibil n timp real deoarece este divizat n mai multe funcii care pot comunica, fiind posibil redefinirea
oricrei funcii chiar n mijlocul unei sesiuni de editare. Aproape orice parte a Emacs poate fi nlocuit fr a
fi necesar realizarea unei copii separate a ntregului Emacs. Cele mai multe comenzi de editare ale Emacs
sunt scrise deja n Lisp; exist cteva excepii n care comenzi care ar fi putut fi scrise n Lisp au fost scrise
n limbajul C pentru eficien. Cu toate c doar un programator poate scrie o extensie, oricine o poate folosi
dup ce a fost scris.
Cnd ruleaz n interfa grafic X Window System (pornit ca xemacs) Emacs furnizeaz un
meniu propriu i dispuneri convenabile ale butoanelor mausului. Dar Emacs asigur multe din beneficiile
unei interfee grafice chiar n mediul text. De exemplu, putei afia sau edita mai multe fiiere n acelai timp,
putei muta text dintr-un fiier n altele i putei edita fiiere n timp ce rulai comenzi shell.

6.1.2.2. Vi(m)
Vim nseamn Vi IMproved - Vi Mbuntit. Era cunoscut drept Vi IMitation - Vi IMitat, dar exist
att de multe mbuntiri, nct schimbarea de nume este justificat. Vim este un editor de text care include
aproape toate comenzile din programul UNIX vi, precum i multe altele, noi.
Comenzile sunt introduse n editorul vi folosind numai tastatura, ceea ce are avantajul c putei
ine minile pe tastatur i ochii pe ecran, n loc s v mutai n mod repetat mna pe maus. Pentru cei care
nu consider introducerea doar de la tastatur a comenzilor ca fiind un avantaj, pot fi activate att integrarea
mausului, ct i o versiune grafic, care asigur meniuri i bar de derulare.
Vom face referire la vi sau vim n aceast carte cnd vom vorbi despre editarea fiierelor,
dumneavoastr avnd libertatea de a alege orice editor dorii. Totui, noi v recomandm s asimilai mcar
noiuni elementare legate de vi, deoarece este editorul standard pe aproape toate sistemele UNIX, Emacs
fiind un pachet opional. Pot exista diferene mici ntre diverse calculatoare sau terminale, dar ideea
principal este aceea c dac putei lucra cu vi, avei toate ansele s v descurcai cu orice sistem UNIX.
n afar de comenzile vim, pachetul vIm poate conine gvim, versiunea Gnome a lui vim.
Utilizatorii nceptori l consider mai uor de folosit, deoarece meniurile le ofer ajutor n cazurile n care
uit sau nu tiu cum s ndeplineasc o anumit sarcin folosind comenzile standard ale vim.

6.2. Utilizarea editorului Vim


6.2.1. Dou moduri
Editorul vi este o unealt puternic care dispune de un manual cuprinztor, care poate fi activat
prin comanda :help cnd programul este pornit (n loc s folosii man sau info, care nu conin att de multe
informaii). Vom discuta doar comenzile principale care v permit s ncepei s lucrai cu vim.
Ceea ce face ca vi s fie confuz pentru nceptori este faptul c poate opera n dou moduri:
modul comand i modul inserare. Modul comand v permite s navigai prin text, s cutai, s nlocuii,
s marcai poriuni i s realizai alte sarcini de editare care pot s treac editorul n modul inserare.
Acest lucru nseamn c orice tast are nu unul, ci mai degrab dou nelesuri: poate ori s
reprezinte o comand a editorului atunci cnd v aflai n modul comand, ori un caracter pe care l dorii
inserat n text n cazul n care v aflai n acest mod.
Pronunie
Se pronun vee-eye.

6.2.2. Comenzile principale


6.2.2.1. Navigarea prin text
Navigarea prin text se face, de regul, cu tastele sgei. Dac nu reuii, folosii:

h pentru a muta cursorul ctre stnga


98

l pentru a-l muta ctre dreapta


k pentru a-l muta n sus
j pentru a-l muta n jos
SHIFT G v va duce la sfritul documentului.

6.2.2.2. Operaii de baz


Iat cteva comenzi vi foarte des folosite:

n dd va terge n linii ncepnd din poziia curent a cursorului.


n dw va terge n cuvinte din partea dreapt a cursorului.
x va terge caracterul asupra cruia este poziionat cursorul.
:n v mutai pe linia n a fiierului
:w va aplica modificrile va salva (scrie) fiierul.
:q vei iei din editor.
:q! foreaz ieirea atunci cnd dorii s ieii dintr-un fiier care conine schimbri neaplicate.
:wq va aplica modificrile i vei iei din editor.
: fiier_nou va salva textul n fiierul fiier_nou.
:wq! trece peste permisiunile asociate fiierelor (dac avei, la rndul dumneavoastr, permisiunea
s facei acest lucru, de exemplu dac utilizai un cont de root).
/air (/astring) va cuta irul n fiier i va poziiona cursorul la prima potrivire gsit, dedesubtul
poziiei sale.
/ va repeta cutarea aceluiai ir, mutnd cursorul la potrivirea urmtoare.
:1, $s/cuvnt/alt_cuvnt/g va nlocui cuvnt cu alt_cuvnt n tot fiierul.
yy va copia un bloc de text.
:recover va recupera un fiier n cazul unei ntreruperi neateptate.

6.2.3. Calea mai uoar


n loc s citii tot textul, un lucru plicticos, putei folosi vimtutor pentru a nva primele comenzi
Vim. Este un tutorial de treizeci de minute care v nva cele mai ntlnite comenzi Vim n opt exerciii
uoare. Nu putei nva chiar totul despre vim doar ntr-o jumtate de or, dar vei cunoate destul
comenzile care v ajut s folosii Vim ca editor de text potrivit tuturor scopurilor.
n UNIX i MS Windows, dac Vim este instalat cum trebuie, putei porni programul din consol
sau linia de comand, prin introducerea comenzii vimtutor. Ea va face o copie a fiierului tutore, aa c o
putei edita fr teama c distrugei originalul. Exist i cteva traduceri ale tutorialului. Pentru a afla dac
este disponibil i n limba dumneavoastr, folosii cele dou litere ale codului de limb. Pentru francez,
introducei vimtutor fr (dac este instalat n sistem).

6.3. Linux la birou


6.3.1. Istorie
Pe parcursul ultimei decade domeniul biroticii a fost dominat fr tgad de MS Office, i, s
recunoatem: formatele Microsoft Word, Excel i PowerPoint sunt standarde ale industriei cu care vei avea
de-a face mai devreme sau mai trziu.
Aceast situaie n care Microsoft are o poziie monopolist s-a dovedit a fi un mare dezavantaj n
atragerea de noi utilizatori ctre Linux, aa c un grup de dezvoltatori germani au nceput proiectul
StarOffice, care a fost, i nc este, gndit pentru a deveni o clon a suitei MS Office. Compania lor,
StarDivision, a fost achiziionat de Sun Microsystems pe la sfritul anilor 90, chiar nainte de lansarea
versiunii 5.2. Sun continu dezvoltarea, dar restrnge accesul la surse. ns dezvoltarea setului original de
99

surse este continuat de comunitatea Sursei deschise (Open Source community), care a trebuit s
redenumeasc proiectul OpenOffice. OpenOffice este disponibil acum pentru mai multe platforme, inclusiv
pentru MS Windows, Linux, MacOS i Solaris. V-am prezentat o imagine n Seciunea 1.3.2.
Aproape simultan, alte proiecte cunoscute acum, au fost demarate. O alternativ apreciat este
Koffice, suita de birou care este foarte popular printre utilizatorii distribuiei SuSE. La fel cu originalul,
aceast clon ncorporeaz programe compatibile cu MS Word i Excel i multe altele.
Proiecte mai mici sunt destinate unor programe particulare ale suitei MS Office, precum Abiword i
MS Wordview pentru compatibilitatea cu documentele MS Word i Gnumeric pentru vizualizarea i crearea
foilor de calcul compatibile cu Excel.

6.3.2. Suite i programe


Distribuiile curente vin cu toate uneltele necesare. ntruct acestea asigur o documentaie
excelent, indexat pentru cutri n meniurile de ajutor, nu le vom discuta n detaliu. Consultai aadar
documentaia sistemului sau saiturile proiectelor, precum:

http://www.openoffice.org/
http://www.koffice.org/
Freshmeat i Sourceforge pentru alte proiecte.
6.3.3. Remarci
6.3.3.1. Utilizarea general a documentelor de birou
ncercai s limitai folosirea documentelor de birou la scopurile pentru care au fost create: biroul.
Iat un exemplu: dac trimitei un mail care spune cam aa: Salut, vreau s v spun ceva, vezi
ataamentul, iar ataamentul se dovedete a fi un document compatibil MS Word precum: Salut, prieteni,
cum merge treaba la noul loc de munc? Avei timp pentru a lua prnzul mpreun mine? este tocmai ceea
ce trebuie ca un utilizator de Linux s devin extrem de furios. De asemenea este o idee proast s ataai
semntura dumneavoastr unui astfel de fiier. Dac dorii s semnai mesajele sau fiierele, folosii GPG,
GNU Privacy Guard compatibil PGP sau certificate SSL (Secure Socket Layer).
Aceti utilizatori nu sunt furioi pentru c nu pot citi aceste documente sau pentru c sunt ngrijorai
deoarece aceste formate genereaz, de regul, fiiere mai mari, ci pentru c trebuie s foloseasc MS
Windows sau pentru c trebuie s porneasc alte programe.

6.3.3.2. Fiierele de configurare ale sistemului i ale utilizatorilor.


n capitolul care urmeaz vei ncepe s configurai mediul sistemului dumneavoastr i acest lucru
include editarea a tot felul de fiiere care determin modul n care se comport programele.
Nu editai aceste fiiere cu nici un component al suitelor de birou!
Specificaiile formatului implicit al fiierelor vor determina programul s adauge cteva linii de cod,
care definesc formatul fiierului i fonturile utilizate. Aceste linii nu vor fi interpretate corect de ctre
programele de care depind, genernd astfel erori sau blocri ale programului care citete aceste fiiere. n
anumite cazuri, putei salva fiierul ca text simplu, dar vei avea probleme dac acest lucru devine un obicei.

6.3.3.3. Dar eu doresc un editor grafic de text!


Dac insistai, ncercai gedit, kedit, kwrite sau xedit; aceste programe sunt doar pentru fiiere
text, exact ceea ce avei nevoie. Dac ns dorii s facei ceva serios, atunci oprii-v la un editor propriu
modului text, precum vim sau Emacs.
O alternativ acceptabil este gvim, versiunea Gnome a lui vim. Tot va trebui s folosii comenzile
vim, dar dac ntmpinai dificulti, aceste comenzi sunt disponibile prin meniuri.

100

6.4. Sumar
n acest capitol ai nvat cum s folosii un editor. Cu toate c preferinele individuale primeaz n
alegerea editorului de text, este necesar s cunoatei cum se folosete cel puin un editor de text.
Editorul vi este disponibil pe orice sistem UNIX.
Cele mai multe distribuii Linux includ o suit pentru birou i un editor grafic de text.

6.5. Exerciii
Acest capitol are doar un exerciiu: pornii tutorialul Vim prin introducerea comenzii vimtutor ntr-o
sesiune terminal i parcurgei-l.
Putei porni, alternativ, emacs i tastai Ctrl + H pentru a lansa tutorialul propriu al Emacs.
Practica este singura cale!

101

Capitolul 7. Home sweet /home


Acest capitol trateaz configurarea mediului dumneavoastr de lucru. Acum, pentru c tii cum se
folosete un editor, putei modifica tot felul de fiiere pentru a v simi mai bine acas. Dup terminarea
acestui capitol, vei ti mai multe despre:

Organizarea mediului dumneavoastr


Fiierele comune de configurare ale consolei
Configurarea consolei
Configurarea prompterului
Configurarea mediului grafic
Aplicaii legate de sunet i video
Administratorii de ecran i ferestre
Cum lucreaz sistemul X client-server
Opiunile de configurare pentru limb i fonturi
Instalarea de programe noi
Actualizarea pachetelor existente

7.1. Pstrarea ordinii i cureniei


7.1.1. Introducere
Dup cum am mai artat, este foarte uor s aducei dezordine n sistem. Nu vom putea sublinia
ndeajuns necesitatea pstrrii cureniei n sistem. Dac nvai acest lucru de la nceput, vei cpta o
deprindere folositoare care v va economisi timp n cazul n care vei programa pe sisteme Linux sau UNIX
sau n cazurile n care va trebui s executai sarcini care in de gestionarea sistemului. V prezentm cteva
ci prin care putei s v uurai munca:

Creai un director bin pentru fiierele programelor dumneavoastr i pentru scripturi.


Organizai fiierele ne-executabile n directoare potrivite i facei ct de multe directoare
credei de cuviin. Exemplele includ directoare separate pentru imagini, documente, proiecte, fiiere
descrcate de pe web, foi de calcul, fiiere personale, i aa mai departe.
Restrngei permisiunile alocate directoarelor. Comanda chmod 700 nume_director
v ajut n acest sens.
Numii sugestiv fiierele, precum Plngere ctre primul-ministru 050302,
n loc de scrisoare1.

7.1.2 Facei loc


Pe anumite sisteme, programul quota v foreaz s tergei date de pe disc din timp n timp sau
limitele fizice ale discului fix v determin s eliberai spaiu chiar dac nu rulai nici un program de
monitorizare. Aceast seciune v prezint cteva moduri n care putei face rost de spaiu pe disc, altele
dect comanda rm.
Introducei comanda quota -v pentru a afia spaiul disponibil pe discul fix.

7.1.2.1. Golirea fiierelor


Cteodat, coninutul unui fiier mai prezint interes, dar dorii s pstrai numele acelui fiier ca
marker (de exemplu, avei nevoie doar de data i ora la care a fost creat fiierul respectiv, dorii s tii c
acel fiier a existat sau poate c avei nevoie de acesta n viitor). Redirecionarea ieirii unei comenzi nule
este metoda prin care golii un fiier n consolele Bourne i Bash:

102

Procesul prin care se reduce un fiier existent la un fiier cu acelai nume dar care conine 0 octei
este numit trunchiere.
Pentru a crea un fiier nou, gol, acelai efect l obinei prin comanda touch. n cazul unui fiier
existent, comanda touch va actualiza doar data i ora la care a fost creat. Consultai paginile Info ale
comenzii touch pentru mai multe detalii.
Pentru a goli parial un fiier utilizai comanda tail. S presupunem c lista de dorine a
utilizatorului andi devine din ce n ce mai lung pentru c el adaug noi dorine dar nu terge niciodat
lucrurile pe care le-a obinut. Acum dorete s pstreze doar ultimele cinci poziii:

7.1.2.2. Mai multe despre fiierele jurnal


Anumite programe din Linux in mori s scrie tot felul de date ntr-un fiier jurnal. De regul sunt
configurate s scrie doar erorile sau o cantitate minim de informaii, cum ar fi revenirea dintr-o eroare. Chiar
i n aceste condiii, informaiile coninute pot fi neinteresante pentru dumneavoastr. V prezentm cteva
metode prin care putei scpa de aceste fiiere jurnal sau, cel puin, limita mrimea lor:

ncercai s tergei fiierele jurnal atunci cnd programul nu ruleaz, dac suntei sigur c nu v

trebuie. Unele programe, atunci cnd sunt repornite, constat lipsa fiierului jurnal i nu vor mai scrie
date jurnaliere.
Dac tergei fiierul jurnal iar programul l recreeaz, citii documentaia acelui program pentru a
identifica opiunea care spune programului s nu mai creeze fiiere jurnal.
ncercai s realizai fiiere jurnal mai mici, prin configurarea scrierii informaiilor care sunt relevante
pentru dumneavoastr sau a celor cu adevrat importante.
ncercai nlocuirea fiierelor jurnal cu legturi simbolice ctre /dev/null; dac avei noroc,
programul nu se va plnge. Nu facei acest lucru pentru programele care ruleaz la pornirea
sistemului sau a programelor care sunt rulate prin cron (consultai Capitolul 4). Aceste programe pot
nlocui legtura simbolic cu un fiier mic, dar care va ncepe s creasc n timp.

7.1.2.3. Pota electronic


Curai cu regularitate csua de pot electronic (mailbox), creai subdirectoare i redirectai
automat folosind procmail (consultai paginile Info) sau filtrele programului dumneavoastr favorit de citire a
mesajelor de pot electronic. Dac avei un director pentru coul de gunoi, golii-l regulat.
Pentru redirecionarea mesajelor folosii fiierul .forward din directorul personal. Serviciul de
pot electronic al Linux-ului caut acest fiier de fiecare dat cnd trebuie s livreze mesaje. Coninutul
fiierului spune serviciului de pot electronic ce s fac cu mesajele dumneavoastr. Poate conine o
singur linie care definete o adres de E-mail valid. n acest caz, sistemul va trimite toate mesajele la
aceast adres. De exemplu, cnd nchiriai spaiu pentru un sait web, pentru a nu irosi spaiu pe disc, putei
redireciona mesajele de pot electronic adresate webmaster-ului ctre contul dumneavoastr. n acest
caz, directorul .forward poate arta precum urmtorul exemplu:

103

Folosirea redirecionrii mesajelor este util i atunci cnd avei mai multe adrese de pot
electronic, evitnd n acest mod verificarea pe rnd a tuturor acestor adrese. Putei face ca fiecare adres
s nainteze mesajele ctre un singur cont centralizator, uor accesibil.
Putei cere administratorului de sistem s defineasc o redirecionare n fiierul local de mail, n
acelai mod n care un cont este nchis dar E-mail-ul rmne activ pentru un timp.

7.1.2.4. Economisii spaiu cu o legtur


Atunci cnd mai muli utilizatori au nevoie de acelai fiier sau program, cnd numele fiierului
original este prea lung sau greu de inut minte, folosii o legtur simbolic n loc de o copie separat pentru
fiecare utilizator sau scop.
Legturi simbolice multiple pot avea nume diferite, de exemplu o legtur se poate numi

fiierul_meu ntr-un director personal al unui utilizator i legtura_mea n altul. Legturi multiple (cu
nume diferite) ctre acelai fiier pot exista chiar n acelai director. Acest lucru se ntmpl n directorul
/lib: dac introducei comanda
ls -l /lib
vei observa c directorul este plin de legturi care intesc ctre acelai fiier. Ele sunt create
pentru ca programele care caut un nume s nu nghee, ele fiind direcionate ctre numele corect/curent al
librriilor de care au nevoie.

7.1.2.5. Limitarea mrimii fiierelor


Consola dispune de o comand proprie prin care putei limita mrimea fiierelor, ulimit, care poate
fi folosit i la afiarea limitrilor resurselor sistemului:

Cindy nu este dezvoltatoare de programe i nu-i pas de fiierele care conin informaii pentru
depanarea programelor (core dumps). Dac dorii s beneficiai de informaiile coninute de aceste fiiere,
putei stabili mrimea lor prin comanda ulimit. Citii paginile Info ale consolei (bash) pentru explicaii
detaliate.
Fiiere de depanare?
Un fiier de depanare sau renunare (core file, core dump) este un fiier generat atunci cnd ceva
nu merge aa cum ar trebui n timpul executrii unui program. El conine o copie a memoriei sistemului, aa
cum era n momentul n care a aprut eroarea.

7.1.2.6. Fiiere comprimate


Fiierele comprimate sunt folositoare deoarece ele ocup mai puin spaiu pe discul fix. Alt avantaj
este acela c aceste fiiere ocup necesit o lime de band mai mic n cazurile n care sunt transferate
pe reea. Multe fiiere, inclusiv paginile de manuale, sunt stocate ntr-un format comprimat n sistemul
dumneavoastr. ns despachetarea acestora pentru a consulta informaiile i comprimarea lor din nou sunt
aciuni care consum timp. Nu dorii s despachetai o pagin de manual, pentru a citi despre opiunea unei
comenzi, apoi s comprimai din nou pagina man respectiv. Cei mai muli oameni vor uita probabil s fac
curenie dup ce gsesc informaiile de care au nevoie.
104

Exist ns unelte care acioneaz asupra fiierelor comprimate, despachetndu-le doar n


memorie. Fiierul comprimat de pe discul fix nu este modificat. Cele mai multe sisteme pot lucra cu zgrep,
zcat, bzless i ali membrii ai familiei z pentru prevenirea decomprimrilor i comprimrilor inutile. Consultai
directorul binar al sistemului i paginile Info.
Capitolul 9 trateaz comprimarea fiierelor i v ofer exemple despre construirea arhivelor.

7.2. Mediul dumneavoastr text


7.2.1 Variabilele de mediu
7.2.1.1. Generaliti
Am prezentat deja cteva variabile de mediu, precum PATH i HOME. Pn la acest moment, am
prezentat exemple n care aceste variabile serveau anumitor scopuri ale consolei. ns exist alte utiliti ale
Linux-ului care solicit informaii despre dumneavoastr pentru a-i face treaba.
Ce alte informaii solicit programele, n afar de cele coninute de directoarele variabilei path i
home?
Multe programe au nevoie s cunoasc ce fel de terminal folosii; aceast informaie este stocat
n variabila TERM. n modul text, este vorba despre emulatorul de terminal linux, n mediul grafic probabil c
vei folosi xterm. Multe programe vor s cunoasc care este editorul dumneavoastr favorit, n cazul n care
trebuie s porneasc un editor solicitat de un anume subproces. Consola pe care o folosii este stocat n
variabila SHELL, tipul sistemului de operare n OS, i aa mai departe. O list a tuturor variabilelor definite
pentru sesiunea dumneavoastr curent poate fi obinut prin introducerea comenzii printenv.
Variabilele de mediu sunt gestionate de consol. n opoziie cu variabilele obinuite ale consolei,
variabilele de mediu sunt motenite de oricare program pe care l pornii, inclusiv o alt consol. O copie a
acestor variabile este furnizat noilor procese, pe care o pot citi, modifica i transmite proceselor pe care ele
le genereaz (procese-copil).
Nu este nimic special n numele variabilelor, cu excepia faptului c exist convenia potrivit creia
cele comune sunt scrise cu litere mari. Putei scorni orice nume, dei exist i variabile standard care sunt
destul de importante pentru a se regsi pe orice sistem Linux, precum PATH i HOME.

7.2.1.2. Exportarea variabilelor


Coninutul unei variabile individuale poate fi afiat prin comanda echo:

Dac dorii s schimbai coninutul unei variabile pentru a folosi celorlalte programe, trebuie s
exportai noile valori din mediul dumneavoastr n mediul n care ruleaz acele programe. Un exemplu des
ntlnit este exportarea variabilei PATH. Pentru a putea folosi n condiii optime simulatorul de zbor care se
gsete n /opt/FlightGear/bin trebuie s declarai urmtoarele:

Aceast linie d instruciuni consolei s caute nu doar n variabila curent, $PATH, ci i n


directorul /opt/FlightGear/bin.
Totui, att timp ct noua valoare a variabilei PATH nu este cunoscut mediului, programele nu vor
lucra:

105

Exportarea variabilelor se face prin comanda proprie consolei export:

n consola Bash, putei face acest lucru ntr-un singur pas:


export VARIABLE=value
Aceeai tehnic o putei folosi n cazul variabilei MANPATH, care spune comenzii man unde s
caute pentru paginile arhivate man. Dac adugai noi programe sistemului n directoare noi sau nepotrivite,
documentaia acestuia se poate gsi tot n aceste directoare. Dac dorii s citii paginile de manual ale
acestor programe, extindei variabila MANPATH:

Putei evita reintroducerea acestei comenzi n fiecare fereastr pe care o deschidei prin
adugarea ei unui fiier de configurare a consolei, consultai Seciunea 7.2.2.

7.2.1.3. Variabile rezervate


Tabelul urmtor trece n revist cele mai ntlnite variabile predefinite:
Tabelul 7-1. Variabile comune de mediu

Numele variabilei

Informaia stocat

DISPLAY

Folosit de sistemul X Window pentru identificarea serverului grafic

DOMAIN

Numele domeniului

EDITOR

Stocheaz editorul dumneavoastr favorit

HISTSIZE

Dimensiunea fiierului arhiv al consolei, n numr de linii

HOME

Traseul ctre directorul dumneavoastr personal

HOSTNAME

Numele gazdei (calculatorului)

INPUTRC

Localizarea fiierului de definire a dispozitivelor de intrare, precum tastatura

LANG

Limba preferat

LD_LIBRARY_PATH

Traseul de cutare a librriilor

LOGNAME

Numele de autentificare

MAIL

Localizarea directorului de pot electronic

MANPATH

Traseul de cutare a paginilor de manuale

OS

ir care descrie sistemul de operare

OSTYPE

Mai multe informaii despre versiune, etc

PAGER

Folosit de programe ca man care au nevoie s tie ce trebuie s fac n cazul n


care ieirea generat este adresat la mai mult de o fereastr terminal

PATH

Caut traseele comenzilor

PS1

Prompterul primar

PS2

Prompterul secundar

PWD

Directorul de lucru curent

106

SHELL

Consola curent

TERM

Tipul de terminal

UID

Identitatea utilizatorului

USER (NAME)

Numele utilizatorului

VIZUAL

Editorul dumneavoastr favorit n modul full-screen

XENVIRONEMENT

Localizarea configurrilor personale ale comportamentului serverului X

XFILESEARCHPATH

Traseele de cutare ale librriilor grafice

Multe alte variabile nu sunt doar predefinite, ci i preconfigurate, prin fiierele de configurare. Le
vom discuta n seciunea urmtoare.

7.2.2. Fiierele de configurare ale consolei


Atunci cnd introducei comanda ls -al pentru a obine lista lung (cuprinztoare) a tuturor
fiierelor, inclusiv a celor care ncep cu un punct, din directorul dumneavoastr personal, vei observa unul
sau mai multe fiiere care ncep cu un punct (.) i se termin n rc. n cazul consolei bash acesta este
.bashrc. Acest fiier este oglinda fiierului de configurare lrgit a sistemului /etc/bashrc.
La autentificarea ntr-o consol interactiv, login va realiza autentificarea, va configura mediul i va
porni consola. n cazul bash, pasul urmtor este citirea profilului general profile din /etc, dac acest
fiier exist. bash caut apoi fiierele ~/.bash_profile, ~/.bash_login i ~/.profile, n
aceast ordine, i citete i execut comenzile din primul fiier care le conine, dac sunt valide. Dac ele nu
exist n nici un fiier, se aplic cele din /etc/bashrc.
Cnd consola primete comanda de ieire, bash citete i execut comenzile din fiierul

~/.bash_logout, dac exist.


Procedura este explicat n detaliu n paginile man ale login i bash.

7.2.3. nfiarea tipic a fiierelor de configurare


7.2.3.1. Exemplul /etc/profile
Vom arunca o privire n cele ce urmeaz asupra ctorva dintre aceste fiiere de configurare. Primul
este citit /etc/profile, n care sunt configurate variabile importante precum PATH, USER i
HOSTNAME:

107

Aceste linii marcheaz configurarea traseelor: dac root deschide o consol (ID-ul de utilizator 0),
se verific dac /sbin, /usr/sbin i /usr/local/sbin sunt n variabila PATH. Dac nu, ele sunt
adugate. Pentru orice utilizator se verific dac /usr/X11R6/bin se regsete n trasee.

Tot gunoiul merge ctre /dev/null dac utilizatorul nu schimb aceast cale.

Aici le sunt alocate variabilelor generale valorile potrivite.

Dac variabila INPUTRC nu este configurat i nu exist nici un fiier .inputrc n directorul
personal al utilizatorului, este ncrcat fiierul implicit de control.

Toate variabilele sunt exportate, pentru a fi disponibile programelor care au nevoie de informaii
despre mediul dumneavoastr.

7.2.3.2. Directorul profile.d

Toate scripturile shell valide din directorul /etc/profile.d sunt citite i executate. Ele fac
lucruri precum activarea color-ls, atribuirea aliasului vi lui vim, configurarea localizrii, i altele. Variabila
temporar i nu este luat n considerare pentru a preveni alterarea comportamentului consolei.

7.2.3.3. Exemplul .bash_profile


Apoi bash caut n directorul personal al utilizatorului fiierul .bash_profile:

Acest fiier de direcionare d instruciuni consolei s citeasc prima dat ~/.bashrc i apoi
~/.bash_login. Vei ntlni comanda proprie consolei source cu regularitate dac lucrai n mediul
consolei: este folosit la modificarea configuraiei mediului curent.
108

7.2.3.4. Exemplul .bash_login


Fiierul ~/.bash_login definete nivelul implicit de protecie prin configurarea valorii umask,
consultai Seciunea 3.4.2.2. Fiierul ~/.bashrc este folosit pentru definirea mai multor aliasuri i funcii
specifice utilizatorului precum i a variabilelor personale de mediu. Este citit n primul rnd /etc/bashrc,
care descrie prompterul implicit (PS1) i valoarea implicit umask. Dup aceasta putei aduga propriile
configurri. Dac nu exist fiierul ~/.bashrc, este citit implicit /etc/bashrc.

7.2.3.5. Exemplul /etc/bashrc


Fiierul dumneavoastr /etc/bashrc ar putea arta precum acesta:

Aceste linii configureaz valoarea umask. Apoi, n funcie de tipul consolei pe care o folosii, este
configurat prompterul:

7.2.3.6. Exemplul .bash_logout


La deautentificare, sunt executate comenzile din ~/.bash_logout, care pot, de exemplu,
cura terminalul, pentru ca dumneavoastr s avei o fereastr goal la ieirea dintr-o sesiune la distan
sau la prsirea consolei sistemului:
109

Modul n care lucreaz aceste scripturi v este prezentat n seciunea care urmeaz. Trebuie s v
spunem c vei avea nevoie de comanda info bash.

7.2.4. Prompterul Bash


7.2.4.1. Introducere
Prompterul Bash poate face mai multe lucruri dect s afieze informaiile simple ca numele de
utilizator, numele calculatorului i indicaiile despre directorul de lucru curent. Putei aduga alte informaii,
precum data i ora curent, numrul utilizatorilor autentificai, etc.
nainte de a ncepe, totui, facei o copie de rezerv a prompterului curent ntr-alt variabil de
mediu:

n cazul n care schimbai prompterul, de exemplu prin comanda PS1=->, putei recpta
oricnd prompterul original dac introducei comanda PS1=$MYPROMPT. l vei avea napoi, de asemenea,
la reautentificare, att timp ct v-ai jucat cu prompterul doar n linia de comand, evitnd scrierea lui ntr-un
fiier de configurare al consolei.

7.2.4.2. Cteva exemple


Pentru a nelege aceste promptere i secvena de ieire folosit, apelai la paginile Info sau man.

export PS1=[\t \j]


Afieaz ora i numrul sarcinilor care ruleaz.
export PS1=[\d] [\u@\h \w] :
Afieaz data, numele utilizatorului, al calculatorului i directorul curent de lucru. Opiunea \W afieaz doar
numele de baz al directorului curent.
export PS1="{\!} "
Afieaz date despre folosirea fiecrei comenzi.
export PS1="\[\033[1;35m\]\u@\h\[\033[0m\] "
Afieaz irul care conine numele utilizatorului i cel al calculatorului n roz.
export PS1="\[\033[1;35m\]\u\[\033[0m\] \[\033[1;34m\]\w\[\033[0m\] "
Afieaz numele utilizatorului n roz i directorul de lucru curent n albastru.
export PS1="\[\033[1;35m\]\u\[\033[0m\] \[\033[1;34m\]\w\[\033[0m\] "
Prompter pentru persoanele care au dificulti n remarcarea diferenelor dintre prompter i textul introdus de
la tastatur.
export PS1="\[\033[4;34m\]\u@\h \w \[\033[0m\]"
Prompter subliniat.
export PS1="\[\033[7;34m\]\u@\h \w \[\033[0m\] "
Caractere albe pe fundal albastru.
110

export PS1="\[\033[3;35m\]\u@\h \w \[\033[0m\]\a"


Prompter roz care i schimb strlucirea pentru a v ateniona despre terminarea comenzii.

export PS1=...
Variabilele trebuie exportate, pentru ca mediul de lucru s fie cunoscut de comenzile ce vor fi
executate. Dac dorii s pstrai o configuraie particular a prompterului, cel mai bine este ca aceast
configuraie s fie pus n fiierul de configurare al consolei, ~/.bashrc.
Dac dorii, prompterele pot executa scripturi shell i se pot comporta diferit n condiii deosebite.
Putei configura prompterul s cnte o melodie de fiecare dat cnd introducei o comand, chestie de care
ns v vei plictisi repede...Mai multe informaii pot fi gsite n Bash-Prompt HOWTO.

7.2.5. Scripturi shell


7.2.5.1. Ce sunt scripturile?
Un script shell este, dup cum ai observat din exemplele care tratau configurarea consolei, un
fiier text care conine comenzi pentru aceasta. Cnd este folosit un asemenea fiier ca prim argument fr
opiuni ce invoc Bash i nu sunt prezente nici opiunile -c sau -s, Bash citete i execut comenzile din
fiier i apoi se nchide. Acest mod de operare creeaz o consol non-interactiv. Cnd Bash ruleaz un
script de shell, asociaz parametrul special 0 numelui de fiier, n detrimentul numelui consolei, iar
parametrul de poziionare (tot ceea ce urmeaz numelui scriptului) este asociat argumentelor disponibile,
dac sunt furnizate. Dac nu sunt furnizate argumente adiionale, parametrii de poziionare rmn nestabilii.
Un script de shell poate fi fcut executabil folosind comanda chmod care determin luarea n
considerare a bit-ului care marcheaz scriptul ca executabil. Atunci cnd Bash gsete un astfel de fiier n
timp ce caut comenzi n PATH, deschide o subconsol pentru rularea acestuia. Cu alte cuvinte, executarea
nume_fiier ARGUMENTE
este echivalent cu executarea
bash nume_fiier ARGUMENTE
dac nume_fiier este un script shell executabil. Aceast subconsol se reiniializeaz, astfel c efectul
este acelai cu invocarea unei noi console care s interpreteze scriptul, cu excepia c localizarea
comenzilor executate de consola printe este reinut i de consola copil (citii despre hash n paginile Info).
Cele mai multe versiuni de UNIX includ acest lucru n mecanismul de executare a comenzilor
propriu sistemului de operare. Dac prima linie a unui script ncepe cu dou caractere #!, restul liniei
specific interpretorul acelui program. Astfel, putei specifica bash, awk, perl sau alt interpretor sau consol
i putei scrie restul scriptului n acel limbaj de programare.
Argumentele pentru interpretor constau de fapt ntr-un singur argument opional poziionat dup
numele interpretorului, n prima linie a scriptului, urmat de restul argumentelor. Bash realizeaz aceste
aciuni pe sistemele care nu gestioneaz ele nsele acest gen de activiti. Scripturile Bash ncep, de regul,
cu

(presupunem aici c Bash este instalat n /bin), deoarece aceast expresie spune c acel script
va fi interpretat de Bash, chiar dac este executat ntr-o alt consol.

7.2.5.2. Cteva exemple simple


Iat un script foarte simplu, care const ntr-o singur comand, care spune hello utilizatorului
care-l execut:

111

Se observ c scriptul conine doar comanda echo, care folosete valoarea variabilei de mediu ($)

USER pentru a afia un ir personalizat pentru fiecare utilizator care l ruleaz.


V prezentm un altul, tot de o singur linie, folosit pentru afiarea utilizatorilor autentificai:

Mai jos este un script care conine mai multe linii folosit pentru realizarea de copii ale tuturor
fiierelor dintr-un director. Scriptul listeaz mai nti toate fiierele din directorul curent i pune aceast list
n variabila LIST. Apoi stabilete numele copiei fiecrui fiier, copiind n cele din urm fiierele. Este afiat un
mesaj pentru fiecare fiier prelucrat:

Prin simpla introducere a unei linii ca mv **.old nu vei obine nici un rezultat, lucru uor de
verificat pe cteva fiiere de test. Comanda echo a fost adugat pentru afiarea desfurrii activitilor.
echo este folositoare n general n cazurile n care un script nu lucreaz cum trebuie: introducei cte una
dup fiecare pas despre care avei dubii i vei afla eroarea imediat.
Directorul /etc/rc.d/init.d conine multe exemple de scripturi. V prezentm pe acela care
controleaz serverul fictiv ICanSeeYou:

112

n primul rnd, prin comanda . (punct) sunt ncrcate anumite funcii ale consolei, folosite de
aproape fiecare script din /etc/rc.d/init.d. Apoi este executat comanda case, care definete patru
moduri n care poate fi executat scriptul. Unul dintre acestea poate fi ICanSeeYou start. Alegerea unuia
din aceste moduri se face prin citirea argumentului (prim) al scriptului, cu expresia $1.
Dac nu se regsete nici o intrare, este aplicat cazul implicit, cel marcat cu un asterisc, situaie n
care scriptul genereaz un mesaj de eroare. Listarea case este ncheiat cu declaraia esac. n cazul start
programul este pornit ca serviciu, fiindu-i alocat un ID de proces i blocat (ncuiat). n cazul stop, procesul
care a fost pornit este cutat i oprit, nlturndu-se blocajul (ncuietoarea) i PID-ul. Opiunile, ca, de
exemplu, opiunea daemon i funciile, ca, de exemplu, killproc, sunt definite n fiierul
/etc/rc.d/init.d/functions. Configuraia prezentat este specific distribuiei alese pentru acest
exemplu. Scripturile rulate la iniierea sistemului dumneavoastr pot folosi alte funcii, definite n alte fiiere,
sau nici unul.
Scriptul returneaz codul de ieire 0 ctre printele su dac a rulat fr probleme.
Acest script este un exemplu foarte bun n privina folosirii funciilor, care fac ca scriptul s fie citit
mai uor, munca fiind terminat mai repede. Observai c a fost folosit sh n loc de bash, pentru ca acest
script s fie folositor pe mai multe sisteme. ntr-un sistem Linux, rularea bash ca sh are ca rezultat o consol
care lucreaz n modul compatibil POSIX.
Paginile de manuale referitoare la bash conin multe informaii despre combinarea comenzilor,
ciclurile for- i while- i expresiile regulate, precum i exemple. Un curs de baz despre Bash, pentru
administratorii de sisteme i utilizatori care doresc mai multe puteri n relaia cu sistemul, scris de autoarea
prezentului ghid, poate fi gsit la http://tille.garrels.be/training/bash/. Descrieri detaliate ale facilitilor Bash i
aplicaii ale acestora putei gsi n ghidul Advanced Bash Scripting.

7.3. Mediul grafic


7.3.1. Introducere
Utilizatorului de nivel mediu poate s nu-i pese foarte mult de configurrile mediului de lucru, dar
Linux-ul ofer o varietate nsemnat de ferestre i administratori ai spaiului de lucru (desktop managers)
care sunt folosii n mediul X, mediul grafic. Folosirea i configurarea gestionarelor de ferestre i a spaiilor
de lucru este direct i poate fi asemntoare cu spaiile de lucru standard MS Windows, Apple sau UNIX
CDE, dei muli utilizatori de Linux prefer spaii de lucru i administratori de ferestre mai elaborai. Nu vom
discuta aici configurrile specifice utilizatorilor. Dumneavoastr putei experimenta dup citirea
documentaiei, folosind funciile integrate de ajutor care sunt integrate n aceste gestionare i v asigurm c
v vei descurca de minune. Totui, noi v vom prezenta sistemul n linii generale.

7.3.2. Sistemul X Window


Sistemul X Window este un sistem de tip client-server care ruleaz pe o gam larg de
calculatoare i dispozitive grafice. Serverul X Window ruleaz pe calculatoare cu grafic tip hart de pixeli
(imagine raster bitmap). Serverul X distribuie intrrile de la utilizatori i accept solicitrile ieirilor generate
de mai multe programe client prin mai multe canale de comunicaie interprocese. Dei cazul cel mai des
ntlnit este acela n care programele client ruleaz pe aceleai calculatoare cu serverul, ele pot rula foarte
bine i pe alte calculatoare (inclusiv calculatoare cu arhitecturi i sisteme de operare diferite). Vom prezenta
aceste aspecte n Capitolul 10, n care tratm reele i aplicaii la distan.
Sistemul X integreaz suprapunerea ierarhic a sub-ferestrelor, operaiilor text i grafice, att n
sistemele monocrome ct i n cele color. Numrul programelor client X care folosesc serverul grafic X este
foarte mare. Iat cteva din programele furnizate ca parte a distribuiei Consoriului X:

xterm: un emulator de terminal


twm: un gestionar de ferestre minimalist
xdm: administrator de ecran
xconsole: un program de redirectare a consolei
bitmap: editor pentru harta de pixeli

113

xauth, xhost i iceauth: programe pentru controlul accesului


xset, xmodmap precum i altele de acest tip: programe pentru configurri personale
xclock: un ceas
xlsfonts i altele: un afior de fonturi, utiliti care listeaz informaii despre fonturi, ferestre i
ecrane
xfs: server pentru fonturi
...

V ndrumm din nou ctre paginile de manuale ale acestor comenzi pentru informaii detaliate.
Mai multe explicaii asupra funciilor disponibile putei gsi n manualul coninut de distribuia dumneavoastr
X, Xlib C language X Interface , n specificaiile protocolului Sistemului de ferestre X i n alte manuale ale
componentelor acestui sistem grafic. Directorul /usr/share/doc conine documentaie asupra acestui
subiect.
Multe alte progrmele, administratori de ferestre, jocuri, unelte i altele sunt incluse n distribuiile
Consoriului X ca programe realizate de utilizatori contributori sau se gsesc pe saiturile anonime FTP.
Locuri n care putei ncepe cutrile sunt http://www.x.org i http://www.xfree.org.
Mai mult, toate aplicaiile dumneavoastr grafice, precum navigatorul de internet, programul de
pot electronic, programul de vizualizare a fotografiilor, uneltele pentru redarea sunetului i aa mai
departe, sunt clieni ai serverului X. n cazul unei utilizri obinuite a modului grafic, clienii X i serverul X se
afl pe acelai calculator.

7.3.2.1. Numele ecranelor


Din punctul de vedere al utilizatorului, fiecare server X are un nume de ecran n forma:
gazd: numrul afiajului.numrul ecranului
Aceast informaie este folosit de aplicaii pentru determinarea modului n care se conecteaz la
serverul X i ce ecran vor folosi implicit (pe sistemele cu mai multe monitoare):

numele gazdei: numele gazdei este numele calculatorului client la care ecranul este conectat fizic.

Dac acest nume nu este dat, este folosit cea mai eficient modalitate de comunicare cu un
serviciu de pe acelai calculator.
numrul afiajului: cuvntul afiaj este folosit pentru a descrie un grup de monitoare care mpart
aceeai tastatur i dispozitive indicatoare (maus, tablet, etc.). Cele mai multe staii de lucru au, n
mod normal, o singur tastatur i un singur monitor. Sistemele mai mari, multi-utilizatori, au totui
mai multe afiaje, pentru ca lucrul n modul grafic s fie posibil pentru mai multe persoane. Pentru
evitarea situaiilor confuze, fiecare afiaj al acestui tip sistem are asociat un numr de afiaj (care
ncepe cu 0) la pornirea serverului X. Numrul afiajului trebuie s fie mereu prezent n numele
acestuia.
numrul de ecran: anumite afiaje mpart o singur tastatur i un singur dispozitiv indicator la dou
sau mai multe monitoare. ntruct fiecare dintre ele are propriul set de ferestre, fiecrui ecran i este
dat un numr de ecran (care pornete de la 0) n momentul pornirii serviciului grafic. Dac acest
numr nu este alocat, va fi folosit afiajul 0.

Pe sistemele POSIX, numele ecranului implicit este stocat n variabila de mediu DISPLAY.
Aceast variabil este configurat automat de ctre emulatorul de terminal xterm. n cazul conectrii la alt
calculator, prin reea, poate fi necesar s configurai aceast variabil manual pentru a indica afiajul
dumneavoastr, consultai Seciunea 10.4.3.2.
Mai multe informaii pot fi gsite n paginile de manual ale serverului X.

7.3.2.2. Administratorii de ferestre i de ecran


Afiarea ferestrelor pe ecranul monitorului este controlat de programe speciale, numite
administratori de ferestre. Dei muli administratori de ferestre se vor descurca cu specificaiile geometrice
existente, alii pot ignora aceste specificaii (ele vor solicita utilizatorului desenarea explicit a regiunii
ferestrei pe ecran, folosind un dispozitiv indicator, de exemplu).
114

ntruct administratorii de ferestre sunt, n general (dei complexe), programe client, pot fi
construite numeroase interfee cu utilizatorul. Distribuia Consoriului X conine un administrator de ferestre
numit twm, dar muli utilizatori prefer ceva mai sofisticat, atunci cnd configuraia sistemelor permite acest
lucru. Sawfish i Enlightenment sunt exemple apreciate, care permit fiecrui utilizator s dispun de un
spaiu de lucru n concordan cu stilul i personalitatea sa.
Un administrator de ecran (spaiu de lucru) folosete un administrator de ferestre pentru a aranja
spaiul de lucru grafic ntr-un mod convenabil, cu bare de meniu, meniuri contextuale, mesaje informative,
ceas, administrator de programe, administrator de fiiere, etc. Printre cei mai cunoscui administratori de
ecran menionm Gnome i KDE, care ruleaz pe aproape orice distribuie de Linux i pe multe sisteme
UNIX.
Aplicaii KDE n Gnome/aplicaii Gnome n KDE
Nu este necesar s pornii spaiul de lucru n KDE pentru a rula aplicaiile specifice KDE. Dac
avei instalate librriile KDE (pachetul kdelibs), putei rula aceste aplicaii din meniul Gnome sau dintr-un
terminal Gnome.
Rularea aplicaiilor Gnome n mediul KDE este puin mai deosebit, deoarece nu exist un singur
set de librrii de baz ale Gnome-ului. Totui, prin instalarea dependinelor i a unor pachete extra, care vor
fi cerute, vei putea face acest lucru.

7.3.3. Configurarea serverului X


Distribuia care este folosit de obicei n Linux, Xfree86, folosete fiierul de configurare

XF86Config pentru configurarea implicit. Acest fiier configureaz placa video i poate fi gsit n mai
multe locuri, cel mai des fiind /etc/X11.
Dac observai c fiierul /etc/X11/XF86Config este prezent n sistemul dumneavoastr,
descrierea complet a acestuia poate fi gsit n paginile Info sau man ale XF86Config.
Din cauza aspectelor legate de liceniere n cazul Xfree86, sistemele mai noi vin cu distribuia de
server X i unelte pentru acesta a X.Org. Fiierul principal de configurare este xorg.conf, pe care-l putei
gsi n /etc/X11. Fiierul conine o serie de seciuni care pot fi dispuse n orice ordine. Aceste seciuni
conin informaii despre monitor, placa video, configurrile afiajului, tastatur, etc. Ca utilizator, nu trebuie
s v batei capul prea mult cu ceea ce este n acest fiier, ntruct este configurat la momentul instalrii
sistemului.
Dac trebuie s schimbai configurrile serverului grafic, putei rula uneltele de configurare sau
edita fiierele de configurare care menin infrastructura serverului XFree86. Consultai paginile man pentru
mai multe informaii; n unele cazuri, distribuia folosit de dumneavoastr are propriile unelte de configurare.
Deoarece o configurare greit poate duce la afiarea, n modul grafic, a unor gunoaie de neneles, v
sftuim s realizai o copie de siguran a fiierelor de configurare pe care dorii s le editai, pentru a putea
fi restaurate.

7.4. Configurri regionale specifice


7.4.1. Configurarea tastaturii
Configurarea modelului de tastatur se face prin comanda loadkeys n cazul consolei text. Folosii
unealta specific distribuiei dumneavoastr sau editai seciunea Keyboard (Tastatur) din XF86Config (sau
xorg.conf cum ar fi n cazul Ubuntun.t.), pentru configurarea tastaturii pentru modul grafic. n configurarea
implicit, este posibil s avei configurat urmtorul caz:

Dup cum am spus, acesta ar putea fi cazul implicit. Schimbarea aspectului tastaturii n
concordan cu regiunea n care v aflai se face prin nlocuirea valorii dintre ghilimele cu oricare alta listat
n subdirectoarele directorului keymaps. Dac nu-l putei gsi, ncercai afiarea de ctre sistem a locului
acestuia prin comanda urmtoare:

115

locate keymaps
Este posibil combinarea aspectului tastaturii, dup cum v prezint urmtorul exemplu:

Facei o copie a fiierului /etc/X11/XF86Config (sau, dup cum am mai artat, a


/etc/X11/xorg.conf) nainte de a-l edita! Trebuie s folosii contul de root pentru acest lucru.
Deconectai-v i autentificai-v din nou pentru a folosi noile configurri ale serverului X.
Applet-ul pentru tastatur din Gnome asigur schimbarea imediat a aspectului tastaturii; nu este
nevoie de permisiuni speciale pentru folosirea acestui progrmel. KDE are o unealt similar pentru
schimbarea aspectului tastaturii.

7.4.2. Fonturi
Folosii unealta setfont pentru a ncrca fonturile n mediul text. Cele mai multe sisteme vin cu un
fiier standard inputrc care permite combinarea caracterelor, cum ar fi franuzescul "" (metacaractere).
Administratorul de sistem ar trebui s adauge linia

la fiierul /etc/bashrc.

7.4.3. Data i zona de timp


Configurarea informaiilor legate de timp se face la instalare. Dup aceea, pot fi actualizate folosind
un client NTP (Network Time Protocol). Cele mai multe sisteme Linux folosesc implicit ntpd:

Putei rula ntpdate manual pentru configurarea ceasului, dac, evident, putei accesa un server de
timp. Serviciul ntpd nu trebuie s ruleze atunci cnd folosii ntpdate pentru ajustarea ceasului. Folosii un
server de timp ca argument al comenzii:

Consultai manualul sistemului dumneavoastr i documentaia coninut de pachetul NTP. Cei


mai muli administratori ai spaiului de lucru au unelte proprii pentru configurarea timpului sistemului, cu
solicitarea privilegiilor speciale.
Pentru configurarea corect a zonei de timp, putei folosi comenzile tzconfig sau timezone. Zona
de timp este i ea configurat la instalarea sistemului pe calculatorul dumneavoastr. Multe sisteme au
unelte specifice distribuiei pentru configurarea acestor opiuni, aa c v ndreptm ctre documentaia
specific sistemului pe care l folosii.

7.4.4 Limba
Dac primii mesaje de la sistem n olandez sau francez, i nu dorii acest lucru, v sftuim s
configurai variabilele LANG i LANGUAGE, acestea asigurnd infrastructura pentru limba dorit,
configurrile locale i fonturile legate de caracterele speciale ale respectivei limbi.
n cazul celor mai multe ecrane grafice de autentificare, cum ar fi gdm sau kdm, avei posibilitatea
de a configura limba folosit n sistem nainte de autentificare.
Pe cele mai multe sisteme, en_US.UTF-8 tinde s fie alegerea implicit n zilele noastre. Acest
116

lucru nu reprezint o problem, deoarece sistemele pe care aceast configurare este implicit, vin cu toate
programele pentru aceast codare. Astfel, vi poate edita toate fiierele din sistem, cat nu se va comporta
ciudat, etc.
Necazurile ncep atunci cnd v conectai la un sistem mai vechi care nu se descurc cu acest
sistem de codare, sau atunci cnd deschidei un fiier codat n UTF-8 pe un sistem care nelege numai
caractere ale fonturilor pe 1 bit. Utilitarul recode se poate dovedi folositor n aceste cazuri, cu ajutorul lui fiind
posibil conversia dintr-un set de caractere n altul. Citii paginile man pentru o vedere de ansamblu a
facilitilor care le avei la ndemn. O alt soluie ar fi lucrul temporar cu o alt definiie a codrii, prin
configurarea variabilei LANG:

Consultai saitul Mozilla pentru a afla cum putei avea Firefox n limba dumneavoastr. Saitul
OpenOffice.org are informaii despre localizarea suitei de birou OpenOffice.

7.4.5. Informaii specifice pentru alte ri


Lista Cum s urmtoare cuprinde referine despre localizarea n limbile bangla, bielorus, chinez,
esperanto, finlandez, francez, greac, lituanian, polonez, srb, slovac, sloven, spaniol, thai i
turc.

7.5. Instalarea de noi programe


7.5.1. Generaliti
Foarte muli oameni sunt surprini de faptul c, dup instalarea Linux-ului, au un calculator care
ruleaz bine, i, mai mult dect att, gata de folosire; cele mai multe distribuii conin drivere pentru plcile
video sau cele de reea, monitoare i alte dispozitive externe, astfel nct, de obicei, nu mai trebuie s
instalai alte drivere. De asemenea, unelte comune, cum ar fi suite pentru birou, navigatoare de Internet,
clieni de pot electronic i ali clieni de reea sunt incluse n distribuiile principale. Chiar i aa, o
instalare implicit poate s nu acopere necesitile dumneavoastr.
Dac nu putei gsi ceea ce avei nevoie, poate c acel lucru nu este instalat n sistemul
dumneavoastr. Sau poate c avei programul necesar, dar acesta nu face ceea ce ar trebui s fac.
Amintii-v c Linux-ul progreseaz rapid iar programele sunt mbuntite zi de zi. Nu v irosii timpul
cutnd rezolvarea unor probleme pentru care au muncit alii.
V putei actualiza sistemul i aduga pachete oricnd dorii. Cele mai multe programe vin n
pachete. Programe n plus fa de instalarea implicit pot fi gsite pe CD-ul de pe care ai instalat sistemul
sau pe Internet. Saitul web al distribuiei dumneavoastr este un loc bun n care putei ncepe cutarea de
programe adiionale care conin i instruciunile despre cum se face aceast instalare pe tipul de Linux pe
care-l folosii, consultai Appendix A. ntotdeauna citii documentaia care este coninut de programele noi,
precum i orice indicaii referitoare la instalare, coninute de acel pachet. Toate programele vin cu un fiier
README, pe care v sftuim s-l citii neaprat.

7.5.2. Tipuri de pachete


7.5.2.1. Pachete RPM

117

7.5.2.1.1. Ce este RPM?


RPM, Administratorul de pachete RedHat, este un administrator de pachete puternic pe care-l
putei folosi la instalarea, actualizarea i tergerea pachetelor de programe. V permite s cutai pachete i
s urmrii fiierele care sunt incluse de fiecare pachet. Are coninut un sistem de verificare a autenticitii
pachetelor descrcate de pe Internet. Utilizatorii avansai pot s-i construiasc propriile pachete cu ajutorul
RPM.
Un pachet RPM consist ntr-o arhiv de fiiere i meta-date folosite la instalarea i tergerea
fiierelor arhivate. Meta-datele includ scripturi ajuttoare, atribute ale fiierelor i informaii care descriu
pachetul n sine. Pachetele pot exista n dou varieti: pachete binare, care ncapsuleaz programele de
instalat, i pachete surs, care conin codul surs i reeta necesar producerii pachetelor binare.
Multe alte distribuii folosesc pachete RPM, n afar de mai cunoscutele RedHat Enterprise Linux,
Mandriva (fostul Mandrake), Fedora Core i SuSE Linux. n afar de sfaturile specifice distribuiei alese,
putei citi man rpm.

7.5.2.1.2. Exemple de pachete RPM


Cele mai multe pachete sunt instalate cu opiunea de upgrade, -U, chiar dac un pachet n sine
este instalat sau nu. Pachetele RPM conin versiunea complet a programului, care suprascrie versiunea
existent sau este instalat ca pachet nou. Utilizarea tipic este urmtoarea:
rpm -Uvh /path/to/rpm-package(s)
Opiunea -v genereaz mai multe date de ieire, iar -h afieaz o bar de stare care arat
progresul aciunii:

Pachetele care conin un kernel nou v sftuim s le instalai cu opiunea -i, pentru a nu suprascrie
versiunea existent a pachetului. Astfel, vei putea s pornii calculatorul cu vechiul kernel, dac cel nou nui face treaba.
Putei folosi rpm i pentru a verifica dac un pachet este instalat n sistem:

Sau putei afla care pachet conine un anumit fiier sau un executabil:

Nu trebuie s accesai cu privilegii de administrator comanda rpm pentru a cuta n baza de date
RPM. Aceste privilegii sunt necesare numai n cazul n care adugai, modificai sau tergei pachete.
V prezentm mai jos un ultim exemplu, care ilustreaz modul n care putei terge un pachet
gestionat de rpm:

118

tergerea pachetelor nu afieaz implicit date de ieire, este normal s nu observai nimic. Cnd
avei dubii, folosii rpm -qa din nou pentru a verifica dac un anume pachet a fost ters.
RPM poate face multe alte lucruri, n afara funciilor de baz pe care le-am prezentat n aceast
introducere. Cum s-ul despre RPM conine multe alte informaii.

7.5.2.2. Pachetele DEB (.deb)


7.5.2.2.1. Ce sunt pachetele Debian?
Acest tip de pachete este cel implicit pe sistemele Debian GNU/Linux, n care dselect i, mai nou,
aptitude, sunt uneltele standard pentru administrarea lor. Sunt folosite la selectarea pachetelor pe care le
dorii instalate sau actualizate, dar vor rula i pe parcursul instalrii unui sistem Debian pentru a v ajuta s
definii metoda de acces folosit, pentru listarea pachetelor disponibile i pentru configurarea lor. (Un
exemplu de sistem bazat pe Debian este Ubuntu Linux, care, n modul grafic, dispune de doi administratori
de pachete deb foarte bune, Synaptic n cazul Gnome i Adept n cazul KDE, care permit consultarea bazei
de date, instalarea, actualizarea i tergerea pachetelor ntr-un mod simplu, intuitivn.t.).
Saitul Debian conine toate informaiile de care avei nevoie, incluznd o documentaie adresat
nceptorilor pentru dselect ("dselect Documentation for Beginners").
n ultima vreme, pachetele Debian ctig tot mai mult teren, devenind din ce n ce mai populare.
La momentul scrierii acestei cri, le foloseau cinci distribuii majore din topul celor zece. De asemenea, aptget (consultai Seciunea 7.5.3.2) este foarte folosit, chiar i pe sisteme non-DEB.

7.5.2.2.2. Exemple de unelte DEB


Verificai dac un pachet este instalat sau nu cu dpkg. De exemplu, dac dorii s tii ce versiune
a programului Gallery este instalat pe sistemul dumneavoastr:

Prefixul ii nseamn c pachetul este instalat. Ar trebui s vedei afiat prefixul un n cazul n
care pachetul nu este instalat, dar exist n lista gestionat de calculatorul dumneavoastr.
Aflai crui pachet aparine un fiier prin opiunea -S a lui dpkg:

Mai multe informaii gsii n paginile Info ale dpkg.

7.5.2.3. Pachete surs


Cea mai mare parte a programelor pentru Linux sunt Libere/Surs deschis, aa c pachete care
conin sursa programelor sunt disponibile, ele fiind destul de rspndite. Fiierele surs sunt necesare
pentru compilarea versiunii dumneavoastr de program. Sursele unui program pot fi descrcate de pe saitul
propriu, adesea ca arhiv compresat tarball (program-versiune.tar.gz sau similare). Pentru
distribuiile bazate pe RPM, sursa este adesea furnizat n program-versiune.src.rpm. Debian i
cele mai multe distribuii bazate pe acesta asigur sursa adaptat care poate fi obinut folosind comanda
apt-get source.
Cerine specifice, dependine i instruciuni de instalare se gsesc n fiierul README. Vei avea
nevoie de un compilator C, gcc. Acest compilator C GNU este inclus n cele mai multe sisteme Linux i
poate fi portat pe multe alte platforme.
119

7.5.3. Automatizarea administrrii pachetelor i a actualizrilor


7.5.3.1. Generaliti
Primul lucru pe care l facei dup instalarea unui sistem nou este actualizarea acestuia; este un
fapt care se aplic tuturor sistemelor de operare i Linux-ul nu este diferit.
Actualizrile pentru cele mai multe sisteme Linux se gsesc de cele mai multe ori pe un sait
apropiat, un sait-oglind al distribuiei dumneavoastr. O list a saiturilor care ofer acest serviciu poate fi
gsit pe saitul principal al distribuiei dumneavoastr, consultai Appendix A.
Actualizrile trebuie aplicate cu regularitate, zilnic chiar dac este posibil dar i dou sptmni
este un termen rezonabil. Trebuie s ncercai s avei cea mai recent versiune a distribuiei, deoarece
Linux-ul se afl ntr-o continu schimbare. Dup cum am mai spus, faciliti noi i rezolvri ale unor
probleme sunt puse la dispoziie ntr-un ritm constant i, cteodat, sunt vizate aspecte importante legate de
securitate.
Vestea bun este aceea c cele mai multe distribuii de Linux asigur unelte care v scutesc de
actualizarea a zeci de pachete manual, zi de zi. Seciunea urmtoare trece n revist administratorii
administratorilor de pachete. Sunt foarte multe de discutat pe marginea acestui subiect, chiar actualizri
regulate a pachetelor surs fiind administrate automat; vom lista doar cele mai ntlnite sisteme. ntotdeauna
apelai la documentaia specific sistemului ales de dumneavoastr pentru nelegerea corect a
procedurilor.

7.5.3.2. APT
The Advanced Package Tool este un sistem pentru pachetele de programe. Unealta pentru linia de
comand este apt-get, care dispune de pagini man excelente, care descriu cum s instalai i s actualizai
pachetele i cum s instalai ultima versiune a unui pachet sau a ntregii distribuii. APT i are rdcinile n
distribuia Debian GNU/Linux, n care este administratorul implicit pentru pachetele Debian. APT a fost portat
i pe sistemele care folosesc pachete RPM. Principalul avantaj al APT este acela c este liber i flexibil n
utilizare. V permite s configurai sisteme ntr-un mod asemntor cu unele unelte specifice anumitor
distribuii (n unele cazuri, comerciale), listate n seciunea urmtoare.
n general, la prima utilizare a apt-get, trebuie s obinei un index al pachetelor disponibile. Acest
lucru se face prin comanda
apt-get update
Dup aceasta, putei folosi apt-get pentru actualizarea sistemului dumneavoastr:
apt-get upgrade
Facei acest lucru des, este o cale simpl prin care v meninei sistemul la zi i n siguran.
n afar de acest mod general de utilizare, apt-get este foarte rapid n instalarea pachetelor
individuale. Iat cum lucreaz:

Observai opiunea -c a comenzii su, care indic consolei root s execute doar aceast comand,
120

apoi s se revin la mediul utilizatorului. n acest mod nu putei spune c ai uitat s prsii contul de root.
Dac exist dependine fa de alte pachete, apt-get va descrca i instala i aceste pachete
necesare.
Mai multe informaii putei gsi n APT HOWTO.

7.5.3.3. Sisteme care folosesc pachete RPM


Update Agent, care a fost disponibil iniial doar pentru pachetele RedHat RPM, este acum portat
pentru o gam larg de programe, inclusiv arhive (repozitoare) non-RedHat. Aceast unealt asigur un
sistem complet pentru actualizarea pachetelor RPM pe sistemele RedHat i Fedora Core. n linia de
comand, tastai up2date pentru a actualiza sistemul dumneavoastr. Pe spaiul de lucru este activat
implicit o pictogram (iconi) care v spune dac exist sau nu actualizri disponibile pentru sistemul
dumneavoastr.
Yellowdog`s Updater Modified (yum) este o alt unealt care este din ce n ce mai apreciat. Este
un program interactiv dar automat pentru instalarea, actualizarea i tergerea pachetelor RPM. Este unealta
implicit pe sistemele Fedora.
Pe sistemele SuSE Linux, totul este fcut cu ajutorul YaST, Yet another Setup Tool, care
integreaz mai multe sarcini de administrare a sistemului, printre care actualizarea pachetelor RPM.
ncepnd cu SuSE Linux 7.1, putei actualiza sistemul folosind o interfa web i YOU, Yast Online Update.
Mandrake Linux i Mandriva asigur o unealt numit URPMI, un set de programe strnse laolalt,
care au rolul de a simplifica instalarea de noi programe. Aceste unelte lucreaz mpreun cu RPMDrake i
Mandrake Update pentru asigurarea celor necesare pentru instalarea i tergerea n bune condiii a
pachetelor de programe. MandrakeOnline ofer o gam extins de servicii i poate notifica automat
administratorii de sisteme atunci cnd sunt disponibile actualizri pentru distribuia Mandrake. Consultai
man urpmi, printre altele, dac dorii mai multe informaii.
De asemenea, administratorii spaiului de lucru KDE i Gnome dispun de propriile versiuni (grafice)
ale administratorilor de pachete (Adept i Synaptic, menionate mai susn.t.).

7.5.4. Actualizarea kernelului


Cele mai multe instalri ale Linux-ului sunt n regul dac actualizai periodic distribuia pe care ai
ales-o. Prin aceste actualizri de distribuie se va instala un kernel nou atunci cnd este nevoie i sunt fcute
toate schimbrile necesare n sistemul dumneavoastr. Compilai i instalai un kernel nou numai n cazul n
care avei nevoie de faciliti care nu sunt cuprinse n kernelul implicit al distribuiei Linux alese.
Indiferent dac folosii un kernel compilat i optimizat de dumneavoastr sau dac l folosii pe cel
pus la dispoziie de distribuie, instalai un nou kernel n coexisten cu cel vechi pn n momentul n care
suntei sigur c funcioneaz aa cum trebuie.
Creai un sistem dual boot care v permite s alegei ce kernel s fie ncrcat prin configurarea
ncrctorului dumneavoastr de sisteme, cu ajutorul fiierului grub.conf. Iat un exemplu simplu:

121

Dup ce noul kernel se dovedete a fi stabil i fiabil, putei terge liniile care definesc kernelul vechi
din fiierul de configurare al GRUB-ului, dei v sftuim s ateptai mcar cteva zile, pentru a fi siguri.

7.5.5. Instalarea de pachete aflate pe CD-ul de instalare


7.5.5.1. Montarea unui CD
Se face, n principiu, n acelai mod n care instalai manual pachetele, cu excepia faptului c
trebuie s adugai sistemul de fiiere al CD-ului la calculatorul dumneavoastr pentru a-l face accesibil. Pe
cele mai multe sisteme, este un proces automat, lansat la inserarea CD-ului n unitatea optic, deoarece
serviciul automount este pornit la iniierea sistemului. Dac CD-ul dumneavoastr nu este disponibil
automat, introducei comanda mount ntr-o fereastr terminal. n funcie de configuraia sistemului, o linie
similar cu cea care urmeaz face acest lucru:
mount /dev/cdrom /mnt/cdrom
Pe unele sisteme, doar folosind contul de root putei monta medii de stocare externe; este un lucru
care depinde de configuraia sistemului.
Pentru automatizarea acestor procese, unitatea optic are o intrare n directorul /etc/fstab,
care listeaz sistemele de fiiere i punctele lor de montare, care formeaz sistemul arborescent de fiiere.
Iat o astfel de linie:

Ea indic faptul c sistemul nelege comanda mount /mnt/cdrom. Opiunea noauto


nseamn c pe acest sistem, CD-urile nu sunt montate automat.
Putei ncerca un clic dreapta pe pictograma CD-ului aflat pe spaiul de lucru pentru a monta CDul, dac administratorul de fiiere nu face acest lucru pentru dumneavoastr. Comanda mount fr
argumente verific dac aciunea a avut succes:

7.5.5.2. Folosirea CD-ului


Dup montarea unui CD, putei schimba directorul, de regul n punctul de montare

/mnt/cdrom, unde putei accesa coninutul CD-ului. Folosii aceleai comenzi pe care le utilizai n lucrul
cu fiierele aflate pe discul fix.

7.5.5.3. Ejectarea CD-ului


Pentru a scoate CD-ul din unitate, dup ce ai terminat, sistemul de fiiere al CD-ului trebuie s
figureze ca nefolosit. Chiar dac v aflai doar ntr-unul din subdirectoarele punctului de montare, n cazul
nostru, /mnt/cdrom, CD-ul figureaz ca folosit fa de sistem, aa c trebuie mai nti s ieii de acolo.
Facei acest lucru prin introducerea comenzii cd fr argumente, ceea ce v duce n directorul
dumneavoastr personal. Dup aceasta, putei folosi comanda
unmount /mnt/cdrom
sau
eject cdrom
Dispozitive blocate
NICIODAT s nu forai unitile optice. Trucul cu agrafa pentru hrtie este o idee proast,
deoarece v scoate, ntr-adevr CD-ul, dar sistemul va crede c acesta este nc acolo, deoarece nu au fost
urmate procedurile corecte. De cele mai multe ori, doar repornirea sistemului v ajut s aducei sistemul
122

ntr-o stare normal.


Dac primii mesajul device busy (dispozitiv ocupat), verificai n primul rnd dac toate sesiunile
consolei au prsit fiierele CD-ului sau dac acesta este folosit de aplicaiile grafice. Dac avei ndoieli,
folosii unealta lsof pentru a gsi procesele care folosesc resursele aflate pe CD.

7.6. Sumar
Cnd toate sunt n locul potrivit, jumtate de treab este fcut.
Pstrarea ordinii este important i la fel de important este s v organizai bine mediul directorului
personal, n modul text sau grafic. Mediul text este controlat de fiierele de configurare a consolei. Mediul
grafic depinde n primul rnd de configurarea serverului X, n care sunt integrate mai multe aplicaii, cum ar fi
administratorii de ferestre i ai spaiului de lucru, fiecare avnd propriile fiiere de configurare. Trebuie s
citii documentaia specific sistemului i programelor dumneavoastr pentru a afla modul corect de
configurare a acestora.
Configurrile regionale, cum ar fi cele ale tastaturii, instalarea fonturilor potrivite i limba folosit de
sistem sunt, cel mai bine, fcute la instalarea sistemului.
Programele sunt administrate n mod automat sau manual prin pachetele de programe.
Urmtoarele comenzi au fost tratate n acest capitol:
Tabelul 7-2. Comenzi noi n Capitolul 7: Facei-v comod acas

Comand

nelesul comenzii

aptitude

Administreaz pachete Debian.

automount

Monteaz automat sisteme de fiiere nou inserate.

dpkg

Administratorul de pachete Debian.

dselect

Administreaz pachete Debian.

loadkeys

ncarc configuraia tastaturii.

lsof

Identific procesele.

mount

Monteaz sisteme noi de fiiere.

ntpdate

Configureaz timpul sistemului folosind un server de timp.

quota

Afieaz informaii despre folosirea spaiului pe discul fix.

recode

Convertete fiierele la un alt set de caractere.

rpm

Administreaz pachetele RPM.

setfont

Alege un font.

timezone

Configureaz zona de timp.

tzconfig

Configureaz zona de timp.

ulimit

Configureaz sau afieaz limitarea resurselor.

up2date

Administreaz pachete RPM.

urpmi

Administreaz pachete RPM.

yum

Administreaz pachete RPM.

7.7. Exerciii
7.7.1. Mediul consolei
Afiai mediul consolei. Ce variabil poate fi folosit pentru stocarea tipului de procesor al
123

calculatorului dumneavoastr?
Realizai un script care poate afia ceva de genul unei linii hello, world. Acordai-i permisiunile
necesare pentru a-l rula. Testai acest script.
Realizai un director n directorul dumneavoastr personal i mutai acest script n el. Adugai
directorul creat la traseul de cutare al sistemului, n mod permanent. Testai dac scriptul poate fi
executat fr a-i da traseul complet al locului n care se afl.
Realizai subdirectoare n directorul dumneavoastr personal pentru pstrarea de fiiere diverse, de
exemplu un director muzic pentru pstrarea fiierelor audio, un director documente pentru
notele dumneavoastr, i aa mai departe. Folosii-le!
Configurai un prompter personalizat.
Afiai limitele aplicate resurselor. Le putei modifica?
ncercai s citii paginile de manuale fr a le decompresa.
Realizai un alias lll care s execute de fapt ls -la.
De ce nu funcioneaz comanda tail testfile > testfile?
Montai un CD cu date, cum ar fi discul de instalare al distribuiei dumneavoastr de Linux i
explorai-l. Nu uitai s-l ejectai cnd nu mai avei nevoie de acesta.
Scriptul care se gsete la Seciunea 7.2.5.2 nu este perfect. El genereaz erori pentru fiierele care
sunt directoare. Adaptai scriptul astfel nct s selecteze doar fiierele simple pentru copiere.
Folosii find pentru selecie. Nu uitai s facei scriptul executabil nainte de a-l rula.

7.7.2 Mediul grafic

ncercai toate butoanele mausului n regiuni diferite (terminal, fundal, barele de meniuri).
Explorai meniul.
Personalizai-v fereastra terminal.
Folosii butoanele mausului pentru copierea de text dintr-un terminal ntr-altul.
Configurai administratorul de ferestre; ncercai diferite spaii de lucru (ecrane virtuale).
Adugai applet-uri, cum ar fi un monitor de sistem, barei de meniu.
Schimbai tema.
Activai opiunea prin care ferestrele sunt activate prin micarea cursorului mausului pe deasupra
acesteia, astfel nct nu mai este necesar s facei clic pe fereastr pentru ca aceasta s fie activ
(sloppy focus).
Schimbai administratorul de ferestre.
Deautentificai-v i selectai un alt tip de sesiune, de exemplu KDE dac ai folosit Gnome. Repetai
pasul.

124

Capitolul 8. Imprimante i tiprirea


n acest capitol vom prezenta lucruri legate de imprimante i tiprirea fiierelor. Dup citirea acestei
pri, vei putea s:

Formatai documente.
Vizualizai documentele nainte de a le trimite la tiprire.
Alegei o imprimant bun, care s fie recunoscut de sistemul dumneavoastr Linux.
Tiprii fiiere i verifica statutul imprimantei.
Rezolvai problemele legate de imprimante.
Gsii documentaia necesar instalrii unei imprimante.

8.1. Tiprirea fiierelor


8.1.1. Tiprirea n linie de comand
8.1.1.1. Trimiterea fiierului la imprimant
Tiprirea din interiorul unei aplicaii este simpl, cu ajutorul opiunii Print (Tiprete) din meniu.
Din linia de comand, folosii comenzile lp sau lpr.
lp fiier(e)
lpr fiier(e)
Aceste comenzi pot citi o conexiune (pipe), astfel nct putei tipri ieirea unei comenzi folosind
comand | lp
Avei la dispoziie multe opiuni pentru configurarea aspectului paginii, numrului de copii,
imprimanta pe care dorii s o folosii, dac exist mai multe, alegerea tipului hrtiei, tiprirea pe o fa sau
pe ambele fee, dac imprimanta asigur acest lucru, configurarea marginilor, etc. Citii paginile manualelor
pentru mai multe informaii.

8.1.1.2. Statutul lucrrilor trimise la tiprire


Odat ce fiierul este acceptat n coada de ateptare pentru tiprire, i este alocat un numr de
identificare:

Pentru a verifica stadiul lucrrilor, folosii comenzile lpq sau lpstat. La introducerea acestora fr
argumente, vor afia coninutul implicit:

8.1.1.3. Statutul imprimantei


Care este imprimanta implicit folosit de un sistem care are acces la mai multe imprimante?

125

lpstat -d

Care este statutul imprimantei mele?


lpstat -p

8.1.1.4. tergerea din coada de ateptare a lucrrilor trimise la imprimat


Dac nu v place ceea ce vedei prin comenzile care afieaz stadiul imprimrii lucrrilor, folosii
lprm sau cancel pentru a terge sarcinile legate de tiprirea documentelor.

n mediul grafic, poate s apar o fereastr care v spune c o anumit sarcin legat de tiprire a
fost anulat.
n medii mai mari, comanda lpc este folosit pentru controlarea mai multor imprimante. Consultai
paginile Info ale fiecrei comenzi.
Avei la dispoziie mai multe interfee grafice pe care le putei folosi pentru comanda lp, iar cele mai
multe aplicaii grafice au o funcie de tiprire care folosete lp. Cutai n paginile de ajutor integrate i n
documentaia specific fiecrui program pentru mai multe informaii.
De ce exist dou comenzi pentru fiecare sarcin legat de tiprire?
Tiprirea pe sistemele UNIX i pe cele asemntoare are o istorie lung. Au existat dou abordri:
stilul de tiprire BSD i stilul SystemV. Din motive de compatibilitate, serviciul CUPS al Linux-ului lucreaz cu
ambele. De asemenea, lp nu se comport exact ca lpr, lpq are ntructva opiuni diferite de cele ale lpstat
i lprm este aproape acelai lucru, dar nu exact acelai cu cancel. Nu este important pe care-l folosii,
alegei comenzile care v sunt mai la ndemn sau pe cele cu care suntei obinuit de pe alte sisteme
asemntoare UNIX-ului.

8.1.2. Formatarea
8.1.2.1. Unelte i limbaje
Dac dorii s obinei ceva anume de la imprimant, fiierele trebuie mai nti formatate. n afara
programelor pentru formatare, care exist din abunden, Linux-ul conine uneltele de baz ale UNIX-ului
pentru formatare i limbaj.
Sistemele moderne Linux asigur tiprirea direct, fr o formatare prealabil executat de ctre
utilizator, pentru o gam larg de fiiere: text, PDF, PostScript i pentru cteva formate de imagini precum
PNG, JPEG, BMP i GIF.
Pentru acele fiiere care au nevoie de formatare, Linux-ul integreaz unelte de formatare precum
comenzile pdf2ps, fax2ps i a2ps, care convertesc alte formate n PostScript. Aceste comenzi pot crea
fiiere care apoi pot fi folosite pe alte sisteme care nu dispun de uneltele de conversie.
n afar de aceste comenzi ale liniei de comand avei la dispoziie multe unelte grafice pentru
procesarea textului. Exist numeroase suite pentru birou, multe dintre acestea fiind libere i gratuite. Acestea
realizeaz automat formatarea n momentul iniierii unei sarcini pentru tiprire. Pentru a numi doar cteva:
OpenOffice.org, KOffice, AbiWord, WordPerfect, etc.
Iat cteva limbaje comune n contextul sarcinilor pentru tiprire:

groff: versiunea GNU a comenzii UNIX roff. Este o interfa a sistemului de formatare groff. n mod
126

normal, ruleaz comanda troff i un post-procesor convenabil pentru dispozitivul selectat. Permite
generarea fiierelor PostScript.
TeX i pachetul macro LaTeX: unul dintre cele mai rspndite limbaje de marcare pe sistemele
UNIX. Invocat de regul ca tex, formateaz fiiere i le trimite ctre un dispozitiv corespondent o
reprezentare independent de tipul documentului.

Lucrurile care in de domeniul tehnic sunt fcute cu LaTeX deoarece acesta integreaz formule
matematice, fiind depuse eforturi de ctre W3C (Consoriul World Wide Web) pentru includerea acestei
faciliti i n alte aplicaii.

SGML i XML: sunt disponibile formate libere pentru UNIX i Linux. XML este noua generaie SGML,
care formeaz baza pentru DocBook XML, un sistem pentru documente (aceast carte este scris n
XML, de exemplu cartea originaln.t.).
Tiprirea documentaiei
Paginile de manuale conin date pre-formatate troff care trebuie s fie formatate nainte de a le
trimite la imprimant. Tiprirea se face folosind opiunea -t pentru comanda man:
man -t command > man-command.ps
Apoi tiprii fiierul PostScript. Dac este configurat o destinaie implicit pentru tiprire n cazul
sistemului/contului dumneavoastr, putei introduce comanda man -t comand pentru a trimite pagina
formatat direct la imprimant.

8.1.2.2. Vizualizarea fiierelor formatate


Orice trimitei la imprimant poate fi afiat i pe ecran. n funcie de formatul fiierului, putei folosi
una din comenzile de mai jos:

Fiiere PostScript: prin comanda gv (GhostView).


Fiiere TeX dvi: prin xdvi sau kdvi, propriu KDE-ului.
Fiiere PDF: xpdf, kpdf, gpdf sau vizualizatorul Adobe, acroread, care care este disponibil gratuit

dar nu este un program liber. Adobe`s reader este destinat versiunilor PDF 1.6, celelalte
funcioneaz numai pentru versiunile pn la 1.5. Versiunea unui PDF poate fi aflat prin comanda
file.
Din interiorul unor aplicaii, cum ar fi Firefox sau OpenOffice, putei alege opiunea Vizualizare
nainte de tiprire (Print Preview) din meniurile acestora.

8.2. Serviciul n sine


8.2.1. Generaliti
Pn acum civa ani, alegerea utilizatorilor de Linux era una simpl: toat lumea rula acelai
vechi program pentru tiprire, Net-2 code al BSD. Apoi LPRng a devenit mai folosit, dar n zilele noastre,
cele mai moderne distribuii de Linux folosesc CUPS, Common UNIX Printing System (Sistemul de tiprire
comun UNIX). CUPS este o implementare a Internet Printing Protocol (IPP), un protocol standard RFC,
asemntor HTTP-ului, nlocuitor al venerabilului (i demodatului) protocol LPD. CUPS este distribuit sub
licena public GNU. CUPS este i sistemul pentru tiprire implicit pe calculatoarele MacOSX.

8.2.2. Configurarea imprimantei n modul grafic


Cele mai multe distribuii dispun de o interfa grafic pentru configurarea imprimantelor locale (pe
porturile paralele sau USB) sau de reea. V permit s alegei tipul imprimantei dintr-o list pus la dispoziie
i chiar putei testa acea imprimant. Nu avei de ce s v batei capul cu sintaxa comenzii sau cu
localizarea fiierelor de configurare. ntotdeauna, nainte de instalarea unei imprimante, verificai
documentaia sistemului dumneavoastr.

127

CUPS poate fi configurat cu ajutorul unei interfee web care ruleaz pe portul 631 al calculatorului
dumneavoastr. Pentru a verifica dac aceast opiune este disponibil, ncercai adresa localhost:631/help
sau localhost:631/.

8.2.3. Cumprarea unei imprimante pentru Linux


Tot mai muli productori de imprimante pun la dispoziie drivere pentru CUPS astfel nct acest
serviciu se va conecta cu uurin la o imprimant care folosete un port serial,paralel sau USB ori la o
imprimant de pe reea. CUPS va asigura o prezentare uniform pentru toate tipurile de imprimante.
Imprimantele care vin doar cu drivere pentru Win9x pot pune probleme dac nu au un driver pentru
Linux scris pentru acestea. Verificai ntotdeauna la adresa http://linuxprinting.org/ atunci cnd avei ndoieli.
n trecut, cea mai bun alegere ar fi fost o imprimant care are integrat n firmware facilitatea
PostScript, deoarece aproape toate programele UNIX sau Linux care genereaz ieiri pentru tiprire o fac n
PostScript, limbajul de control ales de industria imprimantelor. Imprimantele PostScript sunt puin mai
scumpe, dar sunt dispozitive independente, care folosesc un limbaj de programare liber i putei fi siguri
100% c vor funciona. n zilele noastre, importana acestei reguli de bun sim este trecut cu vederea.

8.3. Probleme legate de tiprire


n aceast seciune vom discuta despre ce putei face ca utilizator atunci cnd ceva merge prost.
Nu ne vom referi la problemele care au de-a face cu partea de serviciu n sine a sistemului de tiprire,
ntruct acest lucru este o sarcin pentru administratorii de sistem.

8.3.1. Fiier greit


Dac este tiprit un fiiere greit, putei anula cu ajutorul comenzii lprm IDsarcin, unde IDsarcin
este afiat sub forma numele_imprimantei-numrul_sarcinii_de_tiprit (poate fi gsit printre informaiile
afiate de lpq i lpstat). Aceast abordare este posibil numai n cazul n care fiierul dumneavoastr
ateapt n coada pentru tiprire. Trebuie s fii ndeajuns de rapizi dac suntei singurul care utilizeaz
imprimanta, ntruct documentele sunt trimise la imprimant n cteva secunde. Odat ce au ajuns la
imprimant, este prea trziu s tergei sarcina folosind uneltele Linux-ului.
Tot ceea ce putei ncerca n aceste cazuri sau n cele n care ai configurat un driver greit i din
imprimant ies doar gunoaie, este s oprii imprimanta. Nu este chiar o metod foarte bun, deoarece poate
cauza blocarea hrtiei i alte nereguli.

8.3.2. Tipritura nu iese din imprimant


Folosii comanda lpq pentru a gsi sarcina care nu este finalizat:

Foarte multe imprimante dispun de interfee web, care pot afia informaii despre statutul
imprimantei, prin introducerea adresei imprimantei n navigatorul dumneavoastr de Internet. Pe pagina care
urmeaz v prezentm o astfel de interfa.
Figura 8-1. Statutul imprimantei afiat de o interfa web.

128

Interfaa web CUPS versus interfaa web a imprimantei


Reinei c ceea ce avei prezentat n imaginea de mai sus nu este interfaa web CUPS, ci o
interfa web specific unei imprimante care integreaz aceast facilitate. Verificai documentaia
imprimantei pe care o folosii pentru a afla dac poate lucra n acest mod.
Dac ID-ul sarcinii dumneavoastr nu este de gsit nici la imprimant, contactai administratorul de
sistem. Dac ID-ul este listat, verificai dac imprimanta tiprete. Dac da, ateptai, va sosi i rndul
documentelor dumneavoastr. Dac imprimanta nu tiprete nimic, verificai dac are hrtie, verificai
conexiunile fizice cu reeaua de electricitate i cablul de date. Este posibil s aib nevoie de o repornire.
ntrebai i administratorul de sistem dac avei frecvent probleme de acest gen.
n cazul unei imprimante de reea, ncercai s tiprii de pe alt calculator. Dac imprimanta este
gsit de calculatorul dumneavoastr (consultai Capitolul 10 n care se vorbete despre utilitatea ping),

129

ncercai s trimitei un fiier formatat, cum ar fi un fiier.ps n cazul unei imprimante PostScript,
folosind un client FTP. Dac imprimanta lucreaz, nseamn c sistemul dumneavoastr de tiprire nu este
configurat aa cum trebuie. Dac nu, imprimanta nu nelege formatul n care ai realizat documentul trimis la
tiprire.
Saitul GNU/Linux Printing conine mai multe sfaturi pe marginea acestui subiect.

8.4. Sumar
Serviciul de tiprire din Linux integreaz o serie de unelte pentru tiprire bazate pe uneltele
standard UNIX LPD, fie c vorbim despre implementarea System V sau cea BSD. V prezentm mai jos mai
multe comenzi legate de tiprire:
Tabelul 8-1. Comenzi noi n Capitolul 8: Tiprirea

Comanda

nelesul comenzii

lpr sau lp

Tiprete un fiier

lpq sau lpstat

Afieaz documentele trimise la tiprire, aflate n ateptare

lprm sau cancel

terge documentele trimise n ateptare pentru tiprire

acroread

Vizualizator PDF

groff

Unealt pentru formatare

gv

Vizualizator PostScript

printconf

Configureaz imprimantele

xdvi

Vizualizator DVI

xpdf

Vizualizator PDF

*2ps

Convertete fiierele n PostScript

8.5. Exerciii
Configurarea i testarea imprimantei implic existena uneia i accesul la contul de root. Dac sunt
ndeplinite aceste condiii, putei ncerca urmtoarele:

Instalai imprimanta folosind interfaa grafic (GUI) a sistemului dumneavoastr.


Tiprii o pagin de test folosind aceeai interfa grafic.
Tiprii o pagin de test folosind comanda lp.
Tiprii din interiorul unei aplicaii, de exemplu Mozilla sau OpenOffice, selectnd Fiier -> Tiprete
(File -> Print) din meniu.
Deconectai imprimanta de la reea sau de la calculator/server de imprimare. Ce se ntmpl cnd
ncercai s tiprii ceva?
Urmtoarele exerciii pot fi fcute fr imprimant sau accesarea contului de administrator.

ncercai s facei fiiere PostScript din diferite fiiere surs (cum ar fi HTML, PDF, pagini man).

Testai rezultatul cu vizualizatorul gv.


Verificai dac serviciul de tiprire ruleaz.
Tiprii oricum fiierul. Ce se ntmpl?
Facei un fiier PostScript folosind Mozilla. Testai-l cu gv.
Convertii acel fiier n format PDF. Testai-l cu xpdf.
Cum ai putea tipri un fiier GIF din linia de comand?
Folosii a2ps pentru a tipri fiierul /etc/profile ntr-un fiier de ieire. Testai-l din nou cu gv. Ce se
ntmpl dac nu specificai un fiier de ieire?

130

Capitolul 9. Tehnici fundamentale pentru crearea copiilor de


siguran
Mai devreme sau mai trziu, se pot ntmpla accidente. n acest capitol vom discuta despre cum s
trimitei datele ntr-un loc sigur folosind un alt calculator, dischete, CD-uri i benzi. Vom discuta i despre
cele mai folosite programe de comprimare i comenzi de arhivare.
La terminarea acestui capitol, vei ti cum s:

Creai, explorai i despachetai fiiere arhivate.


Lucrai cu dischetele i cum s creai o dischet de pornire pentru sistem.
Scriei CD-uri.
Realizai copii de siguran incrementale.
Creai arhive Java.
Cutai documentaia necesar pentru utilizarea altor dispozitive i programe pentru copiile
de siguran.
Criptai (cifrai) datele dumneavoastr.

9.1. Introducere
Cu toate c Linux-ul este unul din cele mai sigure sisteme de operare existente, fiind proiectat s
lucreze non-stop, mai pot fi pierdute date. Pierderile de date sunt de cele mai multe ori o consecin a
erorilor n utilizare, rareori fiind generate de o disfuncionalitate a sistemului, cum ar fi o cdere de tensiune
sau defectarea discului fix, aa c pstrarea unor copii ale datelor importante este o idee foarte bun.

9.1.1. Pregtirea datelor


9.1.1.1. Arhivarea cu tar
De cele mai multe ori, datele care trebuie arhivate sunt colectate ntr-un singur fiier, pe care l vei
comprima mai trziu. Procesul de arhivare implic concatenarea tuturor fiierelor listate i scoaterea spaiilor
goale. n Linux acest lucru este fcut prin comanda tar. Comanda tar a fost creat la nceput pentru
arhivarea datelor pe benzi, dar poate crea i arhive, cunoscute ca tarballs.
tar are multe opiuni, cele mai importante fiind prezentate mai jos:

-v: genereaz informaii.


-t: testeaz, arat coninutul unei arhive tarball.
-x: extrage arhiva.
-c: creeaz arhiv.
-f dispozitiv_de_arhivare: folosete dispozitiv_de_arhivare ca surs/destinaie
a arhivei, implicit fiind primul dispozitiv cu band (de regul /dev/st0 sau similare).
-j: filtreaz prin bzip2, consultai Seciunea 9.1.1.2.
n mod normal, prefixul dash (-) este pstrat n opiunile tar, dup cum vei observa din exemplele
care urmeaz.
Pentru compatibilitate, folosii comanda tar GNU
Arhivele create cu versiunea proprietar a tar pe un anume sistem pot fi incompatibile cu alt
versiune proprietar tar aflat pe alt sistem. Acest lucru v poate da multe bti de cap, legate de
necesitatea decomprimrii arhivei pe un sistem care nu mai exist. Folosii pe toate sistemele versiunea
GNU a programului tar, pentru a scuti administratorul de sistem de probleme n plus. Linux-ul folosete
ntotdeauna programul tar GNU. Atunci cnd lucrai pe sisteme UNIX, introducei comanda tar --help
pentru a verifica cu ce versiune lucrai. Luai legtura cu administratorul de sistem dac nu observai
niciunde acronimul GNU.

131

n exemplul de mai jos este creat i despachetat o arhiv:

Exemplul ilustreaz, de asemenea, diferena dintre un director arhivat i o aduntur de fiiere


arhivate. V sftuim s arhivai directoare, pentru ca fiierele s nu se mprtie peste tot la despachetarea
arhivei tarball (v folosete foarte mult n momentul despachetrii pe alte sisteme, n cazul crora nu
cunoatei ce fiiere au existat pe acele sisteme i ce fiiere ai despachetat din arhiv).
Dac exist o unitate cu band conectat la calculator i configurat de administratorul de sistem,
fiierele care se termin n .tar sunt nlocuite cu numele dispozitivului cu band, de exemplu:
tar cvf /dev/tape mail/
Directorul mail i toate fiierele care sunt coninute de acesta sunt comprimate ntr-un fiier care
este scris imediat pe o band. Este listat i coninutul acestuia pentru c a fost folosit opiunea verbose.

9.1.1.2. Copii de siguran incrementale cu ajutorul tar


Programul tar poate s creeze copii de siguran incrementale prin introducerea opiunii -N. Cu
aceast opiune putei specifica o dat, iar tar verific modificrile fiierelor asociate. Dac aceste fiiere au
fost modificate dup data introdus, ele vor fi incluse n copia de siguran. Exemplul de mai jos folosete o
not de timp aplicat unei arhive ca valoare pentru dat. n primul rnd, este creat arhiva iniial i este
artat nota de timp. Apoi, la apariia unui fiier nou, va fi fcut o copie de siguran nou, care conine
doar acest fiier, nou aprut.
Imaginea care urmeaz ilustreaz situaia descris mai sus:

132

Erorile standard sunt redirecionate ctre /dev/null. Dac nu facei acest lucru, tar va afia un
cte mesaj pentru fiecare fiier care nu a suferit modificri, spunndu-v c acestea nu vor fi incluse.
Acest mod de lucru are dezavantajul c se caut notele de timp ale fiierelor. S spunem c
descrcai o arhiv ntr-un director care conine copiile dumneavoastr de siguran, iar arhiva conine fiiere
care au fost create cu doi ani n urm. La compararea notei de timp asociate acestor fiiere cu nota de timp
a arhivei iniiale, noile fiiere vor apare pentru tar ca fiind vechi, i nu vor fi incluse n copia de siguran
incremental realizat cu opiunea -N.
O alegere mai bun ar fi opiunea -g, prin care se genereaz o list a fiierelor ce vor fi incluse n
copia de siguran. La realizarea copiilor de siguran incrementale, sunt verificate fiierele din aceast list.
Iat cum lucreaz opiunea n cauz:

n ziua urmtoare, utilizatorul jimmy modific fiierul file3 i creeaz fiierul file4. La sfritul
zilei, el face o nou copie de siguran:

V-am prezentat cteva comenzi simple, dar le putei folosi ntr-o sarcin programat (cronjob consultai Seciunea 4.4.4), n care s specificai, de exemplu, un fiier int pentru copia de siguran
sptmnal i un altul pentru copia de siguran zilnic. Fiierele int vor fi nlocuite la realizarea unei copii
de siguran integrale.
133

Mai multe informaii putei gsi n documentaia tar.


De reinut
Dup cum probabil ai observat, tar este de un real folos atunci vorbim despre directoare normale,
adic un set de fiiere de acelai fel. Exist ns i unelte care sunt mai uor de administrat atunci cnd dorii
s arhivai partiii ntregi, discuri sau proiecte mai mari. Am vorbit despre tar deoarece este foarte utilizat n
distribuirea arhivelor. Se ntmpl adesea s v lovii de instalarea unui program care vine sub forma aa
numitor arhive tarball. Consultai Seciunea 9.3 pentru ci mai uoare de realizare a copiilor de siguran
regulate.

9.1.1.3. Arhivarea i despachetarea cu gzip sau bzip2


Datele, inclusiv arhivele tarball, pot fi compresate folosind uneltele zip. Comanda gzip va aduga
sufixul .gz la numele fiierului i va terge fiierul original.

Despachetai fiierele folosind opiunea -d pentru comanda gzip.


bzip2 lucreaz ntr-un mod asemntor, dar folosete un algoritm complex de comprimare,
rezultnd fiiere mai mici. Consultai paginile info bzip2 pentru mai multe informaii.
Pachetele de programe pentru Linux sunt distribuite adesea n arhive tarball create cu gzip. Dup
despachetarea unor astfel de arhive, primul lucru pe care ar trebui s-l facei este s citii fiierul README. El
conine, n general, informaii despre instalarea programului n cauz.
Comanda tar GNU recunoate fiierele create cu gzip. Folosii comanda
tar zxvf fiier.tar.gz
pentru despachetarea fiierelor .tar.gz sau .tgz. Folosii
tar jxvf fiier.tar.bz2
pentru despachetarea arhivelor tar care au fost mpachetate cu bzip2.

9.1.1.4. Arhivele Java


Proiectul GNU pune la dispoziie unealta jar pentru crearea arhivelor Java. Este o aplicaie Java
care combin mai multe fiiere ntr-un singur fiier arhivat JAR. n timp ce poate fi folosit n scopuri
generale, legate de arhivare, ca unealt de comprimare, bazat pe formatele ZIP i ZLIB, jar a fost gndit n
principal ca o unealt care s uureze mpachetarea codului Java, a applet-urilor i/sau aplicaiilor ntr-un
singur fiier. Combinate ntr-o singur arhiv, componentele unei aplicaii Java pot fi descrcate mult mai
repede.
Spre deosebire de tar, jar arhiveaz implicit, independent de alte unelte - deoarece este, de fapt,
versiunea Java a zip. n plus, permite ca intrri individuale s fie semnate de autor, astfel nct pot fi
autentificate originile arhivei.
Sintaxa este aproape identic cu cea a comenzii tar, pentru diferenele specifice consultai info

jar.
tar, jar i legturile simbolice
O not important care nu este inclus n documentaia standard este aceea c jar urmrete
134

legturile simbolice. Datele spre care intesc aceste legturi vor fi incluse n arhive. Comportamentul implicit
al tar este s copieze doar legtura simbolic, dar poate fi schimbat cu opiunea -h a aceleiai comenzi tar.

9.1.1.5. Transportarea datelor


Pstrarea copiilor datelor dumneavoastr pe un alt calculator (sau gazd) este un mod simplu i
precis de realizare a copiilor de siguran. Consultai Capitolul 10 pentru mai multe informaii despre scp, ftp
i altele.
n seciunea urmtoare vom discuta despre dispozitivele locale de stocare.

9.2. Mutarea datelor pe un dispozitiv de stocare


9.2.1. Realizarea copiilor pe dischet
9.2.1.1. Formatarea dischetei
Pe cele mai multe sisteme Linux, utilizatorii pot folosi discheta. Numele dispozitivului difer, n
funcie de tipul i numrul unitilor de dischet, dac nu suntei sigur, ntrebai administratorul de sistem. Pe
unele sisteme, exist o legtur /dev/floppy care intete dispozitivul n cauz, probabil /dev/fd0
(dispozitivul detectat automat) sau /dev/fd0H1440 (configurat pentru dischetele de 1,44 MO).
fdformat este unealta de baz pentru formatarea dischetelor. Ca opiune are numele unitii de
dischet. fdformat va afia o eroare dac discheta este protejat la scriere.

Comanda mformat (din pachetul mtools) este folosit pentru crearea dischetelor compatibile DOS
care pot fi accesate prin comenzile m- :mcopy, mdir i altele.
Sunt disponibile i unelte grafice.
Figura 9-1. Unealta grafic de formatare a dischetelor

Dup ce o dischet este formatat, poate fi montat n sistemul de fiiere i accesat ca un


director normal, mai mic, de regul via /mnt/floppy.
Dac avei nevoie, instalai utilitarul mkbootdisk, care creeaz o dischet de pe care sistemul
135

poate porni.

9.2.1.2. Folosirea comenzii dd pentru manevrarea datelor


Comanda dd poate fi folosit pentru mutarea datelor pe o dischet sau la transferarea acestora
napoi pe discul fix, n funcie de dispozitivul de intrare i cel de ieire folosit. Iat un exemplu:

Mutarea datelor este fcut pe un dispozitiv nemontat. Dischetele create n acest mod nu pot fi
montate n sistemul de fiiere , dar este metoda prin care se pot face dischete de pornire sau de recuperare.
Mai multe informaii despre posibilitile dd pot fi gsite n paginile man.
Aceast unealt este parte a pachetului GNU coreutils.
Transferul discurilor
Comanda dd poate fi folosit pentru realizarea transferului unui ntreg disc fix brut.

9.2.2. Realizarea unei copii cu ajutorul unui inscriptor de CD-uri


Pe unele sisteme, le este permis utilizatorilor s foloseasc CD-writer-ul. Datele trebuie formatate
mai nti. Folosii comanda mkisofs n directorul care conine fiierele pe care dorii s le copiai. Verificai
cu ajutorul df dac avei destul spaiu disponibil, deoarece va fi creat un fiier nou de o dimensiune
aproximativ egal cu cea a directorului curent:

Opiunile -J i -r sunt folosite pentru a face posibil montarea CD-ROM-ului n diferite sisteme de
fiiere, dup cum putei afla din paginile man. Dup aceasta, CD-ul poate fi creat cu unealta cdrecord,
folosind opiunile potrivite:

136

n funcie de inscriptorul dumneavoastr, avei timp s fumai o igar sau, mai bine i mai
sntos, s mncai o fruct i/sau s servii o ceac de cafea. La terminarea sarcinii, vei primi un mesaj
de confirmare:

Exist i unelte grafice care v fac viaa mai uoar. Mai cunoscute sunt xcdroast, care este
disponibil pe saitul X-CD-Roast, fiind inclus n mai multe sisteme i n directorul GNU. Att KDE ct i
Gnome v pun la dispoziie programe pentru crearea CD-urilor dumneavoastr.

9.2.3. Copii de siguran pe/de pe uniti jazz, dispozitive USB i alte medii
externe
Aceste dispozitive sunt, de regul, montate n sistemul de fiiere. Dup procedura de montare, ele
sunt accesate ca directoare normale, aa c putei folosi comenzile obinuite de manipulare a fiierelor.
n exemplul de mai jos, sunt copiate imagini de pe o camer USB pe discul fix:

Dac aparatul foto este singurul dispozitiv de stocare USB pe care-l conectai la sistem, este n
regul. Dar reinei c dispozitivele USB au intrri n directorul /dev odat ce sunt conectate la sistem.
Astfel dac introducei n sistem un stick USB, acesta va figura ca intrare n /dev/sda, iar dac ataai
aparatul foto dup acel stick, va figura ca intrare n /dev/sdb - n situaia n care nu avei discuri SCSI, care
se gsesc tot n /dev/sd*. Pe sistemele mai noi, de la kernelul 2.6, un sistem de gestionare a
conectrilor, numit HAL (Hardware Abstraction Layer) se asigur c utilizatorii nu se mai lovesc de aceste
probleme. Dac dorii s verificai unde se afl dispozitivul dumneavoastr, tastai comanda dmesg dup
conectarea acestuia.
Putei apoi copia fiierele:

n acelai mod, un dispozitiv jazz poate fi montat n /mount/jazz.


Trebuie s adugai liniile necesare n /etc/modules.conf i /etc/fstab pentru ca
sistemul s funcioneze bine. Cutai n documentaia specific dispozitivelor pentru mai multe informaii. Pe
sistemele n care versiunile kernelului sunt de la 2.6.x n sus, verificai i paginile de manual ale modprobe
i fiierul modprobe.conf.

137

9.2.4. Realizarea copiilor de siguran pe uniti de band


Se face prin comanda tar (consultai seciunile de mai sus). Unealta mt este folosit pentru
controlul dispozitivelor cu band magnetic, cum ar fi /dev/st0. Au fost scrise cri ntregi despre
realizarea copiilor de siguran pe band magnetic, aa c v invitm s citii lista din Appendix B pentru
mai multe informaii. Bazele de date pot necesita alte proceduri pentru realizarea copiilor de siguran, din
cauza arhitecturii acestora.
Comenzile corecte pentru crearea copiilor de siguran sunt puse, de regul, ntr-un director cron,
pentru a fi executate n mod regulat. n medii mai mari, suita Amanda sau alte soluii comerciale sunt folosite
la realizarea copiilor de siguran pe mai multe calculatoare deodat. Lucrul cu benzile ns, ca ndatorire a
administratorului de sistem, este dincolo de scopul acestui ghid.

9.2.5. Unelte ale distribuiei dumneavoastr


Cele mai multe distribuii pun la dispoziie propriile unelte pentru a v uura munca. Iat o scurt
trecere n revist:

SuSE: YaST include acum module pentru realizarea de copii de siguran i restaurarea acestora.
RedHat: File Roller asigur administrarea vizual a arhivelor (comprimate). Se pare c se prefer

unealta X-CD-Roast pentru mutarea copiilor de siguran pe dispozitive externe.


Mandrake: X-CD-Roast.
Cele mai multe distribuii includ utilitarele dump i restore pentru realizarea copiilor de siguran
pentru sistemele de fiiere ext2 i ext3. Acest program poate scrie pe o gam larg de dispozitive
externe i, literal, arunc fiierul, fiierele sau sistemul de fiiere bit cu bit pe dispozitivul specificat.
Precum dd, v permite realizarea copiilor de siguran pentru fiiere speciale, cum ar fi cele din
/dev.

9.3. Utilizarea rsync


9.3.1. Introducere
Programul rsync este o unealt rapid i flexibil care v permite realizarea copiilor de siguran la
distan. Este comun sistemelor UNIX i celor asemntoare UNIX-ului, uor de configurat i de folosit n
scripturi. Doar pentru c r din rsync vine de la remote nu nseamn neaprat c nu putei folosi
programul dect n reea. Dispozitivul dumneavoastr la distan poate fi un mediu de stocare extern pe
USB sau o alt partiie pe discul fix, aa c nu trebuie s avei dou calculatoare pentru a v folosi de acest
program.

9.3.2. Un exemplu: rsync pe un dispozitiv de stocare USB


Dup cum am discutat n Seciunea 3.1.2.3, trebuie mai nti s montai dispozitivul. Este posibil s
fie nevoie de contul de administrator pentru aceast operaiune:

Uor de folosit
Din ce n ce mai multe distribuii permit accesul la dispozitivele externe pentru utilizatorii obinuii i
realizeaz automat montarea dispozitivelor USB, CD-ROM i a altora de acest gen.
Acest ghid presupune existena asistenei USB n sistemul dumneavoastr. Consultai Ghidul USB
pentru ajutor n cazul n care nu v funcioneaz ceva din cele prezentate. Verificai cu dmesg dac /dev/
sda1 este, ntr-adevr, dispozitivul de montat.
Dup aceea, putei ncepe realizarea copiei de siguran propriu-zise, de exemplu copia
directorului /home/karl:
138

Ca de obicei, v recomandm paginile man pentru mai multe informaii.

9.4. Criptarea
9.4.1. Generaliti
9.4.1.1. De ce ar trebui s v criptai datele?
Criptarea este sinonim cu secretizarea. Legat de copiile de siguran, criptarea este folositoare n
cazurile n care trebuie s v pstrai datele n locuri n care nu putei controla accesul, cum ar fi serverele
furnizorului de internet.
n afar de asta, criptarea poate fi aplicat i E-mail-urilor: n mod normal, mesajele de pot
electronic nu sunt criptate i ele sunt trimise n clar pe reeaua Internetului. Dac mesajele pe care le
trimitei conin informaii sensibile, este mai bine s le criptai.

9.4.1.2. GNU Privacy Guard


Pe sistemele Linux vei gsi GnuPG, GNU Privacy Guard, care este o colecie de programe care
sunt compatibile cu programul PGP (Pretty Good Privacy), disponibil comercial.
n acest ghid vom prezenta modul de utilizare de baz al uneltelor de criptare i vom arta lucrurile
de care avei nevoie pentru generarea unei chei de criptare i cum s o folosii pentru criptarea datelor
dumneavoastr, pe care le putei pstra apoi n locuri publice. Moduri de folosire mai avansate pot fi gsite
n paginile manualelor mai multor comenzi.

9.4.2. Generarea unei chei


nainte de a ncepe criptarea datelor, trebuie s creai o pereche de chei. Perechea const ntr-o
cheie public i una privat. Putei trimite cheia public corespondenilor, care o vor folosi pentru criptarea
datelor pentru dumneavoastr, pe care le decriptai cu cheia privat. ntotdeauna trebuie s pstrai cheia
privat, s nu o punei nimnui la dispoziie, deoarece n acest mod, datele destinate numai dumneavoastr
pot fi decriptate de tere pri. Pentru a v asigura c nu apare nici un accident, cheia privat este protejat
de o parol. Perechea de chei este generat prin comanda:

139

n acest moment introducei parola. Poate fi o fraz, cu ct mai lung, cu att mai bine, singura
condiie fiind aceea de a nu o uita niciodat. Pentru verificare, trebuie s introducei din nou parola aleas.
Perechea de chei este generat de un program care amestec numere la ntmplare, n funcie,
printre altele, de activitatea sistemului. Dac pornii unele programe, mutai cursorul sau introducei la
ntmplare cteva caractere ntr-o fereastr terminal, ansele de a fi generat un numr care conine multe
cifre diferite cresc, iar cheia va fi mult mai greu de spart.

9.4.3. Despre cheia dumneavoastr


Dup ce cheia a fost creat, vei primi un mesaj despre amprent. Aceasta este o secven de 40
de numere hexazecimale, att de lung pentru a prentmpina apariia aceleiai chei de dou ori, pe orice
calculator. Putei fi sigur de unicitatea acestei secvene. Forma scurt a cheii este compus din numele
dumneavoastr, urmat de ultimele 8 numere hexazecimale.
Putei obine informaii despre cheia dumneavoastr astfel:

ID-ul cheii generate este BF5C3DBB. Putei trimite acest ID i numele dumneavoastr unui
server de chei, astfel nct s fie disponibile corespondenilor dumneavoastr, pentru a o folosi la criptarea
datelor care v sunt destinate. Mai putei trimite cheia public direct persoanelor care au nevoie de ea.
Partea public a cheii dumneavoastr este seria lung de numere pe care o vedei prin opiunea --export a
comenzii gpg:
gpg --export -a
n aceast prezentare am presupus c avei nevoie de cheia de criptare pentru a cripta i decripta
date numai pentru folosina proprie. Citii paginile man ale programului gpg dac dorii s tii mai multe
lucruri pe acest subiect.

140

9.4.4. Criptarea datelor


Acum putei cripta o arhiv .tar sau una comprimat, nainte de a o salva drept copie de siguran
pe un mediu de stocare sau pe un server pentru copii de siguran. Folosii comanda gpg precum n
exemplul de mai jos:
gpg -e -r (parte a) uid arhiv
Opiunea -e spune programului gpg s cripteze, opiunea -r indic pentru cine s cripteze.
Reinei c doar utilizatorul care este artat dup opiunea -r poate decripta datele. Un exemplu:

9.4.5. Decriptarea fiierelor


Prin opiunea -d a comenzii gpg putei decripta datele care au fost criptate pentru dumneavoastr.
Datele se vor derula pe ecran, dar o copie criptat va rmne pe disc. Pentru alte formate dect textul
simplu trebuie s salvai datele decriptate, pentru ca s le putei deschide cu programul potrivit. Acest lucru
se face prin opiunea -o a comenzii gpg:

Lips parol = date pierdute


Dac nu v amintii parola, datele sunt pierdute. Nici mcar administratorul de sistem nu va putea
decripta datele dumneavoastr. Iat de ce o copii ale cheilor importante i parole sunt pstrate n seifuri ale
bncilor.

9.5. Sumar
V-am pregtit o list care conine comenzile folosite n realizarea copiilor de siguran:
Tabelul 9-1. Comenzi noi n Capitolul 9: Copiile de siguran

Comand

nelesul comenzii

bzip2

Un compresor de fiiere sortator de blocuri.

cdrecord

nregistrare de date sau audio pe CD.

dd

Convertete i copiaz un fiier.

fdformat

Formatarea comun a unei dischete.

gpg

Cripteaz i decripteaz datele.

gzip

Comprim i despacheteaz fiiere.

mcopy

Copiaz fiiere MSDOS pe/de pe UNIX.

mdir

Afieaz un director MSDOS.

mformat

Adaug un fiier MSDOS la o dischet formatat comun.

mkbootdisk Creeaz o dischet de pornire a sistemului.


mount

Monteaz un sistem de fiiere (l integreaz n sistemul curent de fiiere


prin ataarea la un punct de montare).

141

rsync

Sincronizeaz directoarele.

tar

Utilitar pentru arhivare pe uniti de band, folosit i pentru realizarea


copiilor de siguran scrise pe discuri.

unmount

Demonteaz sistemele de fiiere.

9.6. Exerciii
Facei o copie a directorului dumneavoastr home n /var/tmp folosind comanda tar. Comprimai

apoi fiierul folosind gzip sau bzip2. Creai o arhiv curat, una care s nu se mprtie peste tot la
despachetare.
Formatai o dischet i punei pe ea cteva fiiere din directorul dumneavoastr personal. Schimbai
discheta cu una care aparine altuia i copiai fiierele coninute de acea dischet n directorul
personal.
Formatai o dischet n DOS. Folosii mtools pentru a copia i a terge fiiere pe aceasta.
Ce se ntmpl cu o dischet neformatat atunci cnd dorii s o montai n sistemul de fiiere?
Dac deinei un dispozitiv de stocare usb, ncercai i copiai nite fiiere pe acesta.
Folosindu-v de rsync, facei o copie a directorului dumneavoastr personal pe un sistem de fiiere
local sau din reea.
Atunci cnd dorii s pstrai fiiere pe servere din reea, este bine ca aceste fiiere s fie criptate.
Realizai o arhiv tar a directorului personal i criptai-o.

142

Capitolul 10. Reele


Cnd vine vorba de reea, Linux-ul este sistemul de operare care ofer cele mai multe avantaje, nu
doar pentru c reeaua este integrat intim n sistemul de operare propriu-zis i sunt puse la dispoziie multe
unelte i aplicaii n mod gratuit, ci pentru robusteea dovedit sub trafic intens, obinut dup ani de testare
i rezolvare a problemelor raportate n cadrul proiectului Open Source (Surs deschis).
Rafturi ntregi de cri pline de informaii au fost scrise despre Linux i reelistic, noi ncercnd
doar s oferim o privire de ansamblu pe marginea acestui subiect. Dup terminarea acestui capitol, vei
cunoate mai multe despre:

Protocoale de reea admise


Fiierele de configurare a reelei
Comenzile pentru configurarea i probarea reelei
Serviciile i programele client care permit aplicaii diverse de reea
Partajarea de fiiere i tiprirea
Executarea de la distan a unor comenzi i aplicaii
Noiuni de baz despre conexiunile de reea
Executarea securizat a aplicaiilor la distan
Firewall-uri i detectarea intruilor

10.1. Generaliti despre reele


10.1.1. Modelul OSI
Un protocol este, la baz, un set de reguli pentru comunicare.
Pentru a transmite date n reea, de exemplu un mesaj de pot electronic de la calculatorul
dumneavoastr ctre un alt calculator aflat la captul lumii, mai multe dispozitive i programe trebuie s
lucreze mpreun.
Toate aceste dispozitive i programe folosesc limbaje diferite. S lum n considerare programul
dumneavoastr de E-mail: este capabil s converseze cu sistemul de operare al calculatorului, printr-un
protocol specific, dar nu poate comunica cu dispozitivele n sine. Avei nevoie de un program special n
sistemul de operare, care s fac acest lucru. Pe de alt parte, calculatorul trebuie s comunice cu linia
telefonic sau alt sistem de conectare la Internet. n afar de ceea ce se vede, conexiunile de reea au
nevoie de comunicare pentru a transmite mesajul dumneavoastr de pot electronic pe tot traseul ctre
calculatorul de destinaie.
Toate aceste protocoale diferite de comunicare sunt clasificate n 7 nivele, care sunt cunoscute ca
Open Systems Interconnection Reference Model, pe scurt OSI Model. Pentru a fi neles mai uor, acest
model este redus la un sistem de protocoale n 4 nivele, descris n tabelul de mai jos:
Numele nivelului

Protocoalele nivelului

Nivelul aplicaiilor

HTTP, DNS, SMTP,POP,...

Nivelul de transport

TCP, UDP

Nivelul de reea

IP,IPv6

Nivelul de acces la
reea

PPP,PPPoE, Ethernet

Fiecare nivel poate folosi funcionalitile nivelului aflat dedesubtul su; fiecare nivel i poate
exporta funcionalitile nivelului aflat deasupra sa. Cu alte cuvinte: un nivel poate comunica doar cu
nivelurile adiacente. S lum din nou exemplul mesajului dumneavoastr de pot electronic: l introducei
prin nivelul aplicaiilor. n calculatorul dumneavoastr, el cltorete prin nivelurile de transport i reea.
Calculatorul l transmite n reea prin nivelul de acces la reea. Tot acesta este i nivelul care-l poart n jurul
lumii. La destinaie, calculatorul de destinaie l preia prin nivelul propriu de reea i l va afia cu ajutorul
nivelurilor de transport i aplicaii.
143

n realitate lucrurile sunt mult mai complicate


Seciunea de mai sus i cea urmtoare sunt incluse deoarece mai devreme sau mai trziu v vei
lovi de anumii termeni proprii reelisticii; aceste seciuni v vor ajuta s v consolidai un punct de plecare,
dac trebuie s aflai mai multe detalii pe marginea acestui subiect.

10.1.2. Cteva protocoale de reea mai cunoscute


Linux-ul recunoate mai multe protocoale de reea. Vom prezenta pe cele mai importante:

10.1.2.1. TCP/IP
The Transport Control Protocol i Internet Protocol sunt dou din cele mai populare ci de
comunicare pe Internet. Multe aplicaii, precum navigatorul dumneavoastr i programele de pot
electronic sunt realizate pe baza acestei suite de protocoale.
La baz, IP asigur soluii pentru trimiterea pachetelor de informaii de la un calculator la altul, n
timp ce TCP aranjeaz pachetele n fluxuri, astfel nct pachetele diferitelor aplicaii s nu se amestece i s
fie primite la destinaie n ordinea corect.
Un punct de plecare n studierea TCP i IP este reprezentat de urmtoarele lucrri:

man 7 ip: descrie implementarea protocolului IPv4 n Linux (versiunea 4 fiind cea mai des ntlnit

ediie a acestui protocol).


man 7 tcp: implementarea protocolului TCP.
RFC793, RFC1122, RFC2001 pentru TCP, iar pentru IP, RFC791, RFC1122 i RFC1112.

Documentele Request For Comments conin descrierea standardelor de reea, a protocoalelor,


aplicaiilor i implementrile acestora. Documentele sunt administrate de Internet Engineering Task Force, o
comunitate internaional care rspunde de operaionalitatea Internetului precum i de evoluia i
dezvoltarea arhitecturii Internetului.
Furnizorul dumneavoastr de Internet are o arhiv disponibil, sau putei consulta aceste RFC-uri
via http://www.ietf.org/rfc.html.

10.1.2.2. TCP/IPv6
Nimeni nu se atepta ca Internetul s creasc n ritmul pe care-l cunoatem azi. S-a dovedit c IP
are anumite dezavantaje atunci cnd un numr foarte mare de calculatoare sunt n reea, cel mai mare fiind
acela legat de alocarea unei adrese unice fiecrui calculator existent n reea. De aceea, IP versiunea 6 a
fost destinat s rspund nevoilor actuale ale Internetului.
Din nefericire, nu toate aplicaiile i serviciile pot lucra nc cu IPv6. Migrarea este n desfurare n
cazul multor aplicaii i servicii care pot beneficia de pe urma implementrii protocolului amintit. Cteva
aplicaii folosesc vechiul protocol, iar pentru cele care au fost reproiectate noua versiune este activ. n
momentul n care verificai configuraia reelei, lucrurile nu sunt aa de clare, ntruct au fost luate tot felul de
msuri pentru a mpiedica amestecarea conexiunilor, prin ascunderea unui protocol de cellalt.
Mai multe informaii pot fi gsite n urmtoarele documente:

man 7 ipv6: implementarea protocolului Linux IPv6.


RFC1883 care descrie protocolul IPv6.
10.1.2.3. PPP, SLIP, PLIP, PPOE
Kernelul Linux integreaz protocoalele PPP (Point-to-Point-Protocol), SLIP (Serial Line IP), PLIP
(Parallel Line IP) i PPPP Over EThernet. PPP este cea mai folosit cale prin care utilizatorii individuali
acceseaz furnizorul de Internet (ISP - Internet Service Provider), dei n zonele des populate acesta este
144

nlocuit de PPPOE, protocol folosit n cazul conexiunilor ADSL (Asymetric Digital Subscriber Line).
Cele mai multe distribuii de Linux au ncorporat unelte uor de folosit pentru configurarea
conexiunii la Internet. Ceea ce trebuie s cunoatei este numele de utilizator i parola furnizate de ISP-ul
dumneavoastr, iar n cazul PPP un numr de telefon. Aceste date sunt introduse ntr-o aplicaie care
ruleaz n modul grafic, care v permite i pornirea sau oprirea conexiunii la Internet.

10.1.2.4. ISDN
Kernelul Linux-ului include i tratarea protocolului ISDN. Isdn4linux controleaz plcile ISDN PC i
poate emula un modem cu setul de comenzi Hayes (comenzile AT). Posibilitile acoper simpla utilizare a
unui program terminal ct i o conexiune total la Internet.
Verificai n documentaia sistemului dumneavoastr.

10.1.2.5. AppleTalk
Appletalk este numele sistemului de conectivitate al calculatoarelor Apple. Permite o reea peer-topeer cu funcionaliti de baz cum ar fi partajarea de fiiere i imprimante. Fiecare calculator se poate
comporta n acelai timp ca server sau client, iar programele i dispozitivele necesare sunt incluse n orice
calculator Apple.
Linux-ul asigur implementarea total a AppleTalk. Netatalk este implementarea la nivelul
kernelului a protocolului AppleTalk Protocol Suite, fiind la baz destinat sistemelor BSD i derivate.
Integreaz rutarea AppleTalk, care deservete sistemele de fiiere UNIX i AFS care utilizeaz AppleShare
i imprimantele UNIX precum i pe cele AppleTalk.

10.1.2.6. SMB/NMB
Pentru compatibilitatea cu mediul MS Windows, suita Samba, care include protocoalele NMB i
SMB, poate fi instalat pe orice sistem compatibil UNIX. Protocolul Server Message Block (cunoscut i drept
Session Message Block, NetBios sau LanManager Protocol), este folosit pe sistemele MS Windows 3.11,
NT, 95/98, 2K i XP pentru partajarea discurilor i imprimantelor.
Funcionalitile de baz ale suitei Samba sunt: partajarea discurilor Linux cu cele ale Windowsului, accesarea SMB de pe calculatoarele Linux, accesarea imprimantelor Linux de ctre calculatoarele
Windows i accesarea imprimantelor Windows de ctre sisteme Linux.
Cele mai multe distribuii de Linux includ un pachet samba, care configureaz cea mai mare parte
a serverului i pornete smbd, serviciul Samba, i nmbd, serviciul netbios, implicit, la pornirea calcularorului.
Samba poate fi configurat n modul grafic, cu ajutorul unei interfee web sau n modul liniei de comand, cu
ajutorul fiierelor text de configurare. Serviciul face ca un calculator Linux s apar drept o gazd MS
Windows n fereastra My Network Places/Network Neighbourhood proprii mediilor MS Windows; partajarea
unui sistem Linux nu poate fi distins de oricare alt gazd din mediul MS Windows.
Obinei mai multe informaii din urmtoarele surse:

man smb.conf: descrie alctuirea principalului fiier de configurare pentru serviciul Samba.
The Samba Project Documentation (sau cutai saitul-oglind local al samba.org) conine un ghid
uor de neles pentru instalare i testare, care explic i modul n care putei configura serviciul
Samba ca Primary Domain Controller (Controlor Primar de Domenii). Pe acest sait sunt disponibile
i toate paginile de manuale.

10.1.2.7. Alte protocoale


Linux-ul se poate descurca i cu Amateur Radio, WAN internetworking (X25, Frame Relay, ATM),
InfraRed i alte conexiuni fr fir, dar, ntruct aceste protocoale necesit echipamente dedicate, nu le vom
discuta n aceast lucrare.

145

10.2. Configurarea reelei i informaii despre reea


10.2.1. Configurarea interfeelor de reea
Toate distribuiile principale de Linux, prietenoase cu utilizatorul, vin cu diferite unelte grafice care
permit configurarea calculatorului pentru o reea local, conectarea la un furnizor de servicii Internet sau
accesarea unei reele wireless (fr fir). Aceste unelte pot fi pornite din linia de comand sau din meniu:

Configurarea Ubuntu este fcut prin selectarea System -> Administration -> Networking (Sistem ->

Administrare -> Utilitare de reea).


RedHat Linux include redhat-config-network, care dispune att de interfa n modul grafic, ct i
de cea text.
YAST sau YAST2 din Suse sunt o unealt de configurare all-in-one.
Mandrake/Mandriva vine cu un utilitar numit Network and Internet Configuration Wizzard, pe care v
sftuim s-l pornii din Mandrake`s Control Center (Centrul de Control al Mandrake)
Pe sistemele Gnome: gnome-network-preferences.
Pe sistemele KDE: knetworkconf.

Documentaia sistemului pe care lucrai conine multe sfaturi i informaii despre disponibilitatea i
modul de folosire a uneltelor specifice.
Informaii pe care trebuie s le furnizai:

Pentru conectarea la reeaua local, de exemplu la calculatoarele de acas sau de la serviciu:

numele calculatorului, numele domeniului i adresa de IP. Dac dorii s v configurai o reea
local, este bine s studiai mai mult pentru nceput. La serviciu, informaiile pe care le-am menionat
sunt furnizate calculatorului, de cele mai multe ori, la pornirea acestuia. Dac nu suntei sigur, mai
bine nu introducei nici o informaie.
Pentru conectarea la Internet: numele de utilizator i parola furnizate de ISP-ul dumneavoastr,
numrul de telefon dac folosii un modem pentru linia telefonic. Furnizorul dumneavoastr de
Internet v aloc, de regul automat, o adres de IP i toate cele necesare pentru ca aplicaiile
dumneavoastr legate de Internet s lucreze cum trebuie.

10.2.2. Fiierele de configurare ale reelei


Asistentul grafic modific un set specific de fiiere de configurare ale reelei, folosind cteva
comenzi de baz. Numele exact al fiierelor de configurare i localizarea lor n sistemul de fiiere depind n
mare msur de distribuia i versiunea de Linux pe care o folosii. Totui, exist fiiere de configurare ale
reelei care sunt ntlnite pe toate sistemele asemntoare UNIX:

10.2.2.1. /etc/hosts
Fiierul /etc/hosts conine ntotdeauna adresa local IP a calculatorului, 127.0.0.1, folosit de
comunicaiiile interprocese. Nu tergei aceast linie niciodat! Cteodat conine adrese ale altor
calculatoare, care pot fi contactate fr a fi nevoie de folosirea unui serviciu extern de nume, precum DNS
(Domain Name Server).
O mostr de fiier hosts al unei mici reele este urmtoarea:

Citii mai multe n man hosts.

146

10.2.2.2. /etc/resolv.conf
Fiierul /etc/resolv.conf controleaz accesul la un server DNS, consultai Seciunea 10.3.7.
Acest fiier conine numele dumneavoastr de domeniu i numele serverului (serverelor) ce trebuie
contactate:

Citii mai multe n paginile man ale resolv.conf.

10.2.2.3. /etc/nsswitch.conf
Fiierul /etc/nsswitch.conf definete ordinea n care sunt contactate numele diferite de
servicii. Pentru utilizarea Internetului, este important ca dns s apar n linia hosts:

Prin aceasta se dau instruciuni calculatorului s caute numele gazdelor i adresele de IP ncepnd
cu fiierul /etc/hosts i s contacteze serverul DNS dac o anume gazd nu apare n acest fiier. Alte nume
posibile de servicii care pot fi listate sunt: LDAP, NIS i NIS+.
Ca de obicei, mai multe despre acest subiect gsii n man nsswitch.conf.

10.2.3. Comenzile de configurare ale reelei


10.2.3.1. Comanda ip
Scripturile specifice distribuiilor i uneltele grafice sunt doar interfee ale comenzii ip (sau ifconfig
i route pe sistemele mai vechi) care afieaz i modific configuraia prii de reea integrat n kernel.
Comanda ip este folosit pentru a aloca adrese IP interfeelor de reea, pentru configurarea
ruttilor pentru Internet i alte reele, pentru afiarea configurrilor TCP/IP, i altele.
Urmtoarele comenzi afieaz adresa de IP i informaii legate de rutare:

Lucruri de inut minte:

apar dou interfee de reea, chiar pe calculatoarele care au doar o plac fizic de reea: lo este

bucla local (local loop), folosit de comunicaiile interne; eth0 este un nume comun pentru
interfaa real. Nu schimbai niciodat configuraia buclei locale, pentru c sistemul va funciona
incorect. Interfeele fr fir sunt definite de regul ca wlan0; modemurile ca ppp0, dar pot avea i
alte nume.
adresele de IP, marcate cu inet: bucla local ntotdeauna are adresa 127.0.0.1, n timp ce
interfeele fizice au tot felul de combinaii.
147

adresele fizice ale echipamentelor, care pot fi solicitate ca parte a procedurii de autentificare n
reea, sunt marcate ca ether. Bucla local are 6 perechi de zero, iar placa de reea are 6 perechi
de caractere hexazecimale, din care primele 3 perechi sunt specifice fabricantului.

10.2.3.2. Comanda ifconfig


Cu toate c ip este cea mai nou cale de configurare a unui sistem Linux, ifconfig este nc folosit
destul de des. Folosii-l fr opiuni pentru a afia informaii despre interfeele de reea:

Putei observa i aici cele mai importante aspecte ale configurrii interfeei:

Adresa de IP este marcat cu inet addr.


Adresa dispozitivului se afl dup eticheta HWadrr.
Ambele comenzi, ifconfig i ip, afieaz mai n detaliu informaii i date statistice despre fiecare
interfa i, ceea ce este foarte important, dac acestea sunt UP (pornite) i RUNNING (lucreaz).

10.2.3.3. Comenzile PCMCIA


Pe laptopul dumneavoastr folosii, de regul, pentru conexiunea la reeaua companiei, placa
Ethernet, dar dac suntei pui n situaia de a configura o conexiune acas sau ntr-un hotel, este posibil s
fie nevoie de activarea cardului (plcii) PCMCIA. Putei face acest lucru prin utilitarul de control cardctl sau
pcccardctl pe distribuiile mai noi.
Iat un exemplu de utilizare:
cardctl insert
n acest moment putei configura cardul, fie n modul grafic, fie prin interfaa liniei de comand.
nainte de a scoate cardul, folosii comanda:
cardctl eject
O distribuie serioas ar trebui s integreze n uneltele de configurare ale reelei utilitare pentru
administrarea cardurilor PCMCIA, nefiind nevoie de executarea manual a acestor comenzi.

10.2.3.4. Mai multe informaii


Discutarea mai multor chestiuni legate de configurarea reelei este dincolo de scopul acestui
document. Sursa dumneavoastr primar pentru mai multe informaii este reprezentat de paginile
manualelor pentru serviciile pe care dorii s le configurai. Lecturi adiionale:

148

The Modem-HOWTO: V ajut la alegerea, conectarea, configurarea, rezolvarea problemelor i

nelegerea modemurilor n sistem analog pentru PC-uri.


LDP HOWTO Index, Seciunea 4.4: administreaz listele de HOWTO despre reelistic n general,
protocoale, dial-up, DNS, VPN, bridging (puni), rutare, securitate i altele.
Cele mai multe sisteme au o versiune a fiierului ip-cref (cutai-l prin comanda locate); formatul
PS al acestui fiier poate fi vizualizat de exemplu cu gv.

10.2.4. Numele interfeelor de reea


Pe un calculator Linux, numele dispozitivului lo sau al buclei locale (local loop) este legat de adresa
intern 127.0.0.1. Calculatorul va fi pus n dificultate n momentul lansrii aplicaiilor dac acest dispozitiv nu
este prezent; este mereu disponibil, chiar pe calculatoarele care nu sunt legate la reea.
Primul dispozitiv ethernet, eth0 n cazul unei interfee fizice (plac) standard de reea, intete ctre
adresa dumneavoastr local LAN IP. Calculatoarele care sunt clieni obinuii au doar o plac de reea.
Ruterele (routers), care fac legtura ntre reele, dispun de cte un dispozitiv de reea pentru fiecare reea
deservit.
Dac folosii un modem pentru a v conecta la Internet, probabil c acesta va fi denumit ppp0.
Exist mult mai multe nume, de exemplu pentru interfeele virtuale private de reea (VPN),iar mai
multe interfee pot fi active simultan, de aceea ieirea comenzilor ifconfig sau ip poate deveni stufoas dac
nu este folosit nici o opiune. Pot fi active mai multe interfee de acelai tip. n acest caz, ele vor fi denumite
secvenial: prima va primi numrul 0, a doua sufixul 1, cea de-a treia va primi 2, .a.m.d. Cazul despre care
am vorbit este ntlnit pe servere, pe sisteme care au o configuraie redundant, pe rutere, firewall-uri i
multe altele.

10.2.5. Verificarea configuraiei calculatorului cu netstat


n afar de comanda ip, care afieaz configurarea reelei, exist comanda netstat, care dispune
de multe opiuni i este foarte folositoare pe sistemele UNIX.
Informaiile legate de rutare sunt afiate prin opiunile -nr ale acestei comenzi:

n imaginea de mai sus este vorba despre un calculator, tipic client, ntr-o reea IP. Are doar o
plac de reea, eth0. Interfaa lo este bucla local.
Metoda modern
Metoda modern de a obine aceeai informaie este folosirea comenzii ip:
ip route show
Cnd acest calculator ncearc s contacteze o gazd aflat n alt reea dect cea proprie,
indicat prin linia care ncepe cu 0.0.0.0., va trimite cererea de conectare calculatorului (ruterului) cu adresa
de IP 192.168.42.1, i, pentru asta va folosi interfaa primar, eth0.
Calculatoarele care sunt n aceeai reea, linia care ncepe cu 192.168.42.0, vor fi contactate tot
prin intermediul interfeei primare, dar nu mai este necesar rutarea, datele sunt puse direct pe reea.
Calculatoarele pot avea tabele de rutare mult mai complicate dect acesta, cu diferite perechi
Destinations-Gateway pentru conectarea cu diverse reele. Dac avei ocazia de a v conecta la un server
de aplicaii, de exemplu la locul de munc, putei verifica, n scop educaional, informaiile legate de rutare.

149

10.2.6. Alte gazde


O colecie impresionant de unelte este destinat administrrii de la distan a calculatoarelor
Linux. Saitul oglind local v ofer destul de multe astfel de unelte. Apelai la documentaia specific
programelor care v intereseaz, deoarece discutarea acestor aspecte nu face obiectul acestui ghid.
Vom discuta n aceast seciune doar comenzile uneltelor text foarte utilizate pe sistemele
UNIX/Linux.

10.2.6.1. Comanda host


Pentru a afia informaii despre gazde sau domenii, folosii comanda host:

Informaii similare pot fi afiate prin folosirea comenzii dig, care ofer informaii adiionale despre
cum sunt stocate nregistrrile n serverul de nume.

10.2.6.2. Comanda ping


Pentru a verifica dac un calculator este disponibil n reea, folosii ping. Dac sistemul este
configurat pentru a transmite mai mult de un pachet, ntrerupei ping prin combinaia de taste Ctrl+C:

10.2.6.3. Comanda traceroute


Pentru a verifica ruta pe care o urmeaz un pachet prin reea, folosii comanda traceroute:

150

Pe unele sisteme, traceroute a fost redenumit tracepath.

10.2.6.4. Comanda whois


Informaii specifice numelui de domeniu pot fi apelate prin comanda whois, dup cum se explic
de numeroasele servere whois, precum cel din exemplul de mai jos:

Pentru alte nume de domenii precum .com, .net, .org i .edu, s-ar putea s fie nevoie s specificai
serverul whois, precum acesta pentru .be domains:
whois domain.be@whois.dns.be

151

10.3. Aplicaii Internet/Intranet


Sistemele Linux sunt o platform excelent pentru serviciile de reea. n aceast seciune vom
ncerca s v prezentm cele mai cunoscute servicii i aplicaii de reea.

10.3.1. Tipuri de servicii


10.3.1.1. Servicii independente
Oferirea unui serviciu poate fi abordat n dou moduri. Un serviciu (sau daemon) poate rula n
modul independent sau poate depinde de activarea unui alt serviciu.
Serviciile de reea care sunt utilizate intens i/sau continuu, ruleaz de regul independent: sunt
programe de sine stttoare care ruleaz non-stop. Sunt iniiate adesea la pornirea calculatorului i ateapt
solicitri n puncte specifice de conexiune sau porturi pentru care sunt configurate s asculte. Cnd apare o
cerere, este procesat i ateptarea continu pn la urmtoarea cerere. Un server web este un exemplu
tipic: v ateptai s fie disponibil 24 de ore pe zi, iar dac este prea ocupat ar trebui create mai multe
instane pentru a servi simultan mai multor utilizatori. Alte exemple sunt depozitele mari de programe precum
Sourceforge sau your Tucows mirror, care trebuie s se descurce cu mii de cereri FTP pe zi.
Un exemplu de serviciu de sine stttor pe calculatorul dumneavoastr de acas este named
(serviciul de nume), un serviciu pentru schimbarea de nume. Serviciile independente au propriile procese
care ruleaz, evideniate de comanda ps:

Exist totui i servicii care sunt utilizate pe calculatorul dumneavoastr, chiar dac nu exist nici
un proces ce ruleaz pentru acel serviciu. Exemple ar fi serviciul FTP, serviciul secure copy sau finger.
Acestea beneficiaz de serviciul Internet Daemon (inetd), care ascult pentru ele.

10.3.1.2. (x)inetd
Pe calculatoarele de acas, lucrurile sunt mai degrab calme. Este posibil s avei o mic reea i
s transferai fiiere dintr-un calculator pe altul, din cnd n cnd, folosind FTP sau Samba (pentru
conectivitatea cu sistemele MS Windows). n aceste cazuri, pornirea tuturor serviciilor de care avei nevoie
doar ocazional i rularea acestora continuu este un lucru devorator de resurse. Aa c n configurrile de
baz vei gsi c serviciile de care avei nevoie depind de un program central care ascult toate porturile
serviciilor de care este responsabil. Acest superserviciu, Internet service daemon, este pornit la iniializarea
sistemului. Sunt dou implementri de baz: inetd i xinetd (the extended Internet service daemon). Unul
din ele ruleaz n mod normal pe orice sistem Linux:

Serviciile pentru care este responsabil Internet daemon sunt listate n fiierul su de configurare, /
etc/inetd.conf, pentru inetd, i n /etc/xinetd.d n cazul xinetd. Printre serviciile administrate se
regsesc serviciile de partajare de fiiere i imprimante, SSH, FTP, telnet, serviciul de configurare pentru
Samba, serviciile talk i time.
De ndat ce o cerere de conexiune este primit, serviciul central va porni o instan a serviciului
solicitat. Astfel, n exemplul de mai jos, cnd utilizatorul bob pornete o sesiune FTP pe gazda local, un
serviciu FTP va rula att timp ct sesiunea este activ:

Desigur, acelai lucru se ntmpl cnd deschidei conexiuni la distan: ori un anume serviciu
rspunde direct, ori un serviciu la distan (x)inetd pornete serviciul de care avei nevoie i l oprete n
momentul n care terminai treaba.
152

10.3.2. Pota electronic


10.3.2.1. Serviciile
Sendmail este programul standard pentru pot electronic sau Mail Transport Agent pentru
platformele UNIX. Este solid, scalabil, i , dac este configurat corect n combinaie cu echipamentele
potrivite, se descurc cu mii de utilizatori fr nici un efort. Mai multe informaii despre cum se configureaz
Sendmail sunt incluse n pachetele sendmail i sendmail-cf. V sftuim s citii i fiierele README i
README.cf din /usr/share/doc/sendmail. De asemenea, trebuie citite paginile man sendmail
i man aliases.
Qmail este alt serviciu de mail, care ctig popularitate deoarece se prezint a fi mai securizat
dect Sendmail. n timp ce Sendmail este un program monolit, Qmail este compus din programe mai mici
care interacioneaz, fiind mai uor de securizat. Postfix este un alt serviciu de mail care ctig teren printre
utilizatori.
Aceste servicii administreaz liste de mail, filtre, scanri de virii i multe alte lucruri. Programe
antivirus gratuite sau comerciale sunt disponibile pentru Linux. Exemple de programe pentru liste de pot
electronic sunt Mailman, Listserv, Majordomo i EZmlm. Consultai paginile web ale programului antivirus
favorit pentru informaii despre Linux i serviciile asigurate. Amavis i Spamassasin sunt implementri
gratuite ale unor scanere antivirus i antispam.

10.3.2.2. Servicii de mail la distan


Cele mai cunoscute protocoale pentru accesarea la distan a serviciilor de pot electronic sunt
POP3 i IMAP4. IMAP i POP permit operaiuni offline (n modul deconectat), accesul la distan la mesajele
noi i ambele se bazeaz pe serviciul SMTP pentru trimiterea de mesaje.
n timp ce POP este un protocol simplu, uor de implementat i acceptat de aproape orice client de
mail, este preferat IMAP deoarece:

poate administra etichete persistente ale statutului mesajelor.


poate stoca i aduce mesajele de pot electronic.
poate accesa i administra mai multe csue de pot electronic.
administreaz actualizri i csue de pot electronic comune.
poate fi folosit la accesarea mesajelor Usenet i a altor documente.
IMAP lucreaz att on-line, ct i deconectat.
este optimizat pentru obinerea unor performane maxime on-line, n special pentru reele de mic
vitez.

10.3.2.3. Clieni de pot electronic


Exist multe programe pentru pot electronic, att pentru mediul grafic, ct i pentru cel text; noi
vom arta pe cele mai cunoscute. Alegei-v favoritul.
Comanda mail din UNIX este prezent de ani buni, chiar nainte de existena reelelor. Ea este o
interfa simpl pentru trimiterea de mesaje i fiiere de mrime mic ctre ali utilizatori, care pot salva
aceste mesaje, le pot redireciona, rspunde, etc.
Cu toate c acest program nu mai este folosit drept client de mail n zilele noastre, el este totui
folositor, de exemplu pentru trimiterea ieirii unei comenzi:
mail <future.employer@whereIwant2work.com> < cv.txt
Cititorul de mesaje de pot electronic elm este o mbuntire de care mail avea nevoie, o astfel
de mbuntire fiind i pine (Pine Is Not ELM). Programul mutt este chiar mai recent i ofer faciliti noi.
Pentru acei utilizatori care prefer interfaa grafic pentru pota electronic exist sute de opiuni.
Cel mai apreciat program de utilizatorii noi este Mozilla Mail/Thunderbird, care dispune de o opiune anti
spam uor de configurat, i Evolution, clona programului MS Outlook. Kmail este apreciat de utilizatorii KDE.

153

Figura 10-1. Programul de pot electronic i citire a tirilor Evolution

Mai menionm existena aplicaiilor web pentru pot electronic, cum ar fi Squirrelmail, Yahoo!,
gmail de la Google i Hotmail.
O trecere n revist gsii la Linux Mail User HOWTO.
Cele mai multe distribuii de Linux includ fetchmail, un program de primire a mesajelor i de
naintare a acestora. El aduce mesaje de pe serverele de pot electronic (POP, IMAP i altele) i le pred
sistemului local de livrare. Putei apoi gestiona aceste mesaje prin intermediul clienilor normali de pot
electronic. Poate fi rulat n sistemul daemon pentru a sonda n mod repetat unul sau mai multe sisteme la
un interval specificat. Informaii i exemple de utilizare gsii n paginile Info; Directorul
/usr/share/doc/fetchmail [-<version>] conine lista complet a facilitilor i FAQ pentru
nceptori.
Filtrul procmail poate fi folosit la filtrarea mesajelor primite, la crearea listelor de mail, la preprocesarea mesajelor, la naintarea selectiv a mesajelor i la alte lucruri. Programul care l acompaniaz,
formail, printre altele, permite generarea automat a rspunsurilor i divizarea csuelor de pot
electronic. Procmail este folosit de mult vreme pe sistemele UNIX i Linux, fiind un program robust,
proiectat s lucreze i n cele mai rele circumsane. Gsii mai multe informaii n directorul
/usr/share/doc/procmail [-<version>]i n paginile manualelor.
O not privind eticheta (regulile de comportament) n cazul E-mail-ului
Anumii oameni cred azi c mesajele de pot electronic nu ar trebui s fie prea formale. Desigur,
acest lucru depinde de mai muli factori. Dac scriei cuiva pe care nu-l cunoatei, este bine s pstrai
distana, la fel cum ai proceda n cazul unei scrisori tradiionale. i nu uitai: oamenii pe care nu-i cunoatei
pot fi att brbai ct i femei...

154

10.3.3. Web
10.3.3.1. Serverul web Apache
Apache este , de departe, cel mai cunoscut server web, folosit pe mai mult de jumtate din
serverele de pe Internet. Cele mai multe distribuii de Linux includ Apache. Printre avantajele Apache se
numr alctuirea modular a acestuia, capabilitile SSL, stabilitatea i viteza. Cu echipamentele
corespunztoare i configurarea corect, poate suporta cele mai grele condiii de trafic.
Pe sistemele Linux, configurrile serverului sunt fcute n directorul /etc/httpd. Cel mai
important fiier de configurare este httpd. conf; este destul de explicit. Dac avei nevoie de ajutor,
putei cuta n maginile man ale httpd sau vizitai saitul Apache.

10.3.3.2. Navigatoare web


Exist numeroase navigatoare web, att libere i gratuire, ct i comerciale, pentru platformele
Linux. Netscape Navigator, ca singura opiune de luat n seam, este de domeniul trecutului, de cnd
Mozilla/Firefox ofer o alternativ competitiv pentru mai multe sisteme de operare, cum ar fi MS Windows i
MacOS X.
Amaya este un navigator W3C. Opera este un navigator comercial, compact i rapid. Muli
administratori de ecran pun la dispoziie faciliti de navigare pe web, ca nautilus.
Printre navigatoarele cunoscute din mediul text enumerm lynx i links. Trebuie s v definii
configurarea serverelor proxy n consol prin configurarea variabilelor adecvate. Navigatoarele text sunt
rapide i la ndemn atunci cnd nu este disponibil un mediu grafic, ca atunci cnd se folosesc n scripturi.

10.3.3.3. Servere proxy


10.3.3.3.1. Ce este un server proxy?
Companiile i organizaiile doresc ca utilizatorii lor s foloseasc un server proxy. n special n
mediile cu muli utilizatori, un server proxy poate mbunti ncrcarea paginilor web. Serverele proxy
stocheaz paginile web. n momentul n care un utilizator solicit o pagin web care a mai fost vizitat,
serverul va oferi acea pagin imediat utilizatorului, fr a mai fi nevoie de obinerea ei de pe Internet, ceea
ce ia mai mult timp. Desigur c se iau msuri ca serverul proxy s verifice i s furnizeze cea mai recent
versiune a paginii solicitate. n anumite medii, folosirea serverelor proxy este obligatorie, n altele poate fi la
alegerea dumneavoastr.

10.3.3.3.2. Configuraia proxy


Dac tii numele i portul serverului proxy, normal c trebuie s furnizai aceast informaie
navigatorului dumneavoastr. Totui, multe aplicaii (n linie de comand) depind de variabilele
http_proxy i ftp_proxy pentru ca ele s funcioneze corect. Pentru un comportament normal, trebuie
s adugai o linie asemntoare cu urmtoarea n fiierul ~/.bashrc:
export http_proxy=http://nume_utilizator:parol@nume_proxy_server:numr_port
De exemplu:
export http_proxy=http://willy:Appelsi3ntj3@proxy:80
Dac nu este necesar s furnizai un nume de utilizator i parol, nu introducei nimic nainte de
semnul @, semnul fiind necesar.

10.3.4. File Transfer Protocol (Protocolul pentru transferul de fiiere)


10.3.4.1. Servere FTP
Pe un sistem Linux, serviciul FTP este rulat din xinetd, folosind serviciul WU-ftpd, dei serviciul
155

FTP poate fi configurat ca un serviciu independent pe sistemele cu trafic FTP intens. Consultai exerciiile.
Serviciul FTP include, pe lng altele, vsftpd, Ncftpd i Proftpd.
Cele mai multe distribuii de Linux conin pachetul anonftp, care configureaz un server FTP
anonim i fiierele de configurare necesare.

10.3.4.2. Clieni FTP


Cele mai multe distribuii de Linux includ ncftp, o versiune mbuntit a comenzii UNIX ftp, pe
care este posibil s o cunoatei din linia de comand a Windows-ului. Programul ncftp ofer faciliti
suplimentare cum ar fi interfee mai prietenoase i mai stilizate, autocompletarea numelor fiierelor,
adugarea i reluarea anumitor funcii, semne de carte, administrarea sesiunilor i altele:

Paginile man sunt execelente, ele coninnd i multe exemple. Din nou, v spunem c sunt
disponibile i aplicaii grafice.
FTP nu este securizat!
Nu folosii Protocolul pentru transfer de fiiere (FTP) pentru conectri non-anonime, dect dac tii
ce facei. Numele dumneavoastr de utilizator i parola pot fi interceptate de ali utilizatori ai reelei! Folosii
n schimb FTP securizat; programul sftp este inclus n suita Secure SHell, consultai Seciunea 10.4.4.4.

10.3.5. Chat i conferin


Sunt disponibile mai multe sisteme i programe pentru fiecare distribuie, care nlocuiesc chat-ul
bazat pe stilul vechi al IRC. iat o list scurt i incomplet a celor mai folosite programe:

gaim: mesagerie instant multiprotocol pentru Linux, Windows i Mac, compatibil cu MSN

Messenger, ICQ, IRC i multe altele; Consultai paginile Info sau saitul Gaim pentru mai multe
informaii.
xchat: client IRC pentru sistemul de ferestre X (vezi Figura 19-2 de pe pagina care urmeaz).
Pagina programului se afl pe SourceForge.
aMSN: o clon a MSN.
Konversation, kopete, KVIrc i multe altele pentru suita KDE.
gnomemeeting: program de videoconferin pentru UNIX (acum cunoscut drept Ekiga).
jabber: platform de mesagerie instant Open Source, compatibil cu ICQ, AIM, Yahoo, MSN, IRC,
SMTP i altele.

156

Figura 19-2. X-Chat

psi: client jabber, consultai the PSI Jabber Client Homepage.


skype: program pentru convorbiri asemntoare celor telefonice, folosind Internetul, cu ali utilizatori

Skype. Consultai http://www.skype.com pentru mai multe informaii. Skype este gratuit, dar nu liber
(deschis).
Gizmo: un program gratuit (dar nu liber) de telefonie pentru calculatorul dumneavoastr, consultai
http://www.gizmoproject.com.

10.3.6. Servicii de tiri


Punerea pe picioare a unui serviciu Usenet implic mult experien i atenie la detaliile
configurrii, aa c v ndreptm ctre pagina INN pentru mai multe informaii.
Exist cteva grupuri de tiri interesante n ierarhia comp*, care pot fi accesate folosind mai multe
programe pentru mediul text sau grafic. Muli clieni de mail se pot descurca i cu administrarea grupurilor de
tiri, verificai aadar programul propriu sau cutai n saitul oglind local programe Open Source ca tin,
slrnn i mutt sau descrcai Mozilla ori alt client grafic.
Deja.com pstreaz o arhiv o tuturor grupurilor de tiri, susinut de Google. Este un instrument
excelent atunci cnd avei nevoie de ajutor: sunt foarte multe anse ca cineva s se fi confruntat cu aceeai
problem, s fi gsit i soluia, iar rspunsul s fie postat ntr-unul din grupurile de tiri.

10.3.7. The Domain Name System (Sistemul numelui de domenii)


Toate aceste aplicaii au nevoie de serviciile DNS pentru a potrivi adresele IP cu numele gazdelor
i invers. Un server DNS nu cunoate toate adresele de IP din lume, dar lucreaz n reea cu alte servere
DNS pe care le poate chestiona n legtur cu adrese necunoscute. Cele mai multe sisteme UNIX pot rula
named, care este o parte a pachetului BIND (Berkeley Internet Name Domain) distribuit de Internet Software
Consortium. Poate lucra ca un serviciu independent de server de nume, pentru a mbunti accesul la reea
pe sistemele Linux.

157

Fiierul principal de configurare este n /etc/resolv.conf, acesta determinnd ordinea n


care sunt contactate DNS-urile:

Mai

multe

informaii

pot

fi

gsite

paginile

Info

ale

named,

fiierul

/usr/share/doc/bind[-<version>] i la pagina Proiectului Bind. DNS HOWTO acoper utilizarea


BIND ca server DNS.

10.3.8. DHCP
DHCP este the Dynamic Host Configuration Protocol (Protocolul de configurare dinamic a
gazdei), care nlocuiete gradual btrnul bootp n mediile mari. Este folosit pentru controlarea parametrilor
vitali de reea, precum adrese de IP i serverele de nume ale gazdei. DHCP este compatibil retroactiv cu
bootp. Pentru configurarea serviciului, trebuie s citii HOWTO.
Calculatoarele client care folosesc DHCP sunt configurate de regul prin interfaa grafic care
configureaz dhcpcd, serviciul client DHCP. Verificai documentaia sistemului dac trebuie s configurai
calculatorul drept client DHCP.

10.3.9. Servicii de autentificare


10.3.9.1. Tradiionale
Tradiinal, utilizatorii sunt autentificai local, folosind informaiile stocate n /etc/passwd i
/etc/shadow, fiiere existente pe orice sistem. Chiar folosind un serviciu de reea pentru autentificare,
fiierele locale vor fi ntotdeauna prezente pentru a configura conturile sistemului pentru utilizarea
administrativ, precum conturile de root, serviciile care ruleaz pe anumite conturi i conturile create pentru
anumite programe sau scopuri.
Aceste fiiere sunt primele care sunt examinate de cineva care dorete s preia controlul asupra
calculatorului dumneavoastr, aa c asigurai-v c politica permisiunilor i a deintorilor este strict:

10.3.9.2. PAM
Linux-ul poate folosi PAM, The Pluggable Authentication Module, o metod flexibil de
autentificare pe sistemele UNIX.
Avantajele PAM:

Poate fi folosit o schem comun de autentificare pentru o gam larg de aplicaii.


PAM poate fi implementat pe multe aplicaii fr a fi necesar recompilarea aplicaiilor pentru a rula

cu PAM.
Administratorii i dezvoltatorii de programe se bucur de avantaje ca flexibilitatea i controlul
autentificrilor.
Dezvoltatorii nu trebuie s proiecteze un program pentru o anumit schem de autentificare. Ei se
pot concentra pe detaliile programului n sine.

Directorul /etc/pam.d conine fiierele de configurare ale PAM (nainte era /etc/pam.conf).
Fiecare aplicaie sau serviciu are propriul fiier. Oricare linie din fiier are patru elemente:

Module (Module):
auth: asigur autentificarea propriu-zis (poate prin solicitarea i verificarea unei parole)
i stabilete permisiunile, precum apartenena la un grup sau bilete Kerberos.
158

account: verific pentru a se asigura c accesul este permis pentru utilizator (contul nu a
expirat, utilizatorului i este permis s se autentifice la acel moment al zilei, etc.).
passwords: folosit pentru configurarea parolelor.
session: folosit dup ce un utilizator se autentific. Acest modul execut sarcini
adiionale de care este nevoie pentru permiterea accesului (de exemplu, montarea directorului
personal al utilizatorului sau punerea la dispoziie a csuei potale).
Ordinea n care sunt alturate modulele, n aa fel nct s fie folosite mai multe, este foarte
important.
Control Flags (Etichete de control): spune PAM ce aciuni s iniieze n caz de eec sau succes.
Valorile pot fi required, requisite, sufficient sau optional.
Module Path (Calea ctre modul): traseul ctre modulul care va fi folosit, de regul n
/lib/security.
Arguments (Argumente): informaii pentru module.
Fiierele /etc/shadow i /etc/passwd sunt detectate automat de PAM.
Mai multe informaii sunt disponibile n paginile man ale pam i pe pagina Proiectul Linux-PAM.

10.3.9.3. LDAP
Lightweight Directory Acces Protocol este un sistem client-server pentru accesarea unor directoare
de servicii globale sau locale prin intermediul reelei. Pe sistemele Linux, este folosit implementarea
OpenLDAP. Include slapd, un serviciu independent; slurpd, un server replicator independent; librriile care
implementeaz protocolul LDAP i o serie de utiliti, unelte i clieni.
Principalul beneficiu al utilizrii LDAP este securizarea anumitor tipuri de informaii n interiorul
organizaiei dumneavoastr. De exemplu, toate listele de utilizatori din organizaia dumneavoastr pot fi
integrate ntr-un director LAPD. Acest director poate fi apelat de toate aplicaiile pe care LAPD le permite i
care au nevoie de aceste informaii. Pot fi accesate i de utilizatorii care au nevoie de informaiile din
director.
Alte beneficii ale LAPD sau X.500 Lite includ uurina n implementare (comparat cu X.500) i
Application Programming Interface (API), ceea ce se traduce prin faptul c numrul aplicaiilor LAPD i
porile LAPD vor crete ca numr n viitor.
Ca minusuri, dac dorii s folosii LAPD, vei avea nevoie de aplicaii care s funcioneze cu acest
serviciu sau de abilitatea de a folosi porile LAPD. n timp ce folosirea LAPD se extinde, nu putem spune c
dispunem de multe aplicaii pentru Linux capabile s lucreze cu acest serviciu. De asemenea, cu toate c
LDAP dispune de un anume control al accesului, nu posed att de multe faciliti legate de securitate
precum X.500.
ntruct LDAP este un protocol deschis i configurabil, poate fi folosit la stocarea oricrui tip de
informaie legat de structura particular a unei organizaii. Exemple comune sunt bazele de date cu adrese
de pot electronic, autentificarea n combinaie cu PAM, bazele de date care conin numere de telefon i
bazele de date care conin fiierele de configurare ale sistemelor.
Consultai informaiile specifice sistemului dumneavoastr i paginile man ale comenzilor care au
legtur cu acest serviciu, cum ar fi ldapmodify i ldapsearch pentru mai multe detalii. Mai multe informaii
putei gsi n LDAP Linux HOWTO, care prezint instalarea, configurarea, rularea i ntreinerea unui server
LDAP pe sistemele Linux. Autoarea acestei introduceri n Linux a scris i LDAP Operation HOWTO, n care
sunt descrise lucrurile de baz pe care trebuie s le cunoasc oricine care are de-a face cu administrarea,
operarea i integrarea serviciilor LDAP.

10.4. Executarea la distan a aplicaiilor


10.4.1. Introducere
Exist mai multe moduri n care pot fi executate comenzi sau lansate programe pe calculatoare
aflate la distan i obinerea ieirilor acestora, n mod text sau grafic, pe staia dumneavoastr de lucru.
Conectarea poate fi securizat sau nu. Cu toate c v sftuim s folosii conexiuni securizate n loc s v
159

trimitei parola necriptat pe reea, vom discuta i unele aplicaii practice ale mecanismului mai vechi
(nesecurizat), ntruct acestea sunt nc folositoare n mediile reelelor moderne, cum ar fi rularea sau
repararea unor aplicaii exotice.

10.4.2. Rsh, rlogin i telnet


Comenzile rlogin i rsh pentru autentificarea i executarea la distan a comenzilor sunt
motenite din UNIX. Ele sunt folosite rareori pentru c sunt extrem de nesigure dar sint integrate n orice
sistem Linux pentru asigurarea compatibilitii retroactive cu programele UNIX.
Telnet, pe de alt parte, este nc folosit, adesea de ctre administratorii de sisteme sau reele.
Telnet este una din cele mai puternice unelte pentru accesarea la distan a fiierelor i pentru administrarea
la distan, permind conexiuni de oriunde exist Internet. Combinat cu un server X, aplicaii grafice de pe
un alt calculator pot fi afiate local. Nu este nici o diferen ntre a lucra local pe un calculator i folosirea
unui calculator aflat la distan.
Deoarece conexiunea nu este criptat, permiterea unei legturi telnet implic riscuri majore de
securitate. Pentru executarea normal a programelor la distan, v sftuim s folosii Secure SHell sau ssh.
Vom prezenta metoda sigur pe parcursul acestei seciuni.
Totui, telnet este folosit n multe cazuri. Mai jos sunt cteva exemple n care un server de mail i
unul de web sunt testate pentru rspunsuri:
Verificarea strii unui server de mail:

Verificarea unui server web din punct de vedere al rspunsului la cereri de baz:

160

Aceast procedur este sigur,deoarece nu a trebuit s furnizai un nume de utilizator i/sau o


parol pentru a obine datele pe care le dorii, aa c nimeni nu poate captura aceste informaii importante
din reea.

10.4.3. Sistemul X Window


10.4.3.1. Caracteristicile X
Dup cum am explicat deja n Capitolul 7 (consultai Seciunea 7.3.3), sistemul X Window include
un server X care se ocup de partea grafic pentru clienii care solicit afiajul.
Este important s facei distincia dintre serverul X i aplicaiile client ale acestuia. Serverul X
controleaz direct afiajul i este responsabil pentru toate intrrile i ieirile via tastatur, maus i ecran.
Clienii X, pe de alt parte, nu acceseaz dispozitivele de intrare/ieire n mod direct. Ei comunic cu
serverul X care gestioneaz intrrile i ieirile. Clienii X fac munca propriu-zis, precum calcularea valorilor,
rularea aplicaiilor i aa mai departe. Serverul X doar deschide ferestrele prin care se transmit intrrile i
ieirile pentru clientul specificat.
n operarea normal (mediul grafic), orice staie de lucru Linux este un server X pentru sine, chiar
dac ruleaz doar aplicaii client. Toate aplicaiile pe care le rulai (de exemplu, Gimp, o fereastr terminal,
navigatorul dumneavoastr, aplicaiile de birou, programul pentru redarea CD-urilor, etc.) sunt clieni ai
serverului X. Serverul i clienii, n acest caz, ruleaz pe aceeai main.
Natura client/server a sistemului X l transform ntr-un mediu ideal pentru execuia la distan a
aplicaiilor i programelor. Deoarece procesele sunt executate de fapt pe calculatorul aflat la distan, pe
gazda local sunt consumate puine resurse ale procesorului. Astfel de calculatoare, care lucreaz doar ca
server X, sunt numite terminale X i au fost foarte populare n trecut. Mai multe informaii putei gsi n
Remote application mini-HOWTO.

10.4.3.2. Telnet i X
Dac dorii s folosii telnet pentru a afia aplicaiile grafice care ruleaz pe un calculator aflat la
distan, primul lucru pe care trebuie s-l facei este s permitei calculatorului aflat la distan accesul la
afiajul dumneavoastr (la serverul X propriu!) prin folosirea comenzii xhost, introducnd o comand
similar celei de mai jos ntr-o fereastr terminal de pe calculatorul dumneavoastr:

Dup aceasta, conectai-v la calculatorul aflat la distan i spunei-i s afieze grafica pe


calculatorul dumneavoastr prin configurarea variabilei DISPLAY:

Dup parcurgerea acestei etape, orice aplicaie pornit n aceast fereastr terminal va fi afiat
pe calculatorul dumneavoastr, folosind resursele de calcul aflate la distan, dar resursele grafice proprii
(serverul X propriu) pentru afiarea aplicaiilor.
Aceast procedur pleac de la ipoteza c dispunei de o variant a serverului X (XFree86, X.org,
Exceed, Cygwin) instalat corespunztor pe calculatorul pe care dorii s afiai aplicaiile grafice. Arhitectura
i sistemul de operare ale calculatorului client nu sunt importante, att timp ct v permit s rulai un server
161

X pe acestea.
Reinei c afiarea unei ferestre terminal de pe un calculator aflat la distan este tratat ca
afiarea unei imagini.

10.4.4. Suita SSH


10.4.4.1. Introducere
Cele mai multe sisteme UNIX i Linux utilizeaz Secure SHell pentru a preveni riscurile de
securitate generate de telnet. Pe sistemele Linux vei gsi probabil o versiune a OpenSSH, implementarea
Open Source a protocolului SSH, care asigur comunicaii securizate criptate ntre calculatoare care
folosesc o reea nesigur. n configurarea standard conexiunile X sunt naintate automat, dar porturi arbitrare
TCP/IP pot fi de asemenea naintate, folosind un canal securizat.
Clientul ssh se conecteaz la gazda indicat. Utilizatorul trebuie s-i prezinte identitatea ctre
calculatorul aflat la distan i aceast identitate trebuie s corespund cu cea din fiierul de configurare
sshd_config, care poate fi gsit, n cele mai multe cazuri, n /etc/ssh. Fiierul de configurare este
destul de explicit i permite n configurarea implicit cele mai folosite faciliti. Dac avei nevoie de ajutor, l
putei gsi n paginile man sshd.
Dup ce identitatea utilizatorului a fost verificat i acceptat de server, acesta execut comanda
primit sau se conecteaz la calculator i ofer utilizatorului o consol normal pe calculatorul aflat la
distan. Toate comunicaiile, comenzi pentru aplicaiile la distan sau pentru consol, vor fi criptate
automat. Sesiunea este nchis atunci cnd comenzile sau consola de pe calculatorul aflat la distan sunt
terminate i toate conexiunile X11 i TCP/IP sunt nchise.
Cnd v conectai pentru prima dat la o gazd, folosind oricare din programele care sunt incluse
n colecia SSH, trebuie s stabilii autenticitatea acelei gazde la care dorii s v conectai:

Este important s tastai yes, toate cele trei caractere, nu doar y. Prin aceasta se modific
fiierul ~/.ssh/known_hosts, consultai Seciunea 10.4.4.3.
Dac dorii doar s verificai ceva pe calculatorul aflat la distan i apoi s v rentoarcei la
calculatorul dumneavoastr, putei introduce comanda pe care dorii s o executai la distan ca argument
pentru ssh:

10.4.4.2. naintarea conexiunilor X11 i TCP


Dac este configurat pe yes intrarea X11Forwarding pe calculatorul int i utilizatorul
folosete aplicaii X, variabila de mediu DISPLAY fiind configurat, conexiunea cu serverul X este automat
naintat ctre partea aflat la distan astfel nct orice program X11 pornit din consol va parcurge canalul
criptat, iar conexiunea cu serverul X real va fi fcut de la calculatorul local. Utilizatorul nu trebuie s
162

configureze manual variabila DISPLAY. naintarea conexiunilor X11 poate fi configurat din linia de
comand sau prin fiierul de configurare sshd.
Valoarea pentru DISPLAY configurat prin ssh va inti ctre calculatorul server, dar cu un numr
de afiaje mai mare de 0. Acest lucru este normal i apare pentru c ssh creaz un server X proxy pe
calculatorul server (care ruleaz aplicaiile client X) pentru naintarea conexiunilor pe canalul criptat.
Totul se face automat, aa nct atunci cnd tastai numele unei aplicaii grafice, este afiat pe
calculatorul dumneavoastr i nu pe calculatorul aflat la distan. Noi utilizm xclock n exemplul care
urmeaz, ntruct este un program mic, n general instalat pe toate sistemele Linux, ideal pentru astfel de
teste.
Figura 10-3. SSH X11 forwarding

SSH va configura automat i datele Xauthority de pe calculatorul server. n acest scop, va genera
la ntmplare un cookie de autorizare, pstrat n fiieul Xauthority de pe server i va verifica dac fiecare
conexiune naintat poart acest cookie pe care-l va nlocui cu cel real n momentul n care conexiunea este
deschis. Cookie-ul real de autentificare nu este trimis niciodat calculatorului server (dup cum nici un fiier
cookie nu este trimis n clar).
Serverul X
Procedura de mai sus pornete de la prezumia c avei configurat un server X pe calculatorul pe
care dorii s afiai o aplicaie de pe calculatorul aflat la distan. Clientul poate avea o arhitectur diferit i
un alt sistem de operare att timp ct poate rula un server X, cum ar fi Cygwin (care implementeaz un
server X.org pentru clienii MS Windows i nu numai) sau Exceed, fiind astfel posibil realizarea unei
conexiuni la distan cu orice calculator care ruleaz UNIX sau Linux.

10.4.4.3. Autentificarea la server


Sistemul client/server ssh menine i verific o baz de date care conine identificarea tuturor
gazdelor care au fost folosite. Cheile gazdelor sunt pstrate n $HOME/.ssh/known_hosts aflat n
163

directorul personal al utilizatorului. n plus, fiierul /etc/ssh/ssh_known_hosts este verificat automat


n vederea comparrii cu gazdele cunoscute. Orice gazd nou este adugat automat n fiierul
utilizatorului. Dac identitatea unei gazde se schimb la un moment dat, ssh emite un avertisment i
dezactiveaz autentificarea prin parol pentru a preveni ca vreun Troian s se foloseasc de acea parol. Alt
scop al acestui mecanism este prevenirea atacurilor man-in-the middle, care pot fi folosite la scurtcircuitarea
criptrii. n mediile care necesit standarde ridicate de securitate, sshd poate fi configurat s nu permit
conectarea la calculatoarele ale cror chei au fost schimbate sau nu sunt cunoscute.

10.4.4.4. Copierea securizat la distan.


Colecia SSH include comanda scp ca alternativ sigur a comenzii folosite extensiv n trecut, rcp,
cnd exista doar rsh. scp folosete ssh pentru transferul de date, utilizeaz aceeai autentificare i asigur
aceeai securitate ca ssh. Spre deosebire de rcp, scp va cere parolele sau propoziiile de control dac ele
sunt cerute pentru autentificare:

Orice nume de fiier poate conine specificaii despre gazd i utilizatori pentru a indica faptul c
fiierul este destinat copierii de pe/ctre acea gazd. Este permis copierea n cazul a dou gazde aflate la
distan. Consultai paginile Info pentru mai multe informaii.
Dac folosii mai des o interfa asemntoare FTP, utilizai sftp:

Copii securizate sau interfee grafice FTP


Nu v simii nc n largul dumneavoastr n mediul liniei de comand? ncercai capabilitile
Konqueror legate de copierea securizat la distan sau instalai Putty.

10.4.4.5. Cheile de autentificare


Comanda ssh-keygen genereaz, administreaz i convertete cheile de autentificare pentru ssh.
Poate genera chei RSA pentru folosirea cu protocolul SSH versiunea 1 i chei RSA sau DSA pentru
protocolul SSH versiunea 2.
n mod normal, orice utilizator care dorete s foloseasc SSH cu autentificare RSA sau DSA
ruleaz aceast comand mcar odat pentru a genera chei de autentificare n $HOME/.ssh/identity,
id_dsa sau id_rsa. n plus, administratorul de sistem poate utiliza aceast comand pentru generarea
cheilor de gazd pentru sistem.
Acest program genereaz cheile i solicit un fiier n care s stocheze cheile private. Cheia
public este pstrat ntr-un fiier cu acelai nume dar cu terminaia .pub. Programul solicit i o propoziie
de control. Cmpul pentru propoziia de control poate fi lsat gol, ceea ce nseamn c ea nu exist (cheile
gazdei trebuie s nu aib propoziie de control) sau poate conine un ir de o lungime arbitrar.
Nu exist nici o modalitate de a recupera o propoziie de control (parol) pierdut. Dac propoziia
de control este pierdut sau uitat, trebuie s generai o cheie nou i s o copiai n cheia public
164

corespondent.
Vom studia cheile SSH prin exerciii. Toate informaiile de care avei nevoie pot fi gsite n paginile
man sau Info.

10.4.5. VNC
VNC sau Virtual Network Computing este de fapt un sistem de afiare la distan care permite
vizualizarea unui spaiu de lucru (desktop environment) nu doar pe calculatorul local, ci oriunde pe Internet,
pe o mare varietate de sisteme i arhitecturi, inclusiv MS Windows i cteva distribuii UNIX. Putei, de
exemplu, s rulai MS Word pe un sistem Windows NT i s afiai ieirea pe un spaiu de lucru Linux. VNC
asigur att serverele ct i clienii, aa c funcioneaz i invers, adic permite afiarea programelor Linux
pe clieni Windows. VNC este, probabil, cea mai uoar cale prin care putei avea conexiuni X pe
calculatorul dumneavoastr. Urmtoarele caracteristici fac ca VNC s fie diferit de un server X normal sau
de implementrile comerciale:

Nu este stocat nimic pe calculatorul pe care se afieaz: putei prsi staia de lucru curent i v

putei relua lucrul de la alt calculator, din punctul n care ai rmas. Cnd rulai un server X pe un
calculator i acesta nghea sau este repornit, toate aplicaiile la distan pe care le rulai vor fi
terminate. Cu VNC, acestea vor continua s ruleze.
Este mic i simplu, nu necesit instalare, poate rula de pe o dischet dac este nevoie.
Cu clientul Java este independent de platforma folosit, rulnd pe orice accept X.
Este divizibil: un spaiu de lucru poate fi afiat pe mai multe calculatoare.
Este liber i gratuit.
Mai multe informaii putei gsi n paginile man ale VNC (man vncviewer) sau pe saitul VNC.

10.4.6. Protocolul rdesktop


Pentru a permite administrarea calculatoarelor care ruleaz MS Windows, distribuiile recente de
Linux integreaz Remote Desktop Protocol (RDP), care este implementat n clientul rdesktop. Protocolul
este folosit de anumite produse Microsoft, inclusiv Windows NT Terminal Server, Windows 2000 Server,
Windows XP i Windows 2003 Server.
Surprindei-v prietenii (sau efii) cu modul pe tot ecranul, diversele tipuri ale aspectului tastaturii
i modul single application, identice cu cele din implementarea original. Comanda man rdesktop v
ofer mai multe informaii. Pagina de Internet a proiectului o gsii la http://www.rdesktop.org/.

10.4.7. Cygwin
Cygwin asigur multe din funcionalitile UNIX pe sistemele MS Windows. n afar de a permite
funcionarea uneltelor liniei de comand i a aplicaiilor grafice specifice UNIX-ului, poate fi folosit la afiarea
unui spaiu de lucru Linux pe sistemele MS Windows, prin utilizarea la distan a serverului X. ntr-o consol
Cygwin Bash tastai:
/usr/X11R6/bin/XWin.exe -query numele_calculatorului_dumneavoastr_sau_IP
Conexiunea este respins n configurarea implicit. Trebuie s modificai configuraia X Display
Manager (XDM) i, posibil, configuraia X Font Server (XFS) pentru permiterea acestui tip de conexiune, n
care primii un ecran de autentificare pe calculatorul aflat la distan. n funcie de administratorul spaiului
dumneavoastr de lucru (Gnome, KDE sau altul), pot fi necesare modificri i n alte fiiere de configurare.
Dac nu avei nevoie de afiarea spaiului de lucru n ntregime, putei utiliza SSH n Cygwin, exact
n modul prezentat n Seciunea 10.4.4 fr s v deranjai a mai edita fiiere de configurare.

165

10.5. Securitate
10.5.1. Introducere
Imediat ce un calculator este conectat la o reea, devin posibile tot felul de agresiuni, fie c vorbim
despre un sistem bazat pe UNIX sau oricare altul. Cunoatem c pe aceast tem au fost scrise extraordinar
de multe lucrri i nu ne facem un scop n sine din discutarea n detaliu a subiectului securitii. Sunt ns
cteva chestii logice, de baz, prin care un utilizator, novice chiar, poate obine un sistem mai sigur,
deoarece majoritatea intruziunilor sunt posibile din cauza utilizatorilor neglijeni sau ignorani.
V ntrebai poate dac aceste consideraii se aplic i n cazul dumneavoastr, care folosii un
calculator acas sau la serviciu, ntr-un mediu cu un grad mai mare de securizare. ntrebrile la care trebuie
s rspundei sunt mai degrab urmtoarele:

Vrei s avei controlul asupra sistemului dumneavoastr?


Vrei s participai (fr voie) n activiti incriminate penal?
Vrei ca echipamentele dumneavoastr s fie folosite de altcineva?
V asumai riscul pierderii conexiunii la Internet?
Vrei s v reinstalai sistemul de fiecare dat cnd suntei victima unui atac?
Suntei dispus s pierdei date personale sau alt fel de date importante pentru dumneavoastr?

Noi presupunem c nu dorii ca aceste lucruri s devin realitate, aa c v prezentm o list cu


msurile pe care le putei lua pentru ntrirea securitii sistemului dumneavoastr. Informaii pe larg putei
gsi n Linux Security HOWTO.

10.5.2. Serviciile
Scopul nostru este rularea a ct mai puine servicii. Dac numrul porturilor care sunt deschise
pentru lumea exterioar este meninut la minim, putei supraveghea mai uor mediul sistemului. n cazurile n
care serviciile nu pot fi oprite pentru reeaua local, ncercai ca ele s nu fie disponibile pentru conexiunile
exterioare.
O metod empiric spune c dac nu recunoatei un serviciu anume, sunt multe anse ca acest
serviciu s nu fie necesar. De asemenea, anumite servicii nu trebuie neaprat s fie folosite pe Internet. Nu
v bazai pe ce ar trebui s ruleze, ci verificai care sunt serviciile care ascult i pe ce porturi TCP, folosind
comanda netstat:

Lucruri pe care trebuie s le evitai:

exec, rlogin i rsh i telnet pentru a nu pune la ndemna atacatorilor diverse oportuniti.
X11 pe calculatoarele server.
Nu folosii lp dac nu exist nici o imprimant legat la sistem.
Dac nu exist n reea calculatoare care ruleaz MS Windows, nu avei nevoie de Samba.
Nu permitei FTP dect dac este solicitat un serviciu FTP.
Nu permitei NFS i NIS pe Internet, dezactivai toate serviciile care au legtur cu acestea pe
calculatoarele independente.
Nu rulai MTA dac nu suntei un server de mail.
166

...
Oprii serviciile prin comanda chkconfig, scripturile de iniializare sau prin editarea fiierelor de
configurare (x)inetd.

10.5.3. Actualizai regulat


Abilitatea de a se adapta rapid la un mediu n schimbare este ceea ce face ca Linux-ul s fie din ce
n ce mai atractiv. Dar apare i posibilitatea ca actualizri de securitate s fie disponibile chiar n momentul
n care instalai o versiune nou-nou, aa c primul lucru pe care trebuie s-l facei (i este valabil pentru
orice fel de sistem de operare) dup instalare este cutarea actualizrilor. Dup aceasta, actualizai toate
pachetele pe care le utilizai (regulat).
Anumite actualizri pot cere fiiere noi de configurare, n acest caz fiierele vechi fiind nlocuite.
Verificai documentaia pentru a v asigura c totul merge bine i dup actualizare.

10.5.4. Firewall-uri i politicile de acces


10.5.4.1. Ce este un firewall?
n seciunea precedent am adus vorba despre posibilitatea configurrii ca firewall a unui sistem
Linux. Cu toate c administrarea firewall-ului este o sarcin pentru administratorul de reea, trebuie s
cunoatei cteva lucruri despre acesta.
Firewall este un termen vag, care poate desemna orice lucru care se comport ca o barier
protectiv ntre noi i lumea exterioar, n general Internetul. Firewall poate fi att un sistem dedicat ct i o
aplicaie care asigur aceast funcionalitate. Poate fi o combinaie a acestora, incluznd o sum de
dispozitive i programe. Firewall-urile sunt cldite pe reguli care sunt utilizate pentru definirea a ceea ce
este permis a intra i/sau iei dintr-un sistem dat sau reea.
Dup ntreruperea serviciilor care nu v sunt necesare, trebuie s restricionai serviciile permise
pentru a reduce la minim numrul conexiunilor necesare. Un bun exemplu este cazul n care lucrai acas:
doar conexiunea dintre biroul dumneavoastr i calculatorul de acas trebuie permis, noi recomandndu-v
interzicerea conexiunile cu celelalte calculatoare de pe Internet.

10.5.4.2. Filtrele de pachete


Prima linie de aprare este constituit din filtrele de pachete, care pot cuta n interiorul pachetelor
IP dup care iau o decizie n funcie de coninutul acestora. Cel mai ntlnit este pachetul Netfilter, care
conine comenzile pentru iptables, filtrul de pachete de nou generaie pentru Linux.
Una din cele mai notabile mbuntiri din kerenelele noi este capabilitatea stateful inspection care
nu doar c spune ce este n interiorul unui pachet, dar poate spune i dac pachetul aparine sau este n
legtur cu o conexiune nou sau existent. Shoreline Firewall sau, pe scurt, Shorewall, este interfaa pentru
firewall-ul Linux-ului (n ultima vreme se folosete Firestarter ca interfa grafic pentru iptables sau , chiar
mai recent, ufwn.t.).
Mai multe informaii pot fi gsite la pagina proiectului Netfilter/iptables.

10.5.4.3. TCP wrappers


TCP wrapping-ul asigur, n general, aceleai rezultate ca filtrarea pachetelor, dar lucreaz n alt
mod. ncercarea de realizare a unei conexiuni este acceptat, apoi sunt examinate fiierele de configurare,
hotrndu-se astfel acceptarea sau respingerea cererii de conectare. Controleaz conexiunile la nivel de
aplicaii i nu la nivelul reelei.
Se folosete de regul cu xinetd pentru a furniza numele gazdei i controlul accesului pe baza
adresei de IP. n plus, aceste unelte dein posibiliti de administrare a autentificrilor uor de configurat i
sunt accesibile n utilizare.
Dou din avantaje: calculatorul care se conecteaz nu are de unde ti c acest wrapper este
utilizat i serviciul opereaz separat de aplicaiile pe care le protejeaz.

167

Accesul este controlat prin fiierele hosts.allow i hosts.deny. Fiierele urmtoare conin
documentaia suplimentar la care dorii eventual s apelai: /usr/share/doc/tcp_wrappers[<version>/] i /usr/share/doc/tcp. Paginile man care trateaz fiierele de control al accesului
bazat pe gazde ofer i exemple pe care le putei studia.

10.5.4.4. Proxy
Serverele proxy pot ndeplini multe sarcini, nu toate avnd legtur cu securitatea. Dar faptul c
acestea sunt, n esen, intermediari, face ca ele s fie un nod n care s se implementeze politici de control
al accesului, de limitri ale conexiunilor directe prin intermediul unui firewall i s se configureze modul n
care reeaua din spatele serverului proxy acceseaz Internetul.
De regul n combinaie cu un filtru de pachete, i cteodat doar prin ele nsele, serverele proxy
asigur un nivel n plus de control. Mai multe informaii gsii n Firewall HOWTO sau pe saitul Squid.

10.5.4.5. Accesarea aplicaiilor individuale


Anumite servicii pot avea propriile metode de control al accesului. Exemple la ndemn sunt
Samba, X Window, Bind, Apache i CUPS. Verificai ce fiiere de configurare dicteaz comportamentul
fiecrui serviciu n parte.

10.5.4.6. Fiierele jurnal


Mai mult dect orice altceva, stilul UNIX prin care se consemneaz tot felul de activiti n anumite
tipuri de fiiere, ne confirm c se face ceva. Fiierele jurnal ar trebui verificate regulat, manual sau
automat. Firewall-urile i alte mijloace de control al accesului tind s creeze fiiere jurnal mari, aa c v
sftuim s ncercai determinarea jurnalizrii doar a evenimentelor anormale.

10.5.5. Detectarea intruziunilor


Intrusion Detection System (Sistemul pentru detectarea intruziunilor) este proiectat s semnaleze
toate ameninrile care au trecut prin firewall. Poate s surprind o activitate de ptrundere n desfurare
sau s detecteze o ptrundere reuit dup realizarea acesteia. n acest din urm caz este prea trziu s v
gndii la prevenirea pagubelor, dar, cel puin, suntei avertizat din vreme asupra problemei. Exist dou
tipuri IDS de baz: cele care protejeaz reele i cele care protejeaz calculatoare individuale.
n cazul IDS-urilor care pun accentul pe gazde, sunt folosite utiliti care monitorizeaz sistemul de
fiiere, n cutarea modificrilor aprute. Fiierele de sistem care au suferit schimbri care nu ar trebui s
apar sunt un indiciu c ceva nu este n ordine. Oricine ar ptrunde n sistem i ar obine acces la contul de
root va determina o modificare undeva n sistem. De obicei este primul lucru pe care l-ar face un intrus,
pentru a putea folosi apoi o poart de intrare sau pentru a lansa un atac asupra altcuiva; n ambele cazuri se
aduc modificri sau adugiri fiierelor de sistem. Anumite sisteme includ pachetul de monitorizare a
sistemului tripwire, a crui documentaie o gsii pe saitul Tripwire Open Source Project.
Detectarea intruziunilor n reea este realizat printr-un sistem care analizeaz traficul care trece
prin firewall (nu scannere de porturi, la care porturile reacioneaz). Snort este un exemplu de astfel de
progarm Open Source. Whitehats.com furnizeaz o baz de date deschis Intrusion detection, arachNIDS.

10.5.6. Mai multe sfaturi


Iat cteva lucruri bine de inut minte:

Nu v autentificai ca administrator dac nu avei treab. Dezvoltatorii UNIX au nscocit acum mai
bine de douzeci de ani su pentru ntrirea securitii.

Accesul direct ca root este ntotdeauna periculos i permite erori umane, aa c folosii comanda susau autentificai-v pe un cont separat de administrator cnd este nevoie. Mult mai bine din punct de
vedere al securitii este folosirea comenzii sudo pentru executarea acelor comenzi care necesit
privilegii speciale, ceea ce v ofer o perioad limitat de aciune ca administrator, dup care se
168

revine automat la mediul normal de lucru.


Luai n serios parolele. Folosii parole criptate. Schimbai-v parola regulat.
ncercai s folosii ntotdeauna SSH sau SSL. Evitai telnet, FTP i clienii de e-mail precum i alte
programe client care trimit parole n clar pe reea. Securitate nu nseamn doar securizarea
calculatorului, ci i securizarea parolelor dumneavoastr.
Limitai resursele sistemului prin folosirea quota sau/i ulimit.
Mesajele pentru root trebuie livrate, sau mcar citite de, ctre o persoan, nu ctre un sistem
automat.
Institutul SANS v ofer mai multe sfaturi, sortate n funcie de distribuie, printr-un serviciu de pot
electronic (liste de mail).
Verificai sursa programelor noi, luai-le dintr-un loc sau sait de ncredere. Verificai pachetele noi
nainte de instalare.
Dac folosii o conexiune la Internet temporar, nchidei-o imediat ce nu mai avei nevoie de
aceasta.
Rulai serviciile de care avei nevoie pe porturi aleatorii, n loc s folosii porturile obinuite,
cunoscute de hackeri.
Cunoatei-v sistemul. Dup o vreme, putei chiar simi c se ntmpl ceva aiurea.

10.5.7. Am fost victima unui atac?


Cum putei afla? Iat o list cu evenimente care ar trebui s v dea de gndit:

Porturi misterioase deschise, procese ciudate.


Utiliti de sistem (comenzi obinuite) care se comport straniu.
Probleme de autentificare.
Consumarea inexplicabil a limii de band.
Fiiere raport alterate sau lips, comportament ciudat al serviciului de raportare a activitii
sistemului.
Interfeele sunt afiate n moduri neobinuite.
Modificri neateptate ale fiierelor de configurare.
Intrri stranii n fiierele care pstreaz activitatea (istoricul) consolei.
Fiiere temporare neidentificate.

10.5.8. Refacerea de pe urma unei intruziuni


Pe scurt, fii calmi. Apoi acionai n ordinea de mai jos:

Deconectai calculatorul de la reea.


ncercai s aflai ct de multe putei despre modul n care v-a fost compromis securitatea.
Facei copii de siguran ale fiierelor, datelor importante, ce nu in de sistem. Dac este posibil,

verificai aceste date cu datele pstrate drept copii de siguran, fcute nainte ca sistemul s fie
compromis, pentru a v asigura de integritatea acestora.
Reinstalai sistemul.
Folosii parole noi.
Restaurai datele folosind copiile de siguran.
Actualizai sistemul.
Reexaminai sistemul: blocai serviciile care nu v sunt necesare, verificai regulile firewall-ului i
politicile de acces.
Conectai-v din nou la Internet.

169

10.6. Sumar
Linux-ul este conceput special pentru a lucra n reea. Kernelul acestui sistem de operare
integreaz protocoalele folosite n mod obinuit dar i unele din cele mai specifice. Uneltele standard de
reea ale UNIX-ului sunt prezente n orice distribuie. Pe lng acestea, cele mai multe distribuii ofer unelte
care v ajut la instalarea i administrarea reelelor.
Linux-ul este renumit ca platform stabil pe care ruleaz numeroase servicii de Internet, numrul
programelor disponibile pe Internet fiind uria. Precum UNIX-ul, putei folosi i administra un sistem Linux de
la distan, folosind una din soluiile care asigur executarea la distan a programelor.
Subiectul securitii a fost atins n treact. Linux-ul este alegerea ideal pentru utilizarea ca firewall,
o soluie ieftin i la ndemn, dar poate fi folosit n alte cteva funcii de reea, cum ar fi routere i servere
proxy.
ntrirea securitii unei reele se face prin aplicarea frecvent a actualizrilor i prin folosirea
bunului-sim.
Iat o trecere n revist a unor comenzi legate de reelistic:
Tabelul 10-2. Comenzi noi n Capitolul 10: Reelistica

Comanda

nelesul comenzii

ftp

Transfer fiierele ctre alt calculator (nesecurizat).

host

Afieaz informaii despre calculatoarele din reea.

ifconfig

Afieaz informaii despre adresa de IP.

ip

Afieaz informaii despre adresa de IP.

netstat

Afieaz informaii despre rutare i statistici de reea.

ping

Trimite cereri de rspuns ctre alte calculatoare.

rdesktop

Afieaz un spaiu de lucru MS Windows pe sistemele Linux.

route

Arat informaiile legate de rutare.

scp

Copiere securizat a fiierelor de la i ctre alt calculator.

sftp

Transmitere securizat de fiiere ctre i de la un alt calculator.

ssh

Conexiune securizat cu alt calculator.

ssh-keygen

Genereaz chei de autentificare pentru Secure SHell.

telnet

Realizeaz o conexiune nesecurizat cu alt calculator.

tracepath/traceroute Afieaz ruta pe care o urmeaz pachetele ctre alt calculator.


whois

Obine informaii despre un nume de domeniu.

xclock

Aplicaie X Window, ideal pentru testarea unei conexiuni la distan.

xhost

Unealt de control al accesului pentru X Window.

10.7. Exerciii
10.7.1. Generaliti despre reelistic
Afiai informaiile despre reea n cazul staiei dumneavoastr de lucru: adresa de IP, rutrile,

numele serverelor de domenii.


S presupunem c nu este disponibil nici un DNS. Ce putei face pentru a accesa un calculator din
reea fr a introduce adresa de IP tot timpul?
Cum putei stoca permanent informaiile serverului proxy pentru un navigator n modul text, cum ar fi
links?
Ce nume de server opereaz domeniul redhat.com?

170

Trimitei un mesaj de pot electronic contului dumneavoastr local. ncercai dou metode de

trimitere i de citire. Cum putei verifica dac l-ai primit?


Calculatorul dumneavoastr accept conexiuni FTP anonime? Cum folosii programul ncftp pentru
autentificarea cu numele dumneavoastr de utilizator i parol?
Calculatorul dumneavoastr ruleaz un server web? Dac nu, facei-o. Verificai fiierele jurnal!

10.7.2. Conexiuni la distan


De la staia dumneavoastr de lucru, afiai o aplicaie grafic, cum ar fi xclock, pe ecranul unui alt
calculator. Conturile de care avei nevoie trebuie configurate. Folosii o conexiune securizat!

Configurai cheile SSH pentru a v putea conecta la un alt calculator fr a avea nevoie de o parol.
Facei o copie de rezerv a directorului dumneavoastr personal n directorul /var/temp al celuilalt
calculator, pe care-l folosii ca server pentru copii de siguran, utiliznd scp. Arhivai i comprimai
datele nainte de transfer! Conectai-v la distan folosind ssh, despachetai copia de siguran i
trimitei un fiier napoi la calculatorul dumneavoastr folosind sftp.

10.7.3. Securitate
Facei o list cu toate porturile deschise (care ascult) de pe calculatorul dumneavoastr.
S presupunem c dprii s rulai un server web. Ce servicii ai dezactiva? De ce ai face acest
lucru?

Instalai actualizrile disponibile.


Cum putei vedea cine s-a conectat la calculatorul dumneavoastr?
Creai o sarcin repetitiv care s v reaminteasc s v schimbai parola de utilizator n fiecare
lun, i pe cea de root, de asemenea.

171

Capitolul 11. Sunet i video


Acest capitol trateaz urmtoarele (pe scurt, ntruct domeniul audio i video este foarte larg):

Configurarea plcii de sunet


Redarea CD-urilor, copierea CD-urilor
Redarea fiierelor de muzic
Controlul volumului
Video i televiziune
nregistrare de sunet

11.1. Generaliti despre domeniul audio


11.1.1. Instalare
De regul, sistemul are instalate drivere (module de nucleu) audio iar configurarea a fost fcut la
momentul instalrii. Dac dorii s v schimbai echipamentul audio, cele mai multe sisteme asigur unelte
care v permit instalarea i configurarea fr probleme a acestui tip de dispozitive. Cele mai recente plci de
sunet cu capabiliti plug-and-play ar trebui s fie recunoscute automat. Dac auzii mostrele de sunet care
sunt redate pe parcursul instalrii, apsai OK i totul va fi configurat automat.
Dac placa de sunet nu este detectat automat, va fi prezentat o list care conine tipurile de plci
de sunet i/sau proprietile acestora, din care putei alege. Dup aceea, trebuie s furnizai portul I/O
corect, configurrile IRQ i DMA. Informaii despre aceste configurri gsii n documentaia plcii de sunet.
Dac folosii un sistem dual-boot care include i MS Windows, putei gsi informaiile n Panoul de control al
acestui sistem de operare.
Dac detectarea automat a plcii de sunet eueaz
Dac placa de sunet nu este recunoscut implicit de sistem, trebuie s apelai la alte tehnici.
Acestea sunt descrise n Linux Sound HOWTO.

11.1.2. Drivere i arhitecturi


Exist, n general, dou tipuri de arhitectur de sunet: mai vechiul Open Sound System sau OSS,
care merge cu orice sistem bazat pe UNIX, i mai noul Advanced Linux Sound Arhitecture sau ALSA, care
lucreaz mai bine cu Linux-ul, dup cum sugereaz i numele. ALSA include mai multe faciliti i permite
dezvoltarea mai rapid a driverelor. Ne vom axa pe sistemul ALSA.
Aproape toate procesoarele audio mai des folosite lucreaz cu ALSA. Doar anumite soluii
profesionale din segmentul de vrf i anumite plci de sunet dezvoltate de fabricani care refuz s pun la
dispoziie documentaia procesoarelor pe care le utilizeaz nu sunt compatibile. O trecere n revist a
dispozitivelor pentru care exist suport poate fi gsit pe saitul ALSA, la http://www.alsa-project.org/alsa-doc/
index.php?vendor=All#matrix.
Configurarea sistemelor instalate cu ALSA se face prin unealta alsaconf. n plus, anumite
distribuii asigur unelte proprii pentru configurarea plcii de sunet; acestea pot integra att calea mai veche
ct i pe cea nou pentru administrarea dispozitivelor de sunet.

11.2. Redarea sunetului i a fiierelor video


11.2.1. Redarea i copierea CD-urilor
Pachetul cdp este inclus n aproape orice distribuie i asigur cdp sau cdplay, un player CD n
modul text. Administratorii de ecran includ o unealt grafic, cum ar fi gnome-cd player n Gnome, care
poate fi pornit din meniul grafic.
Trebuie s nelegei diferena dintre un CD audio i unul care conine date. Nu trebuie s montai
n sistemul de fiiere un CD audio pentru a-l asculta. Asta deoarece datele de pe astfel de CD-uri nu sunt
172

fiiere de sistem proprii Linux-ului; ele sunt accesate i trimise pe canalul de ieire audio direct, folosind un
program de redare pentru CD-uri audio. Dac vorbim despre un CD care conine fiiere .mp3, trebuie ca s
montai acest CD n sistemul de fiiere, apoi s utilizai unul din programele pe care le vom discuta mai jos
pentru a reda muzica nregistrat pe acest disc. Am discutat n Seciunea 7.5.5 despre montarea CD-urilor n
sistemul de fiiere.
Unealta cdparanoia din pachetul cu acelai nume citete formatul audio direct de pe CD ca date,
fr conversie analog, i scrie datele ntr-un fiier sau le livreaz ntr-un alt format, dintre care mai folosit
este .waw. Cele mai multe distribuii includ diferite unelte de conversie a formatelor, de exemplu n . mp3,
sau pun la dispoziie pachete de programe, pe Internet, pentru aceste sarcini. Proiectul GNU furnizeaz
cteva playere programe pentru redarea CD-urilor, extragere de fiiere audio i unelte de conversie a
formatelor, precum i administratori de baze de date pentru fiierele audio; consultai Free Software, Audio
Section pentru informaii detaliate.
Crearea de CD-uri audio se face mai uor, printre multe altele, cu unealta kaudiocreator din suita
KDE. Informaii clare sunt coninute de KDE Help Center (Centrul de ajutor KDE).
Scrierea CD-urilor a fost tratat n Seciunea 9.2.2.

11.2.2. Redarea fiierelor audio


11.2.2.1. Fiierele .mp3
Formatul .mp3 este citit de sistemele Linux. Cele mai multe distribuii includ numeroase programe
care pot reda aceste fiiere. Printre multe altele, XMMS, prezentat n imaginea de mai jos, este mai apreciat,
n parte datorit aspectului asemntor cu programul Winamp din Windows.
Figura 11-1. Programul de redare a fiierelor muzicale XMMS

Foarte utilizate sunt i aplicaia KDE Amarok, care ctig constant popularitate, i MPlayer, care,
n plus, poate reda fiiere video.
Restricii
Anumite distribuii nu permit redarea fiierelor MP3 fr modificarea configuraiei, din cauza
restriciilor de liceniere a formatului MP3. Va fi nevoie de instalarea unor programe n plus pentru a reui
redarea acestui format.
Este i cazul distribuiei Ubuntu, care, n instalarea standard, nu red acest format. Trebuie s
activai arhivele de programe universe i multiverse pentru a instala pachetele adiionale ubuntu-restrictedextras care se ocup, printre altele, i de redarea formatului .mp3. Vei avea nevoie i de pachete adiionale
pentru redarea DVD-urilor. De menionat c n varianta KiwiLinux, un Ubuntu conceput pentru Romnia i
Ungaria, aceste formate sunt suportate n instalarea standardn.t..
n modul text, folosii comanda mplayer:

173

11.2.2.2. Alte formate


Discutarea tuturor formatelor audio i a modului de redare pentru acestea ne plaseaz dincolo de
scopul acestui ghid. V prezentm doar o trecere (incomplet) n revist a celor mai folosite programe de
redare i administrare a fiierelor audio:

Ogg Vorbis: format audio liber: consultai directorul audio GNU pentru unelte - acestea pot fi deja

incluse n distribuia dumneavoastr. Formatul a fost dezvoltat deoarece formatul MP3 a devenit
proprietar. De menionat c Ogg este superior att din punct de vedere al comprimrii, ct i al
naturaleii sunetului redat; din pcate, puin folositn.t..
Real audio i video: realplay de la RealNetworks.
SoX sau Sound eXchange: de fapt un convertor de formate, care este inclus n programul play.
Red .waw, .ogg i alte formate, inclusiv cele binare brute.
Playmidi: un player midi, consultai directorul GNU.
AlsaPlayer: inclus n proiectul Advanced Linux Sound Arhitecture, consultai saitul AlsaPlayer.
mplayer: red practic orice, inclusiv fiiere mp3. Mai multe informaii gsii pe saitul MPlayerHQ.
hxplayer: integreaz suport pentru fiierele RealAudio i RealVideo, mp3, mp4audio, Flash, waw i
altele, consultai HelixDNA (nu toate componentele de mai sus ale acestui program sunt libere).
rhythmbox: construit pe cadrul GStreamer, poate reda orice format compatibil cu acesta din urm,
care pretinde c red tot, consultai saiturile Rhythmbox i GStreamer.

Verificai documentaia sistemului i paginile man ale programelor care v intereseaz pentru
explicaii detaliate despre modul acestora de folosin.
Nu am aceste aplicaii instalate pe sistemul meu!
Multe din aplicaiile i uneltele discutate n seciunea de mai sus sunt programe opionale. Exist
aadar posibiliatea ca astfel de aplicaii s nu fie prezente n sistemul dumneavoastr dup instalarea
implicit, dar sunt disponibile pentru distribuia aleas ca pachete adiionale. Se poate ntmpla ns i ca
unul din programele menionate mai sus s nu fie disponibil pentru distribuia dumneavoastr. n acest caz,
descrcai programul de pe Internet.

11.2.2.3. Controlul volumului


aumix i alsamixer sunt dou unelte des folosite pentru controlul volumului. Folosii tastele sgei
pentru navigarea prin cmpurile disponibile. alsamixer dispune de o interfa grafic pentru meniul Gnome
sau prin comanda gnome-alsamixer. Unealta kmix face acelai lucru n KDE.
174

Indiferent de maniera n care alegei s ascultai muzic sau alte fiiere audio, amintii-v c ceilali
oameni nu sunt interesai de ceea ce se red pe calculatorul dumneavoastr. ncercai s v purtai civilizat,
n special acolo unde se lucreaz. Folosii cti de calitate n locul celor care sunt introduse n pavilionul
urechii, pentru a nu distrage pe cei cu care mprii acelai mediu.

11.2.3. nregistrarea
Avei la dispoziie destule unelte pentru nregistrarea de muzic sau voce. Pentru nregistrare de
voce putei folosi arecord n linia de comand:

Interrupt nseamn c aplicaia a primit semnalul Ctrl+C. Redai nregistrarea prin comanda play.
Ceea ce v-am prezentat mai sus este un test pe care-l putei face nainte de testarea aplicaiilor
care au nevoie de voce, cum ar fi Voice over IP (VoIP). Nu uitai s verificai dac microfonul este activat.
Dac nu v auzii vocea, verificai-v configurrile de sunet. Adesea se ntmpl ca microfonul s fie nchis
sau volumul acestuia s fie foarte jos. Putei uor reface configurrile prin alsamixer sau interfaa grafic
pentru volum specific distribuiei dumneavoastr.
Din KDE putei ncerca krec, iar din Gnome - gnome-sound-recorder.

11.3. Redarea video, redare flux i televiziune


Sunt disponibile mai multe instrumente:

xine: player video liber.


ogle: player DVD.
okle: versiunea KDE a ogle.
mplayer: player pentru filme al Linux-ului.
totem: red fiiere video i audio, CD-uri audio, VCD i DVD.
realplay: de la RealNetworks.
hxplay: o alternativ pentru Real, consultai HelixDNA.
kaffeine: player media pentru KDE.
Vei gsi cu siguran unul din aceste instrumente n meniul grafic.

Reinei c nu sunt disponibile n instalarea implicit toate codecurile necesare pentru redarea
diferitelor formate video. Va trebui s descrcai codecurile w32 i/sau libdvdcss.
LPD a pus la dispoziie un document care completeaz aceast seciune. Se numete DVD
Playback HOWTO i descrie diversele instrumente disponibile pentru redarea filmelor pe sistemele care au
unitate DVD. Este o adugire binevenit la DVD HOWTO, care explic modul de instalare pentru unitile
DVD.
Pentru vizionarea programelor TV putei alege din programele urmtoare, existnd, bineneles, i
altele:

tvtime: un program foarte bun, cu administrator al staiilor, interactiv cu teletextul, mod film i multe

altele.
zapping: program pentru televiziune specific Gnome.
xawtv: program pentru TV specific X11.

175

11.4. Telefonie Internet


11.4.1. Ce este?
Telefonia Internet sau, altfel spus, Voice over IP (VoIP) ori telefonia digital, permite prilor s
schimbe fluxuri de date (voce) pe reea. Marea diferen este aceea c datele sunt purtate pe o reea cu
scopuri generale, Internetul, contrar telefoniei clasice, care utilizeaz o reea dedicat pentru transmisia de
voce. Cele dou reele pot fi conectate totui n circumstane speciale, dar, pentru moment, acest lucru nu
este un standard. Cu alte cuvinte: este de ateptat s nu putei suna pe cineva care dispune de o linie
telefonic clasic. Dac este posibil, va trebui s pltii un abonament pentru acest lucru.
n timp ce exist numeroase aplicaii pentru tot felul de scopuri, att libere, ct i proprietare, n
domeniul telefoniei Internet nu s-au nregistrat progrese spectaculoase. Sistemul nu este de ncredere, poate
fi ncet sau s aib un nivel de zgomot de fond destul de ridicat, aa c nu poate nlocui sub nici o form
telefonia convenional - gndii-v cel puin la apelurile de urgen. Cu toate c furnizorii i iau precauiile
necesare, nu exist nici o garanie c vei reui efectuarea unei astfel de convorbiri.
Cele mai multe aplicaii nu folosesc criptarea, aa c fii precaui, deoarece este destul de uor ca
cineva s trag cu urechea. Dac v gndii serios la securitate, citii documentaia care nsoete clientul
dumneavoastr VoIP. n plus, dac folosii un firewall, trebuie configurat s permit conexiuni de oriunde,
astfel c folosirea unui asemenea program ridic numeroase semne de ntrebare legate de nivelul de
securitate al sistemului dumneavoastr.

11.4.2. Ce v trebuie?
11.4.2.1. Partea de server
n primul rnd, avei nevoie de un furnizor care s v ofere acest serviciu. Serviciul oferit poate
integra i telefonia tradiional, poate fi gratuit sau nu. Menionm civa astfel de furnizori: SIPphone,
Vonage, Lingo, AOLTotaltalk i muli ali furnizori locali care ofer aa numitul serviciu telefonic integral.
Servicii de telefonie numai pe Internet sunt oferite de Skype, SIP Broker, Google.
Dac dorii s v facei un server propriu, aplecai-v asupra Asterisk.

11.4.2.2. Partea de client


Pe partea de client, aplicaiile pe care le folosii depind de configuraia reelei. Dac dispunei de o
conexiune direct la Internet, nu vei avea probleme, presupunnd c tii la ce server s v conectai i c
avei alocat un nume de utilizator i o parol pentru autentificarea la serviciu.
Dac suntei n spatele unui firewall care folosete Network Adress Translation (NAT), exist
posibilitatea ca anumite servicii s nu funcioneze, ntruct este vizibil doar adresa IP a firewall-ului, nu i
pe cea a calculatorului, ceea ce duce la imposibilitatea rutrii pe Internet, de exemplu atunci cnd v aflai n
reeaua companiei i adresa IP ncepe cu 10., 192.168. sau un alt prefix de subnet care nu poate fi rutat.
Acest lucru depinde, totui, de protocolul utilizat de aplicaie.
De asemenea, limea de band poate fi un factor de blocaj: anumite aplicaii sunt optimizate
pentru consumarea unei limi de band mai mici, n timp ce altele pot solicita conexiuni de band larg.
Aceste nevoi sunt impuse de codecurile folosite de aplicaii.
Printre cele mai cunoscute aplicaii putem enumera Skype, cu o interfa care amintete de cea a
mesageriilor instantanee, i X-Lite, versiunea gratuit a XTen softphone, care arat ca un telefon mobil. Cu
toate c aceste programe sunt disponibile gratuit i sunt folosite pe scar larg, ele nu sunt libere: acestea
folosesc protocoale proprietare i/sau sunt disponibile doar n pachete binare, nu n format cod surs.
Programe VoIP gratuite i libere sunt: Gizmo, Linphone, GnomeMeeting i KPhone.
Echipamente
Chiar dac dispunei de un microfon ncorporat n calculatorul dumneavoastr, n special dac
acesta este un laptop, vei obine rezultate mai bune dac folosii un set dedicat mocrofon-cti. Dac suntei
n msur s decidei, achiziionai un set care lucreaz pe USB, ntruct funcioneaz independent de
dispozitivele audio existente pe calculator. Folosii alsamixer pentru configurarea intrrilor i ieirilor pentru
176

nivelurile de sunet dup preferinele dumneavoastr.


Aplicaiile VoIP se bucur de o pia n cretere extraordinar de rapid. Voluntari din toat lumea
ncearc s documenteze stadiul actual la http://www.voip-info.org/.

11.5. Sumar
Platforma GNU/Linux integreaz total capaciti multimedia. O mare varietate de dispozitive
precum plci de sunet, tv-tunere, microfoane, playere CD i DVD sunt acoperite de Linux. Lista aplicaiilor
este practic fr de sfrit, aa c v prezentm o list trunchiat cu noi comenzi, limitndu-ne la comenzile
audio generale:
Tabelul 11-1. Comenzi noi n Capitolul 11: Audio

Comanda

nelesul comenzii

alsaconf

Configureaz sistemul de sunet ALSA.

alsamixer

Ajusteaz nivelurile de ieire a sunetului pentru driverul ALSA.

arecord

nregistreaz o mostr de sunet.

aumix

Mixer audio.

cdp

Red un CD audio.

cdparanoia

Extrage pistele audio de pe un CD audio.

cdplay

Red un CD audio.

gnome-alsamixer

Interfaa grafic din Gnome pentru ALSA.

gnome-cd

Interfaa Gnome pentru redarea CD-urilor audio.

gnome-sound-recorder Interfaa Gnome pentru nregistrare de sunet.


kaudiocreator

Interfaa KDE pentru crearea CD-urilor audio.

kmix

Interfaa KDE pentru ajustrile de sunet.

krec

Interfa KDE pentru nregistrr de sunet.

mplayer

Player multimedia

play

Unealt a liniei de comand pentru redarea mostrelor de sunet.

11.6. Exerciii
1. Din meniul Gnome sau KDE, deschidei panoul de configurare a sunetului. Asigurai-v c boxele
sau setul de cti sunt conectate la sistem i stabilii un nivel de sunet care v place. Dac avei un
sistem compatibil ALSA, alegei panoul de configurare potrivit.
2. Dac avei un microfon, ncercai s v nregistrai propria voce. Verificai ca nivelul de intrare a
sunetului s nu fie prea mare, deoarece va aduce tonuri nalte, suprtoare, n conversaiile cu
ceilali sau va transfera zgomotul de fundal. Din linia de comand, putei ncerca s folosii
comenzile arecord i aplay pentru nregistrare i redare de sunet.
3. Localizai fiierele de sunet din sistemul dumneavoastr i redai-le.
4. Introducei un CD audio i redai-l.
5. Cutai un partener de conversaie i configurai un program VoIP (probabil va trebui s instalai mai
nti unul).
6. Putei asculta un post de radio de pe Internet?
7. Dac avei o unitate DVD i un film pe un astfel de disc, ncercai s-l redai.

177

Appendix A. De aici, ncotro?


V oferim o trecere n revist a unor lucrri i saituri folositoare.

A.1. Cri folositoare


A.1.1. Linux n general
"Linux in a Nutshell" de Ellen Siever, Jessica P. Hackman, Stephen Spainhour, Stephen Figgins,
O'Reilly UK, ISBN 0596000251
"Running Linux" de Matt Welsh, Matthias Kalle Dalheimer, Lar Kaufman, O'Reilly UK, ISBN
156592469X
"Linux Unleashed" de Tim Parker, Bill Ball, David Pitts, Sams, ISBN 0672316889
"When You Can't Find Your System Administrator" de Linda Mui, O'Reilly UK, ISBN 1565921046
Atunci cnd cumprai o distribuie, aceasta va conine i un manual destul de bine pus la punct.

A.1.2. Editoare
"Learning the Vi Editor" de Linda Lamb i Arnold Robbins, O'Reilly UK, ISBN 1565924266
"GNU Emacs Manual" de Richard M.Stallman, iUniverse.Com Inc., ISBN 0595100333
"Learning GNU Emacs" de Debra Cameron, Bill Rosenblatt i Eric Raymond, O'Reilly UK, ISBN
1565921526
"Perl Cookbook" de Tom Christiansen i Nathan Torkington, O'Reilly UK, ISBN 1565922433

A.1.3. Console
"Unix Shell Programming" de Stephen G.Kochan and Patrick H.Wood, Sams Publishing, ISBN
067248448X
"Learning the Bash Shell" de Cameron Newham i Bill Rosenblatt, O'Reilly UK, ISBN
1565923472
"The Complete Linux Shell Programming Training Course" by Ellie Quigley i Scott Hawkins,
Prentice Hall PTR, ISBN 0130406767
"Linux and Unix Shell Programming" de David Tansley, Addison Wesley Publishing Company,
ISBN 0201674726
"Unix C Shell Field Guide" de Gail i Paul Anderson, Prentice Hall, ISBN 013937468X

A.1.4. X Window
"Gnome User's Guide" de the Gnome Community, iUniverse.Com Inc., ISBN 0595132251
"KDE Bible" de Dave Nash, Hungry Minds Inc., ISBN 0764546929
"The Concise Guide to XFree86 for Linux" de Aron HSiao, Que, ISBN 0789721821
"The New XFree86" de Bill Ball, Prima Publishing, ISBN 0761531521
"Beginning GTK+ and Gnome" de Peter Wright, Wrox Press, ISBN 1861003811
"KDE 2.0 Development" de David Sweet and Matthias Ettrich, Sams Publishing, ISBN 0672318911
"GTK+/Gnome Application Development" de Havoc Pennington, New Riders Publishing, ISBN
0735700788

A.1.5. Reele
"TCP/IP Illustrated, Volume I: The Protocols" de W. Richard Stevens, Addison-Wesley Professional
Computing Series, ISBN 0-201-63346-9
"DNS and BIND" de Paul Albitz, Cricket Liu, Mike Loukides i Deborah Russell, O'Reilly &
Associates, ISBN 0596001584
"The Concise Guide to DNS and BIND" de Nicolai Langfeldt, Que, ISBN 0789722739
"Implementing LDAP" de Mark Wilcox, Wrox Press, ISBN 1861002211
"Understanding and deploying LDAP directory services" de Tim Howes i co., Sams, ISBN
0672323168
178

"Sendmail" de Brian Costales i Eric Allman, O'Reilly UK, ISBN 1565922220


"Removing the Spam : Email Processing and Filtering" de Geoff Mulligan, Addison Wesley
Publishing Company, ISBN 0201379570
"Managing IMAP" de Dianna & Kevin Mullet, O'Reilly UK, ISBN 059600012X

A.2. Saituri utile


A.2.1. Informaii generale
The Linux documentation project: toate documentaiile, pagini man, HOWTO, FAQ.
LinuxQuestions.org: forumuri, documentaie, programe pentru descrcat, multe altele.
Google for Linux: un motor de cutare specializat.
Google Groups: arhiv a postrilor grupurilor de tiri, care include comp.os.linux.
Slashdot: tiri zilnice.
http://www.oreilly.com: cri despre administrarea sistemelor Linux i a reelelor, Perl, Java...
POSIX: standardul.
Linux HQ: menine o baz de date complet a surselor, actualizrilor i documentaiilor pentru diferitele
versiuni ale kernelului Linux.

A.2.2. Referine specifice diverselor arhitecturi


AlphaLinux: Linux pentru arhitectura Alpha (de exemplu Digital Workstation).
Linux-MIPS: Linux pe MIPS (de exemplu SGI Indy).
Linux on the Road: ghiduri pentru instalarea i rularea Linux-ului pe laptopuri, PDA-uri, telefoane mobile,
etc. Fiiere de configurare pentru diverse modele.
MkLinux: Linux pentru Apple .

A.2.3. Distribuii
The Fedora Project: sistem de operare dezvoltat de o comunitate sprijinit de RedHat.
Mandriva
Ubuntu : distribuie care ruleaz de pe CD, nu trebuie s instalai nimic.
Debian
TurboLinux
Slackware
SuSE
LinuxISO.org: CD-uri cu imagini pentru toate distribuiile.
Knoppix: distribuie care ruleaz de pe CD, nu trebuie s instalai nimic.
DistroWatch.com: find a Linux that goes with your style.
...

A.2.4. Programe
Freshmeat: programe noi, arhive de programe.
OpenSSH: saitul Secure SHell.
OpenOffice: suit de birou compatibil cu MS Office.
KDE: saitul K Desktop.
GNU: GNU i programe GNU.
Gnome: saitul oficial Gnome.
RPM Find: toate pachetele RPM.
Samba: serviciu de partajare fiiere i imprimante cu sistemele MS Windows.
Home of the OpenLDAP Project: OpenLDAP server/client/utiliti, FAQ i documentaie.
Sendmail Homepage: prezentarea facilitilor Sendmail, care include exemple de configurare.
Netfilter: conine informaii diverse despre iptables: HOWTO, FAQ, ghiduri ...
Saitul oficial GIMP : toate informaiile despre programul GNU de manipulare a imaginilor.
SourceForge.net: saitul pentru dezvoltarea programelor Open Source.
vIm homepage

179

Appendix B. Comenzi DOS versus comenzi Linux


Vom prezenta comenzile DOS i echivalentul acestora pentru Linux.
Ca un mijloc suplimentar de orientare pentru noii venii n Linux, dar care au experien n
Windows, tabelul de mai jos listeaz comenzi MS-DOS i echivalentul acestora n Linux. Comenzile proprii
Linux-ului au, de regul, opiuni numeroase. Citii paginile man sau Info ale comenzilor care v intereseaz
pentru mai multe informaii.
Tabelul B-1. Prezentarea comenzilor DOS/Linux

Comenzi DOS

Comenzi Linux

<comand> /?

man <comand> sau comand -help

cd

cd

chdir

pwd

cls

clear

copy

cp

date

date

del

rm

dir

ls

echo

echo

edit

vim (sau alt editor)

exit

exit

fc

diff

find

grep

format

mke2fs sau mformat

mem

free

mkdir

mkdir

more

more sau chiar less

move

mv

ren

mv

time

date

180

Appendix C. Facilitile consolei


V prezentm o trecere n revist a facilitilor comune tuturor consolelor, ct i a celor specifice, n
funcie de tip.

C.1. Faciliti comune


Urmtoarele faciliti exist n orice consol. Comenzile stop, suspend, jobs, bg i fg sunt
disponibile numai pentru sistemele care integreaz controlul sarcinilor.
Tabelul C-1. Faciliti comune tuturor consolelor

Comand

nelesul comenzii

>

Redirecioneaz ieirea

>>

Adaug la fiier

<

Redirecioneaz intrarea

<<

Redirecioneaz intrarea

Conexeaz ieirea

&

Ruleaz procese n fundal

Comenzi separate n aceeai linie

Fiecare caracter din numele fiierului conteaz

Conteaz un singur caracter din numele fiierului

[]

Fiecare caracter cuprins ntre paranteze drepte conteaz

()

Execut n subconsol

``

Substituie ieirea comenzii cuprinse ntre caractere

'' ''

Citare parial (permite variabile i expansiuni ale comenzilor

''

Citare n ntregime (fr expansiune)

Citeaz caracterul urmtor

$var

Folosii valoare pentru variabil

$$

ID-ul procesului

$0

Numele comenzii

$n

Argumentul nr. n (cu n de la 0 la 9)

$*

Toate argumentele ca simple cuvinte

ncepe comentariul

bg

Execuie n fundal

break

Pauz

cd

Schimb directorul

continue

Reia execuia unui program

echo

Afieaz ieirea

eval

Evalueaz argumentele

exec

Execut o consol nou

fg

Execut n prim plan

jobs

Arat sarcinile active

kill

Stopeaz sarcinile active

newgrp

Mutare ntr-un grup nou

shift

Schimb parametrii poziionali


181

stop

Suspend un serviciu care ruleaz n fundal

suspend

Suspend un serviciu care ruleaz n prim plan

time

Cronometreaz o comand

umask

Configureaz sau listeaz permisiunile asociate fiierelor

unset

terge variabile sau definiii de funcii

wait

Ateapt ca un serviciu din fundal s se termine.

C.2. Faciliti particulare


Tabelul de mai jos prezint diferenele majore dintre consolele standard (sh), Bourne Again SHell
(bash), Korn (ksh) i C (csh).
Compatibilitile ntre console
ntruct consola Bourne Again SHell este o mbuntire a consolei sh, toate comenzile sh vor
funciona n bash - dar nu i invers. bash dispune de multe faciliti particulare i, dup cum arat i tabelul
de mai jos, multe altele importate din alte console.
ntruct consola Turbo C este o mbuntire a csh, toate comenzile csh vor funciona i n tcsh,
dar nu i invers.
Tabelul C-2. Faciliti particulare tipurilor de console

sh

bash

ksh

csh

neles/Aciune

Prompterul implicit al
utilizatorului

>|

>|

>!

Foreaz redirecionarea

> fiier
2>&1

>& fiier

Redirecioneaz stdout
i stderr ctre fiier

{}

Expandeaz elementele
listate

> fiier 2>&1 &> fiier sau fiier 2>&1


{}
`comand`

`comand` sau $(comand)

$
(comand)

`comand`

Substituie ieirea
comenzii

$HOME

$HOME

$HOME

$home

Directorul personal

Simbolul directorului
personal

~+, ~-, dirs

~+, ~-

=-, =N

Acceseaz directoarele

var=value

VAR=value

var=value set var=value Numirea variabilelor

export var

export VAR=value

export
var=val

${nnnn}

${nn}

Pot fi desemnate mai


mult de 9 argumente

''$@''

''$@''

''$@''

Toate argumentele luate


separat drept cuvinte

$#

$#

$#

$#argv

Numrul argumentelor

$?

$?

$?

$status

Statutul de ieire al celei


mai recente comenzi

$!

$!

$!

PID-ul celui mai recent


proces trimis n fundal

$-

$-

$-

Opiunile curente

.file

source file sau .file

.file
182

setenv var

val

source file

Configureaz variabilele
de mediu

Citete comenzile din

file
alias x='y'

alias x=y

alias x y

Numele x se refer la
comanda y

case

case

case

switch sau
case

Alege alternativele

done

done

done

end

Termin o declaraie n
bucl

esac

esac

esac

endsw

Termin case sau


switch

exit n

exit n

exit n

exit (expr)

Ieire cu afiarea
statutului

for/do

for/do

for/do

foreach

Trecere prin variabile

noglob

Ignor caracterele
substituite pentru
generarea de nume

hashstat

Afieaz comenzile
dispersate (urmrete
aliasurile)

rehash

Amintete localizarea
comenzilor

unhash

Uit localizarea
comenzilor

set -f, set -o

nullglob|dotglob|
nocaseglob|noglob
hash

hash

hash cmds

hash cmds

hash -r

hash -r

alias -t
alias -t

cmds

history

history

history

Listeaz comenzile
anterioare

Tasta SgeatSus+Enter sau !!

!!

Reia comanda
anterioar

!str

r str

!str

Reia ultima comand


care ncepe cu str

!cmd:s/x/y/

nlocuiete xcu y n
cea mai recent
r x=y cmd !cmd:s/x/y/
comand care ncepe
cu cmd, apoi execut

if [$i -eq 5]

if [$i -eq 5]

if ((i==5))

if ($i==5)

Test

fi

fi

fi

endif

Sfritul declaraiei if

ulimit

ulimit

ulimit

limit

Limiteaz resursele

pwd

pwd

pwd

dirs

Afieaz directorul
curent

read

read

read

$<

Citete din terminal

trap 2

trap 2

trap 2

onintr

Ignor ntreruperile

unalias

unalias

unalias

terge aliasurile

until

until

until

while/do

while/do

while/do

ncepe bucla until


while

ncepe bucla while

Bourne Again SHell dispune de mult mai multe funcii, care nu sunt listate aici. Tabelul arat doar
cum aceast consol a ncorporat idei bune din alte console: nu exist spaii goale n coloana
corespunztoare consolei bash. Mai multe informaii despre comenzile particulare Bash gsii n paginile
Info, seciunea Bash Features.
Mai multe informaii:
Trebuie s citii cel puin un manual, manualul consolei pe care o folosii. Alegerea pe care v
sftuim s o facei este info bash, bash fiind consola GNU i cea mai prietenoas cu nceptorii. Scoatei-l
la imprimant i luai-l cu dumneavoastr, parcurgei-l oricnd avei la dispoziie mcar 5 minute.
Consultai Appendix B dac avei dificulti n asimilarea comenzilor consolei.

183

Glosar
Seciunea curent v prezint, n ordine alfabetic, o trecere n revist a comenzilor discutate n
acest document.

A
a2ps
Formateaz fiierele pentru tiprire pe o imprimant PostScript, consultai Seciunea 8.1.2.
acroread
Vizualizator PDF, consultai Seciunea 8.1.2.2.
adduser
Creeaz un utilizator nou sau actualizeaz informaiile implicite ale unui utilizator.
alias
Creeaz n consol un alias pentru o comand.
alsaconf
Configureaz placa de sunet folosind driverul ALSA, consultai Seciunea 11.1.2.
alsamixer
Regleaz sunetul pe ieirile dispozitivului de sunet ALSA, consultai Seciunea 11.2.2.3.
anacron
Execut comenzi periodic, nu presupune rularea continu a calculatorului.
apropos
Caut n baza de date whatis dup irul introdus, consultai Seciunea 2.3.3.2.
apt-get
Administratorul de pachete APT, consultai Seciunea 7.5.3.2.
arecord
nregistreaz o mostr de sunet, consultai Seciunea 11.2.3.
aspell
Verific ortografia.
at, atq, atrm
Trimite n ateptare, examineaz sau terge servicii cu executare ntrziat, consultai Seciunea
4.1.2.2 i Seciunea 4.4.3.
aumix
Ajusteaz mixerul audio, consultai Seciunea 11.2.2.3.
(g)awk
Limbaj de scanare i procesare a tiparelor.

B
bash
Bourne Again SHell, consultai Seciunea 3.2.3.2 i Seciunea 7.2.5.
batch
Trimite n ateptare, examineaz i terge sarcinile cu executare ntrziat.
bg
Ruleaz o sarcin n fundal, consultai Seciunea 4.1.2.1.
bitmap
Editor hart de pixeli i utiliti de conversie pentru sistemul X Window.
bzip2
Un compresor de fiiere, consultai Seciunea 9.1.1.3.

C
cardctl
Administreaz cardurile PCMCIA, consultai Seciunea 10.2.3.3.
cat
Conexeaz fiierele i afieaz rezultatul la ieirea standard, consultai Seciunea 2.2 i Seciunea
3.2.4.
cd
Schimb directorul, consultai Seciunea 2.2.
cdp/cdplay
Un program interactiv n modul text pentru controlarea i redarea CD-urilor audio n Linux, consultai
Seciunea 11.2.1.
cdparanoia
Un utilitar audio pentru citirea CD-urilor, care include faciliti de verificare a datelor, consultai
Seciunea 11.2.1.
184

cdrecord
nregistreaz un CD-R, consultai Seciunea 9.2.2.
chattr
Modific atributele fiierelor.
chgrp
Modific grupurile.
chkconfig
Actualizeaz sau cere informaii despre nivelurile de rulare pentru serviciile de sistem, consultai
Seciunea 4.2.5.1.
chmod
Modific permisiunile asociate fiierelor, consultai Seciunea 3.4.1, Seciunea 3.4.2.1 i Seciunea
3.4.2.4.
chown
Modific deintorii fiierelor i grupurile, consultai Seciunea 3.4.2.3.
compress
Comprim fiierele.
cp
Copiaz fiiere i directoare, consultai Seciunea 3.3.2.
crontab
Administreaz fiierele crontab, consultai Seciunea 4.4.4.
csh
Deschide o consol C, consultai Seciunea 3.2.3.2.
cut
terge seciuni din fiecare linie a unui fiier (ale unor fiiere), consultai Seciunea 7.2.5.2.

D
date
Afieaz sau modific data i ora sistemului.
dd
Convertete i copiaz un fiier (transfer pe disc - disk dump), consultai Seciunea 9.2.1.2.
df
Afieaz utilizarea sistemului de fiiere de pe disc, consultai Seciunea 3.1.2.3.
dhcpcd
Client DHCP, consultai Seciunea 10.3.8.
diff
Caut diferenele dintre dou fiiere.
dig
Trimite pachete de interogare ctre serverele de nume, consultai Seciunea 10.2.6.1.
dmesg
Afieaz sau controleaz memoria tampon a kernelului.
du
Estimeaz utilizarea spaiului de ctre fiiere.
dump
Creeaz copii de siguran pentru sistemul de fiiere, consultai Seciunea 9.2.5.

E
echo
Afieaz o linie de text, consultai Seciunea 3.2.1.
ediff
Diff pentru translatorul n limba englez.
egrep
grep extins.
eject
Demonteaz i ejecteaz mediile detaabile.
emacs
Pornete editorul Emacs, consultai Seciunea 6.1.2.1.
exec
Invoc subprocesele, consultai Seciunea 4.1.5.1.
exit
nchide consola curent, consultai Seciunea 2.2.
export
Adaug funcii mediului consolei, consultai Seciunea 3.2.1, Seciunea 7.2.1.2 i Seciunea 7.2.4.2.

185

F
fax2ps
Convertete un facsimil TIFF n PostScript, consultai Seciunea 8.1.2.
fdformat
Formateaz dischete, consultai Seciunea 9.2.1.1.
fdisk
Administrator de partiii pentru Linux, consultai Seciunea 3.1.2.2.
fetchmail
Administreaz mesajele de pot electronic de pe servere POP, IMAP, ETRN sau ODMR, consultai
Seciunea 10.3.2.3.
fg
Aduce o sarcin din fundal n prim plan, consultai Seciunea 4.1.2.1.
file
Determin tipul unui fiier, consultai Seciunea 3.3.1.2.
find
Caut fiiere, consultai Seciunea 3.3.3.3.
firefox
Navigator de Internet, consultai Seciunea 10.3.3.2.
fork
Creeaz un proces nou, consultai Seciunea 4.1.5.1.
formail
(Re)formateaz mesajele de pot electronic, consultai Seciunea 10.3.2.3.
fortune
Afieaz un mesaj, la ntmplare, de regul interesant.
ftp

G
galeon
Navigator grafic de Internet
gdm
Administratorul de spaiu de lucru Gnome, consultai Seciunea 4.2.4.
gedit
Editor pentru interfaa grafic, consultai Seciunea 6.3.3.3.
(min/a)getty
Controleaz dispozitivele din consol.
gimp
Program de manipulare a imaginilor.
gpg
Cripteaz, verific i decripteaz fiiere, consultai Seciunea 9.4.1.2.
grep
Afieaz liniile care se potrivesc unui tipar (sortare liniar), consultai Seciunea 3.3.3.4 i Seciunea
5.3.1.
groff
Emuleaz comanda nroff cu groff, consultai Seciunea 8.1.2.
grub
Consola grub, consultai Seciunea 4.2.3 i Seciunea 7.5.4.
gv
Vizualizator PostScript i PDF, consultai Seciunea 8.1.2.2.
gvim
Versiunea grafic a editorului vIm, consultai Seciunea 6.3.3.3.
gzip
Comprim sau despacheteaz fiiere, consultai Seciunea 9.1.1.3.

H
halt
Oprete sistemul, consultai Seciunea 4.2.6.
head
Afieaz prima parte a coninutului fiierelor, consultai Seciunea 3.3.4.3.
help
Afieaz ajutorul pentru comenzile proprii consolei.
host
Utilitar care caut DNS-urile, consultai Seciunea 10.2.6.1.
186

httpd
Protocol Apache de transfer pentru hipertext, consultai Seciunea 10.2.3.1.

I
id
Configureaz interfaa de reea sau afieaz configuraia, consultai Seciunea 10.1.2.3.
info
Citete documentele Info, consultai Seciunea 2.3.3.1.
init
Controleaz iniializarea proceselor, consultai Seciunea 4.1.5.1, Seciunea 4.2.4 i Seciunea 4.2.5.
insserv
Administreaz scripturile init, consultai Seciunea 4.2.5.1.
iostat
Afieaz statisticile I/O, consultai Seciunea 4.3.5.4.
ipchains
Administreaz firewall-ul IP, consultai Seciunea 10.4.4.2.
iptables
Administreaz pachetele IP, consultai Seciunea 10.4.4.2.

J
jar
Unealt de arhivare Java, consultai Seciunea 9.1.1.4.
jobs
Listeaz sarcinile care se desfoar n fundal.

K
kdm
Administrator pentru spaiul de lucru al KDE, consultai Seciunea 4.2.4.
kedit
Editor grafic KDE, consultai Seciunea 6.3.3.3.
kill(all)
Termin procesele, consultai Seciunea 4.1.2.1.
konqueror
Navigator de fiiere, pentru pagini de ajutor i pentru Internet, consultai Seciunea 3.3.2.1.
ksh
Deschide o consol Korn, consultai Seciunea 3.2.3.2.
kwrite
Editor grafic KDE, consultai Seciunea 6.3.3.3.

L
less
more cu mai multe opiuni.
lilo
ncrctor de sisteme pentru Linux (acum se folosete mai mult grub), consultai Seciunea 4.2.
links
Navigator WWW pentru modul text, consultai Seciunea 10.2.3.2.
ln
Creeaz legturi ntre fiiere, consultai Seciunea 3.3.5.
loadkeys
ncarc tabela de modificare a aspectului tastaturii, consultai Seciunea 7.4.1.
locate
Caut fiiere, consultai Seciunea 3.3.3.3 i Seciunea 4.4.4.
logout
nchide consola curent, consultai Seciunea 2.1.3.
lp
Trimite cereri ctre serviciul de tiprire LP, consultai Seciunea 8.1.
lpc
Program de control pentru tiprire, consultai Seciunea 8.1.
lpq
Program pentru examinarea lucrrilor trimise la coada pentru tiprire, consultai Seciunea 8.1.

187

lpr
Tiprire offline, consultai Seciunea 8.1.
lprm
terge sarcinile trimise la imprimant, consultai Seciunea 8.1.
ls
Afieaz coninutul directoarelor, consultai Seciunea 2.2, Seciunea 3.1.1.2 i Seciunea 3.3.1.1.
lynx
Navigator WWW pentru modul text, consultai Seciunea 10.2.3.2.

M
mail
Trimite i primete mesaje de pot electronic, consultai Seciunea 10.3.2.3.
man
Citete paginile de manuale, consultai Seciunea 2.3.2.
mc
Midnight COmmander, navigator de fiiere, consultai Seciunea 3.3.2.1.
mcopy
Copiaz fiiere MSDOS n/din UNIX.
mdir
Afieaz un director MSDOS.
memusage
Afieaz gradul de folosire al memoriei, consultai Seciunea 4.3.5.3.
memusagestat
Afieaz statistici referitoare la utilizarea memoriei, consultai Seciunea 4.3.5.3.
mesg
Controleaz accesul la scriere n terminalul dumneavoastr, consultai Seciunea 4.1.6.
mformat
Formateaz o dischet n MSDOS, consultai Seciunea 9.2.1.1.
mkbootdisk
Creeaz o dischet pentru pornirea sistemului.
mkisofs
Creeaz un sistem de fiiere hibrid ISO9660, consultai Seciunea 9.2.2.
mplayer
Player pentru filme al Linux-ului, consultai Seciunea 11.2.2 i Seciunea 11.3.
more
Filtru pentru afiarea unei secvene de text, cte un ecran pe afiare, consultai Seciunea 3.3.4.2.
mount
Monteaz un sistem de fiiere sau afieaz informaii despre un sistem de fiiere deja montat,
consultai Seciunea 7.5.5.1.
mozilla
Navigator web, consultai Seciunea 10.2.3.2.
mt
Controleaz operaiile cu benzile magnetice.
mtr
Unealt de diiagnosticare pentru reele.
mv
Redenumete fiiere, consultai Seciunea 3.3.2.

N
named
Server pentru nume de domenii, consultai Seciunea 10.3.7.
nautilus
Administrator de fiiere, consultai Seciunea 3.3.2.1.
ncftp
Program de navigare pentru serviciile ftp (nesecurizat!), consultai Seciunea 10.3.4.2.
netstat
Afieaz conexiunile la reea, tabela de rutare, statistici referitoare la interfaa de reea, conexiuni
deghizate i difuzrile multiple, consultai Seciunea 10.1.2.5 i Seciunea 10.4.2.
newgrp
Autentificare ntr-un alt grup, consultai Seciunea 3.4.2.2.
nfsstat
Afieaz statistici despre sistemele de fiiere n reea.
nice
Ruleaz un program cu modificarea prioritii programate, consultai Seciunea 4.3.5.1.
188

nmap
Unealt pentru explorarea reelei i scaner de securitate.
ntpd
Serviciul Network Time Protocol, consultai Seciunea 7.4.3.
ntpdate
Configureaz ora i data cu ajutorul unui server NTP, consultai Seciunea 7.4.3.
ntsysv
Interfa simpl pentru configurarea nivelurilor de rulare, consultai Seciunea 4.2.5.1.

O
ogle
Player DVD care citete meniurile DVD, consultai Seciunea 11.3.

P
passwd
Schimb parola, consultai Seciunea 2.2 i Seciunea 4.1.6.
pccardctl
Administreaz cardurile PCMCIA, consultai Seciunea 10.2.3.3.
pdf2ps
Transform fiierele PDF n PostScript, consultai Seciunea 8.1.2.
perl
Practical Extraction and Report Language.
pg
Pagineaz ieirea text, consultai Seciunea 3.3.4.2.
pgerp
Caut procese pe criterii bazate pe nume i alte atribute, consultai Seciunea 4.1.4.
ping
Trimite o cerere de rspuns unui alt calculator, consultai Seciunea 10.2.6.2.
play
Red o mostr de sunet, consultai Seciunea 11.2.3.
pr
Convertete fiierele text n vedeera tipririi.
printenv
Afieaz, n parte sau n totalitate, variabilele de mediu, consultai Seciunea 7.2.1.
procmail
Procesor independent de mesaje de pot electronic, consultai Seciunea 10.3.2.3.
ps
Afieaz statutul proceselor, consultai Seciunea 4.1.4 i Seciunea 4.3.5.4.
pstree
Afieaz procesele n form arborescent, consultai Seciunea 4.1.4.
pwd
Afieaz directorul de lucru curent, consultai Seciunea 2.2.

Q
quota
Afieaz gradul de folosire a discului i limitrile, consultai Seciunea 3.2.3.3.

R
rcp
Copiere la distan (nesecurizat!).
rdesktop
Client Remote Desktop Protocol, consultai Seciunea 10.4.6.
reboot
Oprete sistemul, consultai Seciunea 4.2.6.
recode
Convertete fiierele ntr-un alt set de caractere, consultai Seciunea 7.4.4.
renice
Modific prioritatea unui proces, consultai Seciunea 4.3.5.1.
restore
Restaureaz copiile de siguran create cu dump, consultai Seciunea 9.2.5.

189

rlogin
Autentificare la distan (telnet, nesecurizat!), consultai Seciunea 10.4.2 i Seciunea 10.5.2.
rm
terge un fiier, consultai Seciunea 3.3.2.
rmdir
terge un director, consultai Seciunea 3.3.2.2.
roff
Sistem de formatare, consultai Seciunea 8.1.2.
rpm
Administrator de pachete RPM, consultai Seciunea 7.5.2.1.
rsh
Consol la distan (nesecurizat!), consultai Seciunea 10.4.2.
rsync
Sincronizeaz dou directoare, consultai Seciunea 9.3.

S
scp
Copiere la distan securizat, consultai Seciunea 10.4.4.1.
screen
Administrator de ecran cu emulator pentru VT100, consultai Seciunea 4.1.2.1.
set
Afieaz, introduce sau modific o variabil.
setterm
Configureaz atributele terminalului.
sftp
ftp securizat (criptat), consultai Seciunea 10.4.4.1.
sh
Deschide o consol standard, consultai Seciunea 3.2.3.2.
shutdown
Oprete sistemul, consultai Seciunea 4.2.6.
sleep
Ateapt o perioad stabilit, consultai Seciunea 4.4.1.
slocate
Versiune mbuntit din punct de vedere al securitii pentru GNU Locate, consultai Seciunea
3.3.3.3.
slrnn
Client n modul text pentru Usenet, consultai Seciunea 10.2.6.
snort
Unealt pentru detectarea intruziunilor n reea.
sort
Sorteaz linii din fiierele text, consultai Seciunea 5.3.2.
spell
Verific ortografia, consultai Seciunea 5.1.2.3.
ssh
Consol securizat, consultai Seciunea 10.4.4.1.
ssh-keygen
Genereaz chei de autentificare i le administreaz, consultai Seciunea 10.4.4.5.
stty
Modific i afieaz configurrile terminalului.
su
Schimb utilizatorul, consultai Seciunea 3.2.1, Seciunea 7.5.3.2 i Seciunea 10.4.6.

T
tac
Conexeaz i afieaz fiierele n ordine invers, consultai cat.
tail
Afieaz ultima parte a coninutului unui fiier, consultai Seciunea 3.3.4.3.
talk
Converseaz cu un utilizator.
tar
Utilitar pentru arhivare, consultai Seciunea 9.1.1.1.
tcsh
Deschide o consol Turbo C, consultai Seciunea 3.2.3.2.

190

telinit
Controleaz iniializarea proceselor, consultai Seciunea 4.2.5.
telnet
Interfaa cu utilizatorul pentru protocolul TELNET (nesecurizat!), consultai Seciunea 10.4.2.
tex
Formateaz fiiere text, consultai Seciunea 8.1.2.
time
Cronometreaz o comand sau ofer informaii despre resursele folosite, consultai Seciunea 4.3.2.
tin
Program pentru citirea tirilor, consultai Seciunea 10.2.6.
top
Afieaz procesele care solicit cel mai mult procesorul, consultai Seciunea 4.1.4, Seciunea 4.3.5.3
i Seciunea 4.3.5.4.
touch
Modific eticheta de timp a fiierelor, consultai Seciunea 7.1.2.
traceroute
Afieaz ruta urmat de pachete n reea, consultai Seciunea 10.2.6.3.
tripwire
Verific integritatea fiierelor unui sistem UNIX, consultai Seciunea 10.4.5.
troff
Formateaz documente, consultai Seciunea 8.1.2.
tvtime
Aplicaie de bun calitate pentru televiziune.
twm
Tab Window Manager pentru sistemul X Window.

U
ulimit
Controleaz resursele, consultai Seciunea 7.1.2.5.
umask
Configureaz masca fiierului n funcie de utilizator, consultai Seciunea 3.4.2.2.
umount
Demonteaz un sistem de fiiere.
uncompress
Despacheteaz fiierele comprimate.
uniq
terge liniile duplicate dintr-un fiier sortat, consultai Seciunea 5.3.2.
up2date
Actualizeaz pachete RPM.
update
Serviciu al kerenlului, care trimite napoi pe disc memoria tampon nefolositoare.
update-rc.d
Configureaz scripturile init, consultai Seciunea 4.2.5.1.
uptime
Afieaz timpul de lucru al sistemului i solicitarea medie a sistemului, consultai Seciunea 4.1.4 i
Seciunea 4.3.5.2.
urpmi
Actualizeaz pachetele RPM, consultai Seciunea 7.5.3.3.
userdel
terge contul unui utilizator i fiierele conexe.

V
vi(m)
Pornete editorul vi (mbuntit), consultai Seciunea 6.1.2.2.
vimtutor
Tutorialul Vim.
vmstat
Afieaz statistici legate de memoria virtual, consultai Seciunea 4.3.5.4.

191

W
w
Arat cine este autentificat i ce face.
wall
Trimite un mesaj ctre terminalele fiecruia, consultai Seciunea 4.2.6.
wc
Afieaz numrul biilor, al cuvintelor i liniilor dintr-un fiier, consultai Seciunea 3.2.1.
which
Arat traseul complet al comenzilor (consolei), consultai Seciunea 3.2.1 i Seciunea 3.3.3.2.
who
Arat cine este autentificat, consultai Seciunea 4.1.6.
who am i
Afieaz ID-ul utilizatorului curent.
whois
Interogheaz o baz de date whois, consultai Seciunea 10.2.6.1.
write
Trimite un mesaj altui utilizator, consultai Seciunea 4.1.6.

X
xargs
Introduce i execut comenzi de la dispozitivul standard de intrare, consultai Seciunea 3.3.3.3.
xauth
Utilitar X authority.
xawtv
Un program X11 pentru televiziune.
xcdroast
Interfa grafic pentru cdrecord, consultai Seciunea 9.2.2.
xclock
Ceas digital/analog pentru X.
xconsole
Monitorizeaz mesajele de sistem n X.
xdm
Administrator de ecran cu suport pentru XDMCP, host chooser, consultai Seciunea 4.2.4 i
Seciunea 7.3.2.
xdvi
Vizualizator DVI, consultai Seciunea 8.1.2.2.
xedit
Editor grafic pentru X Window, consultai Seciunea 6.3.3.3.
xfs
Serverul de fonturi X.
xhost
Controleaz accesul programelor n X, consultai Seciunea 10.4.3.2.
xine
Player video liber, consultai Seciunea 11.3.
xinetd
Serviciu extins pentru Internet, consultai Seciunea 10.3.1.2.
xload
Afieaz solicitarea medie a sistemului n X, consultai Seciunea 4.3.5.6.
xlsfonts
Listeaz fonturile n X.
xmms
Player audio pentru X, consultai Seciunea 11.2.2.1.
xpdf
Vizualizator PDF, consultai Seciunea 8.1.2.2.
xterm
Emulator de terminal pentru X.

Y
yast
Unealt pentru administrarea sistemului n Novell SuSE Linux.
yum
Actualizeaz pachete RPM, consultai Seciunea 7.5.3.
192

Z
zapping
Program pentru televiziune n mediul Gnome.
zcat
Comprim sau despacheteaz fiiere.
zgrep
Caut n fiierele posibil comprimate o expresie regulat.
zmore
Filtru pentru afiarea textului comprimat.

193

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