Documente Academic
Documente Profesional
Documente Cultură
ITL Romanian PDF
ITL Romanian PDF
Un ghid la ndemn
Machtelt Garrels
Garrels.be
Ediia 1.25
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.
1
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.
Oricine dorete s capete experien n utilizarea liniei de comand din Linux (i, n general, UNIX)
va gsi acest ghid ca fiind foarte folositor.
2
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 gsete la adresa de web
http://www.codex.altervista.org/introlinux.html.
4. Revizuiri
Versiunea 1.26 19-09-2007 Revizuit de: MG
Comentarii de la cititori, liceniere.
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 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.
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/ ).
Sfaturi.
5
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.
6
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.
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.
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.
nc de la nceput, elul lui Linus a fost s aib un sistem care s fie pe deplin compatibil cu UNIX-
ul 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.
8
Office, precum procesoare de text, foi pentru calcul tabelar, prezentri i altele de acest gen.
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.
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.
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
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.
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:
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.
11
kernel Linux, deoarece documentaia necesar este disponibil.
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.
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.
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.
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.
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:
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.
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.
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
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.
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 :
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.
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.
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.
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.
V prezentm cteva comenzi, de care avem nevoie pentru nceput. Le vom discuta mai trziu n
detaliu.
Comanda Ce execut
Afieaz o list cu fiierele din directorul de lucru, precum comanda dir
ls
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.
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.
20
Sgeat n sus sau Navigare prin istoricul comenzilor. Mergei la linia pe care dorii s o
Sgeat n jos repetai, editai-o dac este necesar, i apsai Enter.
Shift+PageUp sau
Navigare prin terminal (pentru a vedea textul care a ieit din ecran).
Shift+PageDown
Completarea comenzilor sau a numelor de fiiere; atunci cnd exist mai
multe posibiliti, sistemul v avertizeaz cu un semnal audio sau video
Tab
ori, dac posibilitile sunt prea multe, v ntreab dac dorii s le afieze
pe toate.
Arat posibilitile pentru completarea unei comenzi sau a unui nume de
Tab Tab
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).
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:
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.
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.
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.
Un index cu explicaii scurte despre comenzi este disponibil prin comanda whatis, precum n
exemplul de mai jos:
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.
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 (scroll-
down). 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.
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.
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!
Deautentificai-v.
2.5.2. Parole
ncercai din nou cu o parol ridicol de simpl, precum 123 sau aaa .
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 ..
Luai aminte la spaiul dintre cd i ..! Folosii comanda pwd.
27
Ce se ntmpl?
Ce se ntmpl?
La care directoare avei acces?
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.
Nu putei aplica acest exerciiu pentru aceast distribuie. Putei ncerca cu /etc/event.d/rc-
default 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..
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.
Citii man ls
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.
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.
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.
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:
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.
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).
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:
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:
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:
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.
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.
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.
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:
Director Coninut
/bin Programe obinuite, folosite de sistem, de administratorul sistemului i de utilizatori.
Fiierele necesare pornirii sistemului i kernelul, vmlinuz. n unele distribuii recente, datele
/boot grub. Grub vine de la GRand Unified Boot Loader i este o ncercare de a scpa de diversele
ncrctoare de sistem care exist azi.
Conine referine la toate echipamentele periferice, care sunt reprezentate ca fiiere cu
/dev
proprieti speciale.
Cele mai importante fiiere de configurare ale sistemului sunt n directorul /etc, acest director
/etc
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.
Fiecare partiie are un lost+found (pierdute i gsite) n directorul principal. Fiierele salvate n
/lost+found
urma avariilor sunt n acest director.
/misc Pentru scopuri diverse
Punctul standard de montare pentru sisteme de fiiere externe, cum ar fi CD-ROM sau camere
/mnt
digitale.
/net Punctul standard de montare pentru sistemele de fiiere din reea
/opt Conine n mod normal programe de la tere pri
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
/proc
introdus ntr-o fereastr terminal. Fiierul proc.txt discut sistemul de fiiere virtual n
detaliu.
Directorul personal al administratorului de sistem. Remarcai diferena dintre /, directorul
/root
rdcin, i /root, directorul personal (home) al utilizatorului root, cel cu privilegii administrative.
/sbin Programele folosite de sistem i de administratorului sistemului.
Spaiu pentru folosina temporar a sistemului, care este ters la repornire, aa c nu l folosii
/tmp
pentru a salva ceva!
/usr Programe, librrii, documentaie .a. pentru toate programele folosite de utilizatori.
Loc de stocare pentru toate fiierele variabile i temporare create de utilizatori, precum fiiere
/var 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).
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:
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.
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:
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.
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:
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.
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.
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
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.
Fiier Informaii/servicii
Fiier pentru aliasurile de pot electronic utilizat cu serverele Sendmail i
Postfix. Existena unui server de mail pe fiecare sistem este o practic comun
aliases 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.
Fiier de configurare extins pentru consola Bourne Again. Definete funciile i
bashrc 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.
Configurrile serverului ftp: cine se poate conecta, ce pri ale sistemului sunt
ftp* accesibile, etc.
Fiierul de configurare pentru grupurile de utilizatori. Folosii utilitarele
group securizate groupadd, groupmod i groupdel pentru editarea acestor fiiere.
Editai manual numai dac avei experien.
O list a calculatoarelor care pot fi contactate folosind reeaua, fr a avea
hosts 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,
Informaii pentru pornirea sistemului necesare ncrctorului de sisteme din
silo.conf, Linux, LILO (Linux Loader), dar care este nlocuit gradual cu GRUB.
aboot.conf, etc.
Actualizarea (rotirea) fiierelor jurnal, un sistem care previne acumularea n
logrotate.* exces a fiierelor tip jurnal.
mail Director care conine instruciuni pentru comportamentul serverului de mail.
Configurri ale modulelor care asigur nsuiri speciale (drivere module de
modules.conf 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.
Ordinea n care trebuie contactate numele de aplicaia de soluionare a
nsswitch.conf echivalenei, cnd un proces solicit apelarea unei gazde (host name).
pam.d Configurrile modulelor de autentificare.
Listeaz utilizatorii locali. Folosii utilitarele securizate useradd, usermod i
passwd userdel pentru a edita acest fiier. Editai manual numai dac avei experien.
Fiier depit, dar nc utilizat, de configurare a imprimantei. Nu editai manual
printcap dect dac suntei un utilizator experimentat.
Fiier de configurare extins al mediului consolei: variabile, proprieti implicite
profile ale fiierelor noi, limitri ale resurselor, etc.
Director care definete serviciile active pentru fiecare nivel de executare
rc* (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.
Directorul care conine fiierele de configurare ale consolei securizate client i
ssh server.
Director care conine fiierele de configurare ale sistemului: maus, tastatur,
sysconfig reea, spaiu de lucru, frecvena sistemului, administrarea consumului, etc
(specific distribuiei RedHat).
Setrile serverului grafic X. RedHat folosete Xfree, ceea ce se reflect n
numele principalului fiier de configurare, Xfree86Config. Conine i indicaiile
X11 generale pentru administratorii de ferestre disponibili n sistem, de exemplu
gdm, fvwm, twm, etc.
Fiiere de configurare pentru servicii Internet care ruleaz prin serviciile
xinetd.* sau
(extinse) de Internet ale sistemului (servere care nu ruleaz un serviciu
inetd.conf independent).
Pe parcursul acestui ghid vom afla mai multe lucruri despre aceste fiiere i vom studia cteva n
detaliu.
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.
Nume Dispozitiv
cdrom Unitate CD
console Intrare special pentru consola folosit n mod curent
cua* Porturi seriale
dsp* Dispozitive pentru eantionare i nregistrare
42
Intrri pentru dispozitivele floppy (dischete), intrarea implicit fiind /
fd*
dev/fd0, unitatea de dischete de 1,44 MO
Asisten pentru unitile IDE, care asigur numrul maxim de
hd [a-t] [1-16] 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
Pentru aplicaii audio care folosesc facilitile de sintetizare ale
sequencer 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
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.
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 color-
ls. 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:
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:
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.
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.
...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
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 amintii-
v 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.
Dup ce ne-am structurat directorul personal, este timpul s punem fiecare fiier rzle n locul
potrivit cu ajutorul comenzii mv:
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.
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:
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.
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.
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.
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:
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:
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.
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:
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.
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:
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!
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.
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 \*
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.
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.
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:
Despre pagere avei deja o idee deoarece ele sunt folosite pentru a vizualiza paginile de manuale.
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:
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 ~/ .gnome-
desktop:
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.
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:
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.
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.
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.
Cod neles
u Permisiunile acordate utilizatorilor.
g Permisiunile acordate grupurilor.
o 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:
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:
58
Pentru fiierele care trebuie s fie citite sau rulate i de ctre ali utilizatori, dar
chmod 755 director
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.
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.
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.
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:
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.
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:
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.
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:
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:
62
cp fiierul_surs fiierul_int Copiaz fiierul surs n fiierul int.
Prezint spaiul utilizat pe partiia discului care
df fiier
conine fiierul n cauz.
echo ir Afieaz irul de caractere introdus.
Parte a comenzilor proprii consolei care anun
export
sistemului variabilele i valorile acestora.
file nume_fiier Determin tipul unui fiier.
find traseu expresie Gsete fiierele n ierarhia sistemului de fiiere.
Afieaz liniile din fiier care conin tiparul
grep TIPAR fiier
introdus.
Trimite prima parte a unui fiier la ieirea
head fiier
standard.
Afieaz numele reale i efective ale utilizatorilor
id
i grupurilor.
Afieaz documentaia disponibil pentru
info comand
comanda n cauz.
Este artat fiierul cu ajutorul unui vizualizator
less fiier
mai puternic.
Realizeaz o legtur numit
ln fiier_int nume_legtur
nume_legtur ctre un fiier_int
Afieaz toate fiierele accesibile care au n
locate criteriu_cutare
nume elemente ale criteriului de cutare.
ls fiier(e) Afieaz coninutul directorului.
Afieaz manualele sistemului pentru comanda
man comand
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.
Arat limitele alocate i gradul de utilizare a
quota
discului.
rm fiier terge fiiere i directoare.
rmdir fiier terge directoare.
tail fiier Afieaz ultima parte a unui fiier.
Arat sau schimb modul n care sunt create
umask [valoare]
fiiere noi.
Numr liniile, cuvintele i caracterele dintr-un
wc fiier
fiier.
which comand Arat traseul complet al comenzii n cauz.
63
r(ead) w(rite) (e)x(ecute)
Cine\Ce
citire scriere execut
u(ser) - utilizator 4 2 1
g(roup) - grup 4 2 1
o(thers) - alii 4 2 1
3.6. Exerciii
Autentificai-v ca utilizator obinuit (neprivilegiat).
3.6.1. Partiii
64
3.6.4. Mnuirea fiierelor
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:
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.
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:
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.
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.
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.
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 - .
|?
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.
70
Opiunile -u i -a ofer informaii adiionale. Pentru mai multe opiuni i ceea ce fac ele,
consultai paginile Info.
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:
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.
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:
Putei citi mai multe despre aciunile implicite care sunt aplicate unui proces prin trimiterea unui
semnal n man 7 signal.
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.
Schema grupurilor este specific fiecrei distribuii. Alte distribuii pot folosi alte nume sau alte
soluii.
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.
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 CD-
ROM 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 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.
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.
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.
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-display-
manager 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.
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
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.
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:
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
...
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.
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 ntr-
un sistem.
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.
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.
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.
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.
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.
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.
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!
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:
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 ntr-
un 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.
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.
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.
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.
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:
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:
Dac avei foarte multe lucrri de tiprit dar dorii ca i alii s poat tipri n acest timp:
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.
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.
Alternativ
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.
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.
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:
87
jobs Listeaz sarcinile care ruleaz n acel moment.
kill Termin un proces.
mesg Controleaz trimiterea de mesaje ctre terminalul tu.
Afieaz legturile de reea, tabela de routing, statisticile de reea, conexiunile
netstat
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.
w 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
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.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:
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.
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:
Acelai tip de redirecionare ctre un fiier inexistent va crea un nou fiier, gol, cu numele pe care l-
ai introdus n comanda de redirecionare:
Capitolul 7 va oferi mai multe exemple despre cum s folosii acest tip de redirecionare.
Pentru a gsi un cuvnt n cadrul unui text, afiai toate liniile care conin criteriul1 i excludei
liniile care conin criteriul2:
Pentru a afia coninutul unui director cu listarea paginilor una cte una:
ls -la | less
ls -l | grep nume_parial_fiier
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:
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.
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).
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.
5.2.2. Exemple
5.2.2.1. Analizarea erorilor
Dac procesele genereaz multe erori, iat o cale prin care le putei examina:
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:
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.
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.
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:
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.
95
Tabelul 5-1. Comenzi noi n Capitolul 5: Redirecionarea I/O
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:
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.
Sunt, ca de obicei, mai multe ci prin care s abordai aceast problem. V prezentm cele mai
ntlnite editoare:
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.
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.
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.
Navigarea prin text se face, de regul, cu tastele sgei. Dac nu reuii, folosii:
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.
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).
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.
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.
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.
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.
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.
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.
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:
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:
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.
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.
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.
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.
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.
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.
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:
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:
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.
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.
Cnd consola primete comanda de ieire, bash citete i execut comenzile din fiierul
~/.bash_logout, dac exist.
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.
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.
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.
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.
Aceste linii configureaz valoarea umask. Apoi, n funcie de tipul consolei pe care o folosii, este
configurat prompterul:
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.
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.
Pentru a nelege aceste promptere i secvena de ieire folosit, apelai la paginile Info sau man.
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.
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
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.
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.
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.
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.
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.
Din punctul de vedere al utilizatorului, fiecare server X are un nume de ecran n forma:
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.
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.
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.
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.
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:
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.
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:
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.
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.
117
7.5.2.1.1. Ce este 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.
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:
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 nu-
i 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.
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, apt-
get (consultai Seciunea 7.5.3.2) este foarte folosit, chiar i pe sisteme non-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.
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.
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.).
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.
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:
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:
Putei ncerca un clic dreapta pe pictograma CD-ului aflat pe spaiul de lucru pentru a monta CD-
ul, dac administratorul de fiiere nu face acest lucru pentru dumneavoastr. Comanda mount fr
argumente verific dac aciunea a avut succes:
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.
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.
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.
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.
Tiprirea din interiorul unei aplicaii este simpl, cu ajutorul opiunii Print (Tiprete) din meniu.
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.
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:
Care este imprimanta implicit folosit de un sistem care are acces la mai multe imprimante?
125
lpstat -d
lpstat -p
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.
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.
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:
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.
Orice trimitei la imprimant poate fi afiat i pe ecran. n funcie de formatul fiierului, putei folosi
una din comenzile de mai jos:
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/.
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.
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.
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.
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:
8.5. Exerciii
Configurarea i testarea imprimantei implic existena uneia i accesul la contul de root. Dac sunt
ndeplinite aceste condiii, putei ncerca urmtoarele:
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.
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.
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:
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:
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.
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.
Datele, inclusiv arhivele tarball, pot fi compresate folosind uneltele zip. Comanda gzip va aduga
sufixul .gz la numele fiierului i va terge fiierul original.
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.
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.
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.
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.
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.
Dac avei nevoie, instalai utilitarul mkbootdisk, care creeaz o dischet de pe care sistemul
135
poate porni.
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.
Transferul discurilor
Comanda dd poate fi folosit pentru realizarea transferului unui ntreg disc fix brut.
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.
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.
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.
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.
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.
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.
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:
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:
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:
141
rsync Sincronizeaz directoarele.
Utilitar pentru arhivare pe uniti de band, folosit i pentru realizarea
tar
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:
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:
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.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.
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.
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.
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.
10.1.2.5. AppleTalk
Appletalk este numele sistemului de conectivitate al calculatoarelor Apple. Permite o reea peer-to-
peer 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.
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 Windows-
ului, 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.
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.
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.
10.2.2.1. /etc/hosts
146
10.2.2.2. /etc/resolv.conf
10.2.2.3. /etc/nsswitch.conf
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+.
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.
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.
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:
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.
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.
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.
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
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.
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.
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:
Pentru a verifica ruta pe care o urmeaz un pachet prin reea, folosii comanda traceroute:
150
Pe unele sisteme, traceroute a fost redenumit tracepath.
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.
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.
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.
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:
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:
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.
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 pre-
procesarea 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.
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.
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.
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.
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.
Cele mai multe distribuii de Linux conin pachetul anonftp, care configureaz un server FTP
anonim i fiierele de configurare necesare.
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.
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.
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
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.
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 n paginile Info ale named, n 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.
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:
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.
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.
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 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.
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 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.
161
X pe acestea.
Reinei c afiarea unei ferestre terminal de pe un calculator aflat la distan este tratat ca
afiarea unei imagini.
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:
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.
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
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.
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.
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.
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:
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:
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:
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.
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.
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.
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.).
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.
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.
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.
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.
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 su-
sau 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.
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.
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!
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
171
Capitolul 11. Sunet i video
Acest capitol trateaz urmtoarele (pe scurt, ntruct domeniul audio i video este foarte larg):
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 placa de sunet nu este recunoscut implicit de sistem, trebuie s apelai la alte tehnici.
Acestea sunt descrise n Linux Sound HOWTO.
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.
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).
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.
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-restricted-
extras 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..
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.
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.
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.
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.
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.
Echipamente
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:
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.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.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.
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.
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.
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.
182
file
Numele x se refer la
alias x='y' alias x=y alias x y
comanda y
switch sau
case case case Alege alternativele
case
Termin o declaraie n
done done done end
bucl
Termin case sau
esac esac esac endsw
switch
Ieire cu afiarea
exit n exit n exit n exit (expr)
statutului
for/do for/do for/do foreach Trecere prin variabile
set -f, set -o Ignor caracterele
nullglob|dotglob| noglob substituite pentru
nocaseglob|noglob generarea de nume
Afieaz comenzile
hash hash alias -t hashstat dispersate (urmrete
aliasurile)
alias -t Amintete localizarea
hash cmds hash cmds rehash
cmds comenzilor
Uit localizarea
hash -r hash -r unhash
comenzilor
Listeaz comenzile
history history history
anterioare
Reia comanda
Tasta SgeatSus+Enter sau !! r !!
anterioar
Reia ultima comand
!str r str !str
care ncepe cu str
nlocuiete xcu y n
cea mai recent
!cmd:s/x/y/ 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
Afieaz directorul
pwd pwd pwd dirs
curent
read read read $< Citete din terminal
trap 2 trap 2 trap 2 onintr Ignor ntreruperile
unalias unalias unalias terge aliasurile
until until until ncepe bucla until
while/do while/do while/do 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.
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