Documente Academic
Documente Profesional
Documente Cultură
Un ghid la ndemn
Machtelt Garrels
Garrels.be
Traducere n limba romn: Marian miaumiau Vasile, care mulumete comunitii UBUNTU Romnia
pentru ajutorul pe care l-a primit din momentul n care a descoperit acest sistem de operare i Grupului
pentru software liber pentru promovarea programelor surs deschis.
Introducere
1. De ce acest ghid?
Muli oameni tot mai cred despre Linux c este dificil de nvat sau c numai experii pot nelege
cum lucreaz un sistem Linux. Dei exist mult documentaie disponibil gratuit, aceast documentaie este
mprtiat pe web i, cteodat, este dificil de neles, deoarece este orientat de regul ctre utilizatori
experimentai de UNIX sau Linux. Astzi, mulumit eforturilor depuse n dezvoltare, Linux-ul a ctigat
popularitate att n mediul familial, ct i la locurile noastre de munc. elul acestui ghid este acela de a
arta oamenilor de toate vrstele c Linux-ul poate fi simplu, amuzant i folositor multor scopuri.
Alok Kumar
Dhananjay Sharma
Kapil
Puneet Goel
Ravikant Yuyutsu
4. Revizuiri
Versiunea 1.26
19-09-2007
Comentarii de la cititori, liceniere.
Revizuit de: MG
Versiunea 1.25
11-05-2007
Revizuit de: MG
Comentarii de la cititori, actualizri minore, eticheta n utilizarea e-mail-ului , informaii la zi despre
disponibilitate (mulumiri lui Oleg).
Versiunea 1.24
01-11-2006
Revizuit de: MG
Adugai termeni ai index-ului, pregtire pentru cea de-a doua ediie tiprit, adugate informaii
despre gpg (general public licence) i proxy-uri.
Versiunea 1.23
25-07-2006
Revizuit de: MG i FK
Actualizri i corecturi, scos appendix-ul 5 din nou, modificarea licenei pentru a permite includerea
n documentaia Debian.
Versiunea 1.22
06-04-2006
Revizuit de: MG
Capitolul 8 revizuit complet, capitolul 10: clarificate exemplele, adugate informaii despre ifconfig
i cygwin, revizuit seciunea despre network apps.
Versiunea 1.21
14-03-2006
Revizuit de: MG
Adugate exerciii n capitolul 11, corectate erorile n seciunea newline, completate comenzile din
capitolul 9, corecii minore n capitolul 10.
Versiunea 1.20
06-01-2006
Revizuit de: MG
mprit capitolul 7: seciunea despre audio se gsete acum n capitol separat, capitolul 11.
Revizuiri minore, actualizri pentru comenzi ca aptitude, mai multe despre mediile de stocare USB, telefonie
Internet, corecturi de la cititori.
Versiunea 1.13
27-04-2004
Revizuit de: MG
Corecturi de ultim moment nainte de a trimite materialul ctre Fultus pentru tiprire. Adugarea
referinelor Fultus n seciunea Revizuiri, revizuirea seciunilor Convenii i Organizare. Schimbri minore n
capitolele 4, 5, 6 i 8, adugarea informaiilor despre rdesktop n capitolul 10, revizuirea glosarului, nlocuirea
referinelor despre fileutils cu cele pentru coreutils, mulumiri ctre translatorii pentru limba hindu.
5. Contribuii
Mulumesc din inim tuturor oamenilor care i-au mprtit experiena lor. i, n special,
utilizatorilor de Linux belgieni, care au fost disponibili zi de zi i care au trimis comentariile lor foarte
folositoare.
De asemenea, un gnd bun ctre Tabatha Marshall, pentru c a fcut o revizuire complet,
corectur gramatical i de stil, i ctre Eugen Crosser, care a observat erorile trecute cu vederea de ctre
noi dou.
Mulumesc i tuturor cititorilor care m-au atenionat despre topicuri ce nu se regseau n ghid i
care m-au ajutat s rectific greelile i definiiile confuze, pentru c au gsit timp s-mi trimit remarcile lor.
Acetia sunt oamenii pentru care m strduiesc s menin acest ghid la zi, precum Filipus Klutiero, care a
3
fcut o revizuire complet n 2005 i 2006 i care m-a ajutat s includ ghidul n colecia de documentaie
Debian, i Alexey Eremenko, care mi-a trimis bazele de la care a plecat capitolul 11.
n 2006, Suresh Rajashekara a realizat un pachet Debian pentru aceast documentaie.
n sfrit, multe mulumiri ctre voluntarii care traduc acest ghid n limbile francez, suedez, farsi,
hindu i altele. Este o munc grea care nu ar trebui subestimat; v admir curajul.
mai
nti
ultima
versiune
disponibil,
la
adresa
de
Internet
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
comand
VARIABIL
opiune
argument
prompt
comand
opiune argumente
nume_fiier
Tast
Buton
MeniuAlege
Terminologie
Acest caracter, ntr-o captur din Terminal sau sintax de comand, indic o
linie neterminat. Cu alte cuvinte, dac vedei o comand mai lung, care este
prezentat n mai multe linii, \ nseamn Nu tastai nc Enter.
Sunt utilizate i urmtoarele imagini:
Aceasta este o not. Conine informaii adiionale sau anumite remarci.
Aceasta este o atenionare. nseamn s fii ateni.
Aceasta este o avertizare. nseamn s fii foarte ateni.
Sfaturi.
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.
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.
Ce este Linux-ul?
Unde i cum a luat natere Linux-ul?
Nu este Linux-ul acel sistem n care totul este fcut n modul text?
Are Linux-ul viitor, sau este doar o fantezie?
Care sunt avantajele utilizrii Linux-ului?
Care sunt dezavantajele?
Cte feluri de Linux exist i cum aleg ceea ce mi se potrivete mie?
Ce sunt micrile Sursa deschis i GNU?
1.1. Istoric
1.1.1. UNIX
Pentru a nelege popularitatea Linux-ului, trebuie s cltorim napoi n timp, cu aproape 30 de
ani...
Imaginai-v calculatoare att de mari precum casele sau chiar stadioanele. n timp ce doar
mrimea acestora ridica probleme substaniale, exista ceva care fcea ca totul s fie i mai ru: fiecare
calculator avea un sistem de operare diferit. Programele erau ntotdeauna dedicate unui scop anume, iar un
program pentru un anume sistem nu rula pe un altul. A fi capabil s lucrezi cu un sistem nu nsemna c,
automat, poi lucra cu un altul. Era dificil, att pentru utilizatori, ct i pentru administratorii de sistem.
Calculatoarele erau deosebit de scumpe, iar sacrificii tot trebuiau fcute i dup achiziionarea
acestora, doar pentru a face utilizatorii s neleag modul de lucru al acestor maini. Costul total pe unitatea
de calcul era enorm.
Din punct de vedere tehnologic, lumea nu era att de avansat, aa c mrimea a mai pus
probleme pentru nc o decad. n 1969, o echip de dezvoltatori de la laboratoarele Bell Lab a nceput s
lucreze la o soluie pentru problema programelor, pentru a rezolva aspectele de compatibilitate. Ei au
dezvoltat un nou sistem de operare, care era:
1. Simplu i elegant.
2. Scris n limbajul de programare C n locul limbajului de asamblare.
3. Capabil s recicleze codul.
Dezvoltatorii de la Bell Labs au numit acest proiect UNIX.
Capabilitatea de reciclare a codului era foarte important. Pn atunci, toate sistemele de operare
comerciale care se gseau erau scrise ntr-un cod dezvoltat pentru un anume sistem. UNIX-ul, pe de alt
parte, avea nevoie doar de o poriune mic a acelui cod, care este numit acum kernel. Acest kernel este
singura poriune de cod care trebuie adaptat pentru un anume sistem i formeaz baza unui sistem UNIX.
Sistemul de operare i celelalte funcii au fost construite n jurul acestui kernel i scrise ntr-un limbaj de
programare mai evoluat, C.
Acest limbaj a fost dezvoltat n mod special pentru realizarea sistemului UNIX. Utiliznd noua
tehnic, a fost mult mai uor s se dezvolte un sistem de operare care s ruleze pe echipamente diferite.
Comercianii de programe s-au adaptat repede, deoarece puteau acum s vnd de zeci de ori
mai mult, aproape fr efort. Situaii noi i ciudate au aprut: imaginai-v de exemplu calculatoare de la
diferii productori care comunic n aceeai reea, sau utilizatori care lucreaz pe maini diferite fr a avea
nevoie de instruire. UNIX-ul a ajutat mult pe utilizatori n privina compatibilitii cu calculatoare diferite.
Pe parcursul urmtoarelor dou decade, dezvoltarea UNIX-ului a continuat. Mai multe lucruri au
7
devenit posibile, iar din ce n ce mai muli productori de echipamente i programe au adugat suport pentru
UNIX n produsele lor.
UNIX-ul se gsea iniial numai n medii dedicate, alctuite din servere i minicalculatoare (luai not
de faptul c PC-ul este un micro calculator). Trebuia s lucrezi ntr-o universitate, pentru guvern sau pentru
o mare corporaie financiar pentru a atinge un sistem UNIX.
Dar calculatoare mai mici au aprut treptat i, pe la sfritul anilor 80, muli oameni aveau
calculatoare acas. La acel timp, existau cteva versiuni de UNIX destinate arhitecturii PC, dar nici una din
ele nu era cu adevrat liber sau gratuit i, ceea ce era mai important: toate erau extrem de ncete, aa c
cei mai muli oameni rulau MS DOS sau Windows 3.1 pe calculatoarele de acas.
nc de la nceput, elul lui Linus a fost s aib un sistem care s fie pe deplin compatibil cu UNIXul original. De aceea ntreba despre standardul POSIX, acesta fiind i acum standardul pentru UNIX.
n acele zile nu se inventase nc ceea ce cunoatem azi a fi plug-and-play, dar destul de muli
oameni doreau un sistem UNIX al lor, nct acest lucru era considerat doar un mic obstacol. Drivere noi
pentru tot felul de dispozitive au devenit disponibile, cu o vitez din ce n ce mai mare. Aproape c de ndat
ce un nou dispozitiv era scos pe pia, cineva l cumpra i l supunea testrii n Linux, dup cum a nceput
s fie cunoscut sistemul, conducnd la apariia codului liber destinat unei palete largi de echipamente. Aceti
programatori nu se opreau la propriul PC; orice dispozitiv gseau era folositor Linux-ului.
Pe atunci, aceti oameni erau numii ncuiai sau ciudai, dar asta nu conta pentru ei, att timp
ct lista cu dispozitivele suportate devenea din ce n ce mai lung. Mulumit acestor oameni, Linux-ul nu
numai c ruleaz ideal pe un calculator nou, dar este i singura alegere n cazul unor dispozitive vechi sau
exotice, care ar fi inutilizabile dac Linux-ul nu ar fi existat.
La doi ani dup aceast postare a lui Linus, existau 12000 de utilizatori de Linux. Proiectul, popular
printre hobiti, a crescut constant, rmnnd n permanen n graniele standardului POSIX. Toate
capabilitile UNIX-ului au fost adugate pe parcursul urmtorilor doi ani, rezultnd sistemul de operare
matur care este astzi. Linux-ul este o clon complet a UNIX-ului, potrivit pentru staiile de lucru, dar i
pentru zona de mijloc sau sectorul de vrf al serverelor. n zilele noastre, muli juctori importani de pe piaa
de dispozitive i programe au propriile echipe de dezvoltatori Linux. Din magazinele aflate n zona
dumneavoastr putei chiar cumpra sisteme care au Linux-ul preinstalat, cu suport tehnic asigurat, dup
cum este adevrat i faptul c exist dispozitive i programe care nu sunt nc integrate.
Office, precum procesoare de text, foi pentru calcul tabelar, prezentri i altele de acest gen.
n ceea ce privete serverele, Linux-ul este binecunoscut ca o platform stabil i de ncredere,
asigurnd baze de date i servicii de comer pentru companii precum Amazon, faimoasa librrie online,
Serviciul potal al S.U.A., Armata german, i multe altele. n special, furnizorii de Internet i furnizorii de
servicii pe Internet s-au dezvoltat ajutai de Linux ca firewall, server proxy sau web; vei gsi un sistem Linux
la ndemna oricrui administrator de sisteme UNIX, care l apreciaz drept o staie confortabil de
gestionare. Sistemele Linux au fost folosite n realizarea unor filme ca Titanic, Shrek i altele. n oficiile
potale, ele sunt centrii nervoi care sorteaz corespondena, iar n marile motoare de cutare ele sunt
folosite pentru a realiza cutrile pe Internet. Acestea sunt doar cteva din miile de lucruri complexe pe care
le realizeaz Linux-ul zi de zi, n toat lumea.
Este demn de menionat c Linux-ul modern nu ruleaz numai pe staii de lucru i servere din
sectoarele de mijloc sau de vrf, ci i pe gadgeturi ca PDA-uri, telefoane mobile, multe echipamente
dedicate, chiar i pe ceasuri de mn experimentale. Acest lucru face din Linux singurul sistem de operare
din lume care acoper o att de larg varietate de echipamente.
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
Odat cu pachetele pentru calculatoarele personale vine i atenia acordat utilizatorilor de rnd, manifestat
i prin implementarea cererilor acestora, care devin mai complexe i mai solicitante pe zi ce trece.
Comunitatea Sursei deschise, format n principal din oameni care au contribuit mai bine de
jumtate de deceniu, garanteaz poziia de juctor important a Linux-ului pe piaa calculatoarelor personale,
precum i pe cea a aplicaiilor generale din domeniul IT. Angajai pltii, mpreun cu voluntari, lucreaz cu
srguin pentru ca Linux-ul s-i menin poziia pe pia. Mai muli utilizatori nseamn mai multe ntrebri.
Comunitatea Sursei deschise se asigur c rspunsurile vin nencetat i supravegheaz calitatea acestor
rspunsuri cu o atitudine critic, adugnd astfel mai mult stabilitate i accesibilitate.
Acest ghid nu i propune s listeze toate programele existente pentru Linux, deoarece exist zeci
de mii de pachete. Prin acest curs v vom prezenta cele mai utilizate pachete, care sunt aproape n totalitate
disponibile gratuit. Pentru a v elibera de teama pe care o simte un utilizator nceptor, v prezentm o
captur a unui program foarte dorit de dumneavoastr. Putei observa c au fost depuse toate eforturile
pentru ca cei care renun la Windows s se simt ca acas:
Figura 1-1. Foi de calcul OpenOffice compatibile cu MS Office
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.
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:
manipularea
1.7. Exerciii
Un exerciiu practic pentru nceptori: instalai Linux-ul pe calculatoarele dumneavoastr. Citii
manualul distribuiei alese i/sau CUM S instalm i punei-v pe treab.
Citii documentaia!
Cele mai multe erori survin pentru c informaiile furnizate pe parcursul instalrii nu sunt citite.
Citirea acestor mesaje cu atenie este primul pas pe drumul spre succes.
Lucruri pe care trebuie s le tii NAINTE de a ncepe o instalare a Linux-ului:
Calculatorul acesta este un gateway/router/firewall? (Dac trebuie s v gndii prea mult la aceast
15
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
care le pot aciona cu mausul, pentru a face fa tuturor sarcinilor. Aceast unealt este consola i, din
mediul grafic, putei s o activai prin deschiderea unei ferestre terminal.
Terminalul este panoul de control al sistemului dumneavoastr. Aproape orice lucru din cele ce
urmeaz poate fi fcut folosind aceast unealt text, simpl dar puternic. O fereastr terminal ar trebui s
arate ntotdeauna un prompter standard, care afieaz numele utilizatorului i directorul curent n care se
lucreaz, reprezentat de simbolul :
Figura 2-1. Fereastra terminal
n exemplul de mai sus, user va fi numele dumneavoastr de utilizator, host numele calculatorului
pe care lucrai i dir indic locul n care v aflai n sistemul de fiiere.
Mai trziu vom vorbi despre promptere i despre comportamentul acestora n detaliu. Acum este
suficient s tii c ele afieaz tot felul de informaii, dar nu sunt parte a comenzilor pe care le dai
sistemului.
Pentru a iei din sistem n mediul grafic, trebuie s nchidei toate ferestrele terminal i alte aplicaii
pe care le-ai deschis. Dup care apsai pe iconia de Ieire (Log Out) din meniu. Nu este neaprat necesar
s nchidei totul, sistemul poate face acest lucru n locul dumneavoastr, dar managerul de sesiune poate
restaura acele aplicaii lsate deschise atunci cnd v reautentificai, ceea ce va lua mai mult timp, iar pe de
alt parte, deschiderea lor nu este ntotdeauna ceea ce dorii s se ntmple. Acest comportament se poate
configura, n funcie de preferinele fiecruia.
Atunci cnd vedei din nou fereastra de autentificare, care v cere numele de utilizator i parola,
nseamn c v-ai deconectat.
Gnome sau KDE?
Am menionat ambele medii grafice de lucru, Gnome i KDE, de mai multe ori. Ele sunt cei mai
cunoscui administratori grafici prin care v putei gestiona spaiul de lucru, dei exist mult mai muli. Orice
administrator grafic alegei este bun att timp ct tii s deschidei un terminal. Totui, noi vom continua
s ne referim la Gnome i la KDE pentru a v prezenta unele metode prin care putei realiza anumite sarcini.
Conectarea este diferit de cea din modul grafic, n acest caz trebuind s apsai tasta Enter dup
ce introducei numele de utilizator, deoarece nu sunt butoane pe ecran pe care s le putei apsa cu mausul.
18
Apoi trebuie s introducei parola, urmat de apsarea din nou a tastei Enter. Nu vei observa nici o indicaie
a ceea ce introducei de la tastatur, nici mcar asteriscuri i nu vei vedea cursorul micndu-se. Este un
lucru normal n Linux i este aa din cauza cerinelor de securitate.
Atunci cnd sistemul v recunoate ca utilizator legitim, putei primi mai multe informaii, numite
mesajele zilei, care pot fi orice. n plus, este rspndit practica prin care sistemele UNIX s afieze o
consideraie care s conin anumite gnduri, nelepte sau nu (depinde de fiecare). Dup acestea, va porni
consola, indicat de acelai prompter pe care l primii n modul grafic.
Nu v autentificai ca administrator (root)
Este valabil i n modul text: autentificai-v ca root numai pentru a face setri i configurri ale
sistemului care necesit privilegii de administrator, precum adugarea de utilizatori, instalarea pachetelor de
programe, configurarea reelei i altele de acest fel. Odat ce ai terminat, prsii imediat contul special i
continuai-v munca pe un cont de utilizator obinuit. Ca alternativ, unele sisteme, precum Ubuntu, v
foreaz s folosii sudo, pentru a nu avea nevoie de acces direct la un cont de administrator.
Deconectarea se face prin comanda logout, urmat de apsarea tastei Enter. Suntei deconectat
atunci cnd este afiat din nou ecranul de autentificare.
Butonul de oprire
Deoarece Linux-ul nu a fost proiectat s fie oprit fr a trece prin procedurile adecvate de nchidere
a sistemului, apsarea butonului de oprire lanseaz aceste proceduri pe sistemele mai noi. Oprirea unui
sistem mai vechi fr a trece prin procedurile de nchidere poate duce la distrugerea sistemului. Dac dorii
s fii siguri c acionai corect, folosii butonul de Oprire atunci cnd v aflai n interfaa grafic, iar atunci
cnd suntei n ecranul de autentificare (n care trebuie s introducei un nume de utilizator i o parol)
cutai un buton de oprire.
Acum, pentru c tim cum s ne autentificm la sistem i s ieim din el, suntem gata pentru
primele noastre comenzi.
Ce execut
ls
cd director
schimb directorul
passwd
file filename
cat textfile
pwd
terminare sesiune
man comand
info comand
apropos string
2.2.2. Generaliti
Aceste comenzi le vei introduce dup prompter, ntr-o fereastr terminal, dac suntei n modul
19
Ctrl+C
Ctrl+D
Ctrl+E
Ctrl+H
Ctrl+L
Ctrl+R
Ctrl+Z
Sgeat stnga i
Sgeat dreapta
20
Shift+PageUp sau
Shift+PageDown
Navigare prin terminal (pentru a vedea textul care a ieit din ecran).
Tab
Tab Tab
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
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
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.
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.
24
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
2.4. Sumar
Sistemul de operare Linux lucreaz tradiional n modul text sau n modul grafic. Deoarece costul
procesoarelor i al RAM-ului nu mai este exorbitant n zilele noastre, orice utilizator de Linux poate lucra n
modul grafic i va face o regul din acest lucru. Asta nu nseamn ns c nu trebuie s tii nimic despre
modul text: vom lucra n mediul liniei de comand pe parcursul acestui curs folosind o fereastr terminal.
Linux-ul ncurajeaz utilizatorii s acumuleze cunotine i s devin independeni. Inevitabil, va
trebui s citii mult documentaie pentru a reui; de aceea, dup cum vei vedea, v vom ndruma ctre alte
surse de documentare pentru aproape orice comand, unealt sau problem prezentate n aceast carte.
Cu ct citii mai mult documentaie, cu att mai repede v vei obinui cu manualele i vei nelege mai
uor coninutul acestora. Facei-v ct mai curnd un obicei din citirea documentaiei. Atunci cnd nu tii
rspunsul la o problem, cutarea prin documentaie ar trebui s fie prima dumneavoastr opiune.
Am nvat cteva comenzi:
Tabelul 2-3. Comenzi noi n capitolul 2: S ncepem
Comanda
nelesul comenzii
apropos
cat
cd
Schimb directorul
exit
file
info
logout
ls
man
passwd
pwd
26
2.5. Exerciii
Multe lucruri din cele pe care le nvm sunt despre cum se pot face greeli i cum putem s
evitm s perseverm n a le face. Exerciiile urmtoare sunt importante pentru c v pune n situaia de a
citi unele mesaje de eroare. Ordinea n care le facei este foarte important.
Nu uitai s folosii facilitile oferite de Bash n ceea ce privete linia de comand: ncercai s
facei exerciiile tastnd ct mai puine caractere posibile!
2.5.2. Parole
Autentificai-v din nou cu numele dumneavoastr de utilizator i cu parola.
ncercai din nou cu o parol ridicol de simpl, precum 123 sau aaa .
Ce se ntmpl?
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?
2.5.4. Fiierele
Schimbai directorul pe / i apoi pe etc. Tastai ls; dac rspunsul calculatorului este mai
mare dect fereastra, facei-o mai lung sau ncercai Shift+PageUp i Shift+PageDown.
Fiierul inittab conine rspunsul la ntrebarea urmtoare. ncercai comanda file pe acesta.
Fiierul inittab nu se regsete n Ubuntu
Nu putei aplica acest exerciiu pentru aceast distribuie. Putei ncerca cu /etc/event.d/rcdefault dar nu este vorba despre acelai fiier, dup cum se vede, iar ceea ce se returneaz la comanda
cat /etc/event.d/rc-default este dificil de nelesn.t..
Tipul fiierului inittab este .....
numrare a liniilor returnate pentru a numra ci utilizatori sunt listai n fiierul /etc/passwd.
29
Cele mai multe fiiere speciale se gsesc n /dev, le vom discuta mai trziu.
Legturi: un sistem pentru a face un fiier sau un director vizibil n mai multe pri ale sistemului de
fiiere. Vom discuta n detaliu despre aceste legturi.
30
Socket-uri (de domenii): un fel special de fiiere, asemntoare cu socket-urile TCP/IP, care asigur
desfurarea proceselor n reea, protejate prin controlul asupra accesului la sistemul de fiiere.
Numite conexiuni (pipe): se comport mai mult sau mai puin ca socket-urile i formeaz o cale
pentru comunicarea ntre procese, fr a utiliza semantica socket-urilor de reea.
Opiunea -l a comenzii ls v afieaz tipul fiierului, utiliznd primul caracter al fiecrei linii:
Fiier obinuit
Director
Legtur
Fiier special
Socket
Dispozitiv
Pentru a nu afia mereu listarea amnunit doar pentru a vedea felul fiierelor, mai multe sisteme,
n mod normal, utilizeaz i comanda ls -F, care pune naintea fiecrui nume de fiier unul din caracterele /
=*l@ pentru a indica felul fiierului.
Pentru a face totul mai accesibil utilizatorului nceptor, ambele opiuni, -F i --color sunt
combinate, precum se arat n Seciunea 3.3.1.1. Noi vom folosi ls -F pe parcursul acestui document,
pentru o afiare a tipului de fiier mai la obiect.
Pentru Ubuntu, rspunsul la comanda ls ia n considerare din oficiu opiunea --color, felul
fiierelor fiind evideniat prin culorin.t..
Ca utilizator, vei folosi doar fiiere obinuite, fiiere executabile, directoare i legturi. Tipurile
speciale de fiiere sunt gndite pentru a face sistemul s execute ceea ce dorii dumneavoastr i sunt
mnuite de administratorii de sistem i de programatori.
Acum, nainte de a ne apleca asupra directoarelor i fiierelor importante, trebuie s nvm mai
multe despre partiii.
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,
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:
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:
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.
34
Acesta este tiparul unui sistem RedHat. n funcie de administratorul sistemului, de distribuie i de
destinaia calculatorului n cauz, structura poate varia pentru c directoarele pot fi adugate sau scoase
dup dorin. Nici numele directoarelor prezentate mai sus nu sunt neaprat necesare n aceast form; ele
sunt doar o convenie.
Structura arborescent a sistemului de fiiere ncepe cu trunchiul, indicat de caracterul ( / ). Acest
director, care conine toate directoarele i fiierele sistemului, este numit directorul root sau rdcina
sistemului de fiiere.
Directoarele care se afl pe palierul imediat urmtor directorului rdcin (root) sunt adesea
precedate de caracterul ( / ), pentru a indica poziia acestora i pentru a evita confuzia cu alte directoare care
pot avea acelai nume. Atunci cnd ncepei s lucrai pe un sistem nou, este o idee bun s explorai
directorul rdcin al acestuia. Iat ce putei obine:
Director
Coninut
/bin
/boot
Fiierele necesare pornirii sistemului i kernelul, vmlinuz. n unele distribuii recente, datele
grub. Grub vine de la GRand Unified Boot Loader i este o ncercare de a scpa de diversele
ncrctoare de sistem care exist azi.
/dev
/etc
Cele mai importante fiiere de configurare ale sistemului sunt n directorul /etc, acest director
coninnd date asemntoare cu cele din Panoul de control al Windows-ului.
/home
/initrd
/lib
Fiierele librriilor, care includ fiierele programelor folosite de sistem sau de utilizatori.
/lost+found
Fiecare partiie are un lost+found (pierdute i gsite) n directorul principal. Fiierele salvate n
urma avariilor sunt n acest director.
/misc
/mnt
Punctul standard de montare pentru sisteme de fiiere externe, cum ar fi CD-ROM sau camere
digitale.
/net
/opt
/proc
Un sistem de fiiere virtual care conine informaii despre resursele sistemului. Mai multe
informaii despre nelesul fiierelor din proc sunt obinute prin comanda man proc
introdus ntr-o fereastr terminal. Fiierul proc.txt discut sistemul de fiiere virtual n
detaliu.
/root
/sbin
/tmp
Spaiu pentru folosina temporar a sistemului, care este ters la repornire, aa c nu l folosii
pentru a salva ceva!
/usr
/var
Loc de stocare pentru toate fiierele variabile i temporare create de utilizatori, precum fiiere
jurnal, pot electronic n ateptare, fiiere care ateapt s fie tiprite, fiiere descrcate de
pe Internet, sau fiiere care pstreaz imaginea unui CD nainte de scrierea acestuia.
Cum putei afla crei partiii i aparine un director? Folosind comanda df cu un punct (.) drept
35
opiune, se afieaz partiia creia aparine directorul n care ne aflm i informaii despre spaiul utilizat pe
aceast partiie:
Ca regul, fiecare director care se afl imediat sub directorul rdcin se afl pe partiia root, cu o
singur excepie: s nu fie afiat ca intrare separat n listarea complet returnat la comanda df (sau df -h
fr alte opiuni).
Citii mai multe despre acest subiect n man hier.
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.
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:
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
~/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:
38
Exist tot felul de definiii, care ncep cu simpla comparaie care spune consola este precum volanul unei
maini, includ definiia destul de vag din manualul Bash: consola este un interpretor de comenzi
compatibil cu limbajul sh i se termin cu expresia, i mai obscur, consola asigur interaciunea dintre
sistem i utilizatorii acestuia. Consola este mai mult dect att.
Cea mai potrivit imagine este aceea potrivit creia consola este o cale de comunicare cu sistemul,
un limbaj. Cei mai muli utilizatori folosesc alt limbaj, cel al clicului de maus, dezvoltat pentru spaiul de lucru.
Dar n acest limbaj calculatorul conduce conversaia, utilizatorul avnd doar un rol pasiv, n care poate alege
doar dintre sarcinile care i sunt oferite. Este greu pentru un programator s includ toate opiunile i toate
comenzile, cu posibilitile lor, ntr-o interfa grafic. De aceea, interfeele grafice (GUI`s) sunt mai puin
capabile dect comanda sau comenzile care sunt incluse n suportul (backend-ul) sistemului.
Consola, pe de alt parte, este o cale avansat prin care comunicai cu sistemul, deoarece permite
o comunicare n ambele sensuri, n care dumneavoastr putei chiar prelua iniiativa. Ambii parteneri sunt
egali, aa c pot fi testate noi idei. Consola permite utilizatorilor s foloseasc sistemul ntr-un mod flexibil. O
nsuire suplimentar este aceea prin care se poate realiza automatizarea sarcinilor.
3.2.3.2.2. Tipuri de console
Dup cum oamenii cunosc mai multe limbi i dialecte, calculatorul nelege i el mai multe tipuri de
console:
sh sau consola Bourne: consola original din sistemele UNIX, folosit nc n aceste
sisteme sau n mediile nrudite cu UNIX-ul. Este o consol de baz, un program mic cu cteva
faciliti. Atunci cnd este n modul compatibil POSIX, consola bash emuleaz comportamentul
consolei sh.
bash sau consola Bourne Again (Bourne Again SHell): este consola standard GNU,
intuitiv i flexibil. Recomandat pentru utilizatorii nceptori, este, n acelai timp, o unealt
puternic la ndemna celor avansai sau profesioniti. n Linux, bash este consola standard pentru
utilizatorii obinuii. Aceast consol mai este numit superconsola Bourne, deoarece conine mai
multe suplimente i module. Deci consola Bourne Again este compatibil cu consola Bourne:
comenzile care merg n sh vor funciona i n bash. Inversul nu este valabil ntotdeauna. Toate
exemplele i exerciiile din aceast carte folosesc consola bash.
csh sau consola C: sintaxa acestei console este asemntoare cu cea a limbajului de
programare C. Este solicitat ndeosebi de programatori.
tcsh sau consola Turbo C: este o dezvoltare a consolei C, mai prietenoas cu utilizatorii i
mai rapid.
ksh sau consola Korn: este apreciat mai mult de persoanele care au experien n mediul
UNIX. Este o dezvoltare a consolei Bourne; n configuraia standard, este un comar pentru
utilizatorii nceptori.
Fiierul /etc/shells v arat consolele existente ntr-un sistem Linux:
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
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
Pe parcursul acestui capitol vom vorbi despre comenzile pe care le folosim n gestionarea fiierelor
40
Fiier
Informaii/servicii
aliases
apache
bashrc
directoarele crontab i Configurrile sarcinilor care trebuie executate periodic executarea copiilor de
siguran, actualizri ale sistemului, curarea sistemului, actualizarea
cron.*
rapoartelor, etc.
default
filesystems
fstab
ftp*
Configurrile serverului ftp: cine se poate conecta, ce pri ale sistemului sunt
accesibile, etc.
group
hosts
inittab
issue
ld.so.conf
lilo.conf,
silo.conf,
aboot.conf, etc.
logrotate.*
modules.conf
motd
Mesajul zilei: este artat oricui se conecteaz la sistem (n modul text), poate fi
41
mtab
nsswitch.conf
pam.d
passwd
printcap
profile
rc*
resolv.conf
sendmail.cf
services
sysconfig
X11
xinetd.* sau
inetd.conf
Pe parcursul acestui ghid vom afla mai multe lucruri despre aceste fiiere i vom studia cteva n
detaliu.
Nume
Dispozitiv
cdrom
Unitate CD
console
cua*
Porturi seriale
dsp*
42
fd*
hd [a-t] [1-16]
ir*
Dispozitive infrarou
isdn*
js*
Joystick-uri
lp*
Imprimante
mem
Memorie
midi*
Player midi
mixer* i music
modem
Modem
null
par*
pty*
Pseudoterminale
radio*
ram*
sd*
sequencer
tty*
usb*
video*
43
normal dac nu ai schimbat contient nsuirile /var/tmp (ca root, deoarece un utilizator obinuit nu o
poate face).
Orice ai face, ncercai s v limitai la privilegiile asociate unui utilizator obinuit nu salvai fiiere
direct n seciunea de root ( / ) a sistemului de fiiere, nu le punei n directorul /usr sau n subdirectoarele
acestuia ori n alt loc dedicat. Astfel v este limitat accesul doar la fiierele sigure, care nu implic modificri
majore n sistem.
Unul dintre principalele sisteme de securitate dintr-un sistem UNIX, implementat, de asemenea, pe
toate mainile Linux, este facilitatea de pstrare a fiierelor jurnal, care nregistreaz toate aciunile
utilizatorilor, procesele, evenimentele din sistem, etc. Fiierul de configurare al aa-numitului syslogdaemon
determin unde i pentru ct timp vor fi pstrate informaiile din fiierele jurnal. Locul implicit pentru fiierele
jurnal este /var/log, i conine jurnalele de acces, jurnalele serviciilor, mesajele de sistem, .a..
n directorul /var sunt i datele serverelor, care sunt inute aici pentru a fi separate de datele
sensibile, precum programele n sine i fiierele de configurare. Un exemplu tipic sistemelor Linux este
directorul /var/www, care conine paginile HTML, scripturile i imaginile pe care le ofer serverul. V
sftuim ca i sistemul de fiiere FTP care se afl pe un server FTP (datele care pot fi descrcate de un
client aflat la distan) s fie pstrate ntr-un subdirector al lui /var. Pentru c aceste date sunt accesibile
publicului i schimbate adesea de utilizatori necunoscui, este mai sigur s le pstrai aici, departe de
partiiile i directoarele care conin date sensibile.
n cazul celor mai multe instalri ca staii de lucru, /var/spool va conine cel puin un director
at i altul cron, n care vom gsi sarcinile programate. Pe staiile de lucru pe care sunt instalate
programele pentru birou, acest director conine i lpd, care pstreaz informaii despre lucrrile care
ateapt tiprirea, fiierele de configurare ale imprimantei, ct i fiierele jurnal ale acesteia.
Pe sistemele folosite ca servere vom gsi, n general, directorul /var/spool/mail, care
conine mailurile primite de utilizatorii locali, stocate n fiiere separate pentru fiecare utilizator, aa numita
csu a utilizatorului (user`s inbox). Un director nrudit este mqueue, coada de ateptare pentru
mesajele de pot electronic netrimise nc. Aceste pri ale sistemului pot fi foarte solicitate n cazul
serverelor de mail care au foarte muli utilizatori. Serverele de tiri folosesc i ele directorul /var/spool
din cauza cantitilor enorme de mesaje pe care le proceseaz.
Directorul /var/lib/rpm este specific distribuiilor bazate pe RPM (Administratorul de pachete
din RedHat); este locul n care sunt stocate informaiile despre pachetele RedHat. Ali administratori de
pachete pstreaz datele specifice tot n acest director /var.
44
n cele mai multe distribuii de Linux, comanda ls este executat implicit sub forma aliasului colorls. Aceast facilitate v permite vizualizarea tipului fiierelor fr a folosi vreo opiune asupra ls. Pentru a v
arta aceste informaii, fiecare tip de fiier este prezentat printr-o culoare distinct. Schema standard se afl
n /etc/DIR_COLORS:
Tabelul 3-5. Schema implicit de culori pentru color-ls
Culoare
Tip de fiier
albastru
directoare
rou
arhive comprimate
alb
fiiere text
roz
imagini
cyan
legturi
galben
dispozitive
verde
executabile
Caracter
Tip de fiier
nimic
fiier obinuit
director
fiier executabil
legtur
socket
O descriere complet a funciilor i facilitilor comenzii ls poate fi citit prin comanda info
coreutils ls.
45
Comanda file poate fi folosit cu mai multe opiuni; opiunea -z v permite s v uitai n fiierele
comprimate. Utilizai comanda info file pentru o descriere detaliat. S nu uitai c rezultatul comenzii file
nu este unul absolut, ci o presupunere. Cu alte cuvinte, file poate fi pclit.
De ce se acord o atenie att de mare tipului i proprietilor fiierelor?
Pe scurt, vom discuta cteva unelte proprii liniei de comand pentru a privi n fiierele text simplu.
Aceste unelte nu vor funciona dac sunt folosite pe tipuri greite de fiiere. n cel mai ru caz, ele vor
determina nchiderea consolei i/sau vei auzi multe proteste pe ieirea audio. Dac vi se ntmpl acest
lucru, nchidei sesiunea curent a terminalului i deschidei una nou. ns ncercai s evitai producerea
46
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
Merit s v familiarizai cu aceste aplicaii, pentru c ele impresioneaz de obicei pe cei nou venii
n Linux, iar despre faptul c avei de unde alege, v putem spune c aplicaiile prezentate mai sus sunt doar
47
cele mai ntrebuinate unelte de administrare a directoarelor i fiierelor, multe alte proiecte aflndu-se n
dezvoltare. Acum vom ptrunde n esena lor i vom vedea cum aceste unelte grafice folosesc comenzile
obinuite ale UNIX-ului.
3.3.2.2 Uneltele
3.3.2.2.1. Crearea directoarelor
O cale prin care putei pstra lucrurile sub control este s alocai anumitor fiiere locuri implicite
prin crearea de directoare i subdirectoare (sau foldere i subfoldere, dac preferai s le numii astfel).
Acest lucru se face prin comanda mkdir:
Crearea directoarelor i subdirectoarelor ntr-un singur pas se realizeaz prin opiunea -p:
Dac noul fiier are nevoie de alte permisiuni dect cele alocate implicit, noile drepturi de acces pot
fi configurate ntr-un singur pas, tot prin comanda mkdir; consultai paginile Info pentru mai multe detalii.
Vom discuta modurile de acces n seciunea referitoare la securitatea fiierelor.
Numele unui director trebuie alocat dup aceleai reguli care se aplic fiierelor normale. Una din
cele mai importante restricii este c nu putei avea dou fiiere cu acelai nume ntr-un director (dar amintiiv ca Linux-ul trateaz, precum UNIX-ul, majusculele ca fiind semnificative). Teoretic, nu exist limite n
numrul de caractere care pot compune numele unui director, dar n practic sunt folosite maxim 80 de
caractere, pentru ca numele directorului s poat fi afiat pe o linie a terminalului. Putei folosi orice caracter
dorii n alctuirea numelui unui fiier, dar v sftuim s excludei caracterele care au un neles special n
consol. Dac avei dubii, verificai Appendix C.
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.
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.
Vom discuta n Capitolul 7, n care vom prezenta detalii despre personalizarea consolelor, modul n
49
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:
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:
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.
Introducei irul care conine criteriile dumneavoastr dup prompterul de cutare. Cu ct tastai
mai multe caractere, cutarea devine mai precis. Se citete istoricul comenzilor pentru aceast sesiune a
consolei (care este scris n .bash_history din directorul dumneavoastr personal la nchiderea
sesiunii). Este afiat cea mai bun potrivire cu criteriile dumneavoastr de cutare. Dac dorii s vedei
comenzile anterioare care conin acelai ir, apsai din nou Ctrl+R.
Apelai la paginile Info despre bash pentru detalii.
52
Toate sistemele de operare UNIX care se respect conin un dicionar. La fel i Linux-ul.
Dicionarul este o list a cuvintelor cunoscute ntr-un fiier numit words, care se gsete n /usr/share/
dict (n cazul Ubuntu, directorul este /etc/dictionaries-common/words). Pentru a verifica rapid
ortografia unui cuvnt, nu este necesar nici o aplicaie grafic:
find i locate sunt folosite adesea n combinaie cu programul grep pentru a defini cutri mai
rafinate. Pentru mai multe informaii, consultai Capitolul 5, partea despre redirecionarea I/O.
3.3.4. Mai multe moduri n care putei afia coninutul unui fiier
3.3.4.1. Generaliti
n afar de comanda cat, care nu prea face altceva n afar de a trimite fiierele la ieirea standard,
exist alte unelte pentru a vizualiza coninutul unui fiier.
Cea mai uoar cale este, desigur, utilizarea interfeei grafice pentru utilizator n locul uneltelor linie
de comand. n introducerea acestei lucrri am aruncat o privire asupra unei aplicaii de birou,
OpenOffice.org. Alte exemple sunt GIMP (putei s-l pornii cu gimp din linia de comand), programul de
manipulare a imaginilor din GNU ( GNU Image Manipulation Program); xpdf pentru a vizualiza documentele
n format PDF (Portable Document Format); GhostView (gv) pentru fiierele PostScript; Mozilla/Firefox, links
(un navigator n modul text), Konqueror, Opera i multe altele pentru coninutul web; XMMS, Cdplay i altele
pentru fiiere multimedia; AbiWord, Gnumeric, Koffice, etc. pentru tot felul de aplicaii pentru birou i tot aa.
Exist mii de aplicaii pentru Linux; pentru a le meniona pe toate avem nevoie de cteva zile.
53
n schimb, ne vom concentra pe aplicaiile pentru consol sau aplicaiile pentru mediul text, pentru
c ele formeaz baza tuturor celorlalte aplicaii. Aceste comenzi se aplic n mediul text acelor fiiere care
conin text. Dac avei dubii legate de un fiier, verificai-l prin comanda file.
S cunoatem deci uneltele text pe care le avem la dispoziie pentru a privi n coninutul fiierelor.
Probleme legate de fonturi
Uneltele text simplu, precum cele pe care le vom discuta acum, au adesea probleme cu fiierele
care conin text simplu, din cauza codrii folosite pentru fonturile din aceste fiiere. Caracterele speciale,
cum sunt caracterele alfabetice care sunt accentuate, caracterele chinezeti i alte caractere ale unor limbi
ce folosesc un tipar diferit de codarea implicit en_US, sunt afiate incorect sau nlocuite cu gunoaie care nu
pot fi citite.
Aceste probleme sunt discutate n Seciunea 7.4.
La nceput a fost cat. Rezultatul comenzii era difuzat ntr-un mod incontrolabil.
Apoi a fost pg, care poate fi gsit i acum pe unele UNIX-uri mai vechi. Aceast comand
afieaz textul la ieirea standard pagin cu pagin.
Programul more a fost o versiune revizuit a lui pg. Aceast comand este nc
disponibil pe orice sistem Linux.
less este versiunea GNU a comenzii more i dispune de mai multe faciliti care permit
evidenierea criteriilor de cutare, derularea, etc. Sintaxa este foarte simpl:
less numele_fiierului (less name_file)
Mai multe informaii sunt coninute de paginile Info.
Despre pagere avei deja o idee deoarece ele sunt folosite pentru a vizualiza paginile de manuale.
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
Legturi fizice: asociaz dou sau mai multe nume de fiiere aceluiai nod. Legturile fizice mpart
aceleai blocuri de date pe discul fix, n timp ce continu s se comporte ca fiiere independente.
Exist un dezavantaj care sare n ochi: legturile fizice nu pot sri peste partiii, deoarece numrul
asociat nodului este unic doar pentru partiia n cauz.
Legturi simbolice - numite i soft links (sau, pe scurt, symlink): un fiier mic care este un indicator
ctre alt fiier. O legtur simbolic conine traseul ctre fiierul int, n schimbul locului fizic de pe
discul fix al fiierului int. Deoarece nodurile nu sunt folosite n aceast metod, legturile simbolice
pot traversa partiii.
Cele dou tipuri de legturi se comport la fel, dar nu sunt acelai lucru, dup cum putei observa
din schema de mai jos:
Figura 3-2. Mecanismul legturilor fizice i simbolice
Trebuie s v spunem c dac tergei fiierul int al unei legturi simbolice, acea legtur nu mai
este folositoare.
Fiecare fiier obinuit este, n principiu, o legtur fizic. Legturile fizice nu pot traversa partiiile,
deoarece ele au ca referin nodurile (inodes), iar numrul unui nod este unic doar n interiorul unei partiii
date.
Se poate argumenta c exist un al treilea tip de legtur, legtura utilizator-spaiu, care este
similar unei scurtturi din sistemul MS Windows. Ele sunt fiiere care conin meta-date care pot fi
interpretate doar de administratorul grafic de fiiere. Pentru kernel i consol, aceste fiiere sunt fiiere
normale. Ele se pot termina cu sufixul (extensia) .desktop sau .lnk; exemple pot fi gsite n ~/ .gnomedesktop:
55
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 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.
Primul fiier este un fiier obinuit (proprietate artat de primul caracter, - ). Utilizatoarea cu
numele marise sau utilizatorii care aparin grupului users pot citi i scrie (adic schimba/muta/terge) acest
fiier, dar nu pot rula acest fiier ca program (a doua i a treia liniu). Toi ceilali utilizatori au doar
permisiunea de a citi acest fiier, dar nu l pot scrie sau rula/executa (cea de-a patra i a cincea liniu).
Cel de-al doilea exemplu este un fiier executabil, diferena: oricine poate rula acest program, dar
trebuie s fii root, administrator, pentru a-l schimba.
Paginile Info explic n ce mod comanda ls afieaz permisiunile n detaliu; consultai seciunea
Ce informaii sunt listate.
Pentru ca utilizarea comenzilor mpreun cu fiierele s fie ct mai facil, att permisiunile sau
modurile, drepturile de acces, ct i grupurile de utilizatori, au un cod. Consultai tabelul de mai jos.
Tabelul 3-7. Codurile care arat drepturile de acces.
Cod
neles
0 sau -
4 sau r
2 sau w
1 sau x
Cod
neles
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:
Tabelul 3-9. Protejarea fiierelor cu chmod
Comanda
nelesul comenzii
Un fiier care poate fi accesat public dar care poate fi schimbat doar de
utilizatorul care a introdus aceast comand.
Utilizatorii care aparin grupului tu pot schimba acest fiier pe cnd ceilali nu
au nici un fel de drepturi asupra lui.
58
Pentru fiierele care trebuie s fie citite sau rulate i de ctre ali utilizatori, dar
scrise (schimbate) doar de utilizatorul care a introdus comanda descris.
Cel de-al patrulea cmp n linia din fiierul /etc/passwd conine valoarea 501, care reprezint
grupul asim n exemplul de mai sus. Din /etc/group putem afla numele care corespunde acestui ID de
grup. Acestui grup, i nu altuia, va aparine asim la autentificarea iniial n sistem.
Schema de grup privat al utilizatorului
Pentru a permite o flexibilitate mrit, cele mai multe sisteme Linux folosesc o aa numit schem
de grup privat al utilizatorului, care asociaz fiecare utilizator cu grupul su primar. Acest grup este un grup
care conine numai acest utilizator particular, de unde numele de grup privat. De regul, acest grup are
acelai nume cu numele utilizatorului, ceea ce poate genera anumite confuzii.
n afar de acest grup privat, utilizatorul asim poate aparine i grupurilor user i web. Deoarece
aceste grupuri sunt grupuri secundare pentru utilizatorul nostru, el trebuie s foloseasc newgrp pentru a se
autentifica n oricare din ele (folosii mai nti gpasswd pentru a stabili parole pentru aceste grupuri). n
exemplul care urmeaz, asim dorete s creeze fiiere care s fie deinute de grupul web.
Acum, n momentul n care asim creeaz fiiere noi, acestea vor fi deinute de grupul web n loc s
fie deinute de grupul asim:
Autentificarea ntr-un grup nou v ajut s prentmpinai folosirea comenzii chown (vezi
Seciunea 3.4.2.4) sau chemarea administratorului de sistem pentru a schimba permisiunile asupra fiierelor
pentru dumneavoastr.
Consultai paginile man ale comenzii newgrp pentru mai multe informaii.
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:
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.
ct i la nivel de grup, pe cnd chgrp schimb doar grupul care deine acel fiier. Desigur, sistemul va
verifica dac utilizatorul care introduce aceste schimbri are suficiente permisiuni asupra fiierului sau
fiierelor asupra crora dorete s foloseasc aceste comenzi.
Pentru a modifica doar utilizatorul deintor al unui fiier, folosii sintaxa de mai jos:
chown utilizator_nou fiier
Dac folosii dou puncte dup numele de utilizator (consultai paginile Info), va fi modificat i
grupul deintor, n grupul primar al utilizatorului care introduce comanda. Pe sistemele Linux, fiecare
utilizator are propriul su grup, astfel c aceast form a comenzii poate fi folosit pentru a crea fiiere
private:
Dac jacky va dori s partajeze acest fiier, fr s ofere oricui permisiuni de scriere, poate folosi
comanda chgrp:
Astfel, utilizatorii din grupul project vor putea s lucreze cu acest fiier. Utilizatorii care nu aparin
grupului menionat nu au nici o treab cu acest fiier.
Ambele comenzi, chown i chgrp, pot fi folosite pentru schimbarea deintorilor recursiv, prin
opiunea -R. n acest caz, toate subdirectoarele i fiierele coninute ntr-un director vor aparine utilizatorului
sau/i grupului dat.
Restricii
Pe cele mai multe sisteme, folosirea comenzilor chown i chgrp este restricionat n cazul
utilizatorilor obinuii. Dac nu suntei administratorul sistemului, nu putei schimba utilizatorul sau grupul
care deine un anumit fiier, din motive care in de securitatea sistemului. Dac utilizarea acestor comenzi nu
ar fi restricionat, utilizatorii ru-intenionai pot modifica apartenena fiierelor la un utilizator sau la un grup
i ar putea schimba mediul de lucru al utilizatorilor legitimi sau chiar distruge fiierele celorlali utilizatori.
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:
3.5. Sumar
n UNIX, ct i n Linux, toate entitile sunt prezentate sistemului, ntr-un fel sau altul, ca fiiere
care au asociate anumite proprieti. Utilizarea traseelor (predefinite) permite utilizatorilor i administratorilor
de sistem s gseasc, citeasc i s mnuiasc fiierele.
Am fcut primii pai pe calea care ne va transforma n experi: am discutat structura adevrat i
cea presupus a unui sistem de fiiere i v-ai format o imagine despre modelul de securitate a fiierelor din
Linux, ct i despre alte cteva precauii de securitate care sunt aplicate implicit n orice sistem.
Consola este cea mai important unealt prin care interacionm cu sistemul. n acest capitol ai
nvat cteva comenzi pentru consol, pe care vi le prezentm din nou n tabelul de mai jos:
Comanda
nelesul comenzii
bash
Consola GNU.
cat fiier(e)
cd director
Schimb directorul.
cp fiierul_surs fiierul_int
df fiier
echo ir
export
file nume_fiier
head fiier
id
info comand
less fiier
ln fiier_int nume_legtur
locate criteriu_cutare
ls fiier(e)
man comand
mv fiier_vechi fiier_nou
newgrp nume_grup
pwd
quota
rm fiier
rmdir fiier
terge directoare.
tail fiier
umask [valoare]
wc fiier
which comand
63
w(rite)
scriere
(e)x(ecute)
execut
u(ser) - utilizator 4
g(roup) - grup
o(thers) - alii
Cine\Ce
r(ead)
citire
3.6. Exerciii
Autentificai-v ca utilizator obinuit (neprivilegiat).
3.6.1. Partiii
Afiai traseul dumneavoastr de cutare.
Exportai o cale inexistent, de exemplu export PATH=blah i ncercai s listai coninutul
directorului.
Care este traseul directorului dumneavoastr personal? Cum poate un alt utilizator s ajung la
directorul dumneavoastr personal, folosind un traseu relativ?
Mergei n directorul tmp din var.
Mergei n directorul share din usr folosind o singur comand. Schimbai directorul cu doc. Care
este directorul curent de lucru?
64
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:
66
Rularea unui proces n fundal este folositoare doar programelor care nu folosesc instruciuni de la
utilizator (prin intermediul consolei). Plasarea unei sarcini n fundal se face, ndeosebi, atunci cnd
executarea acelei sarcini necesit o perioad de timp mai mare. Pentru a elibera un terminal dup
introducerea unei comenzi, adugai dup comand caracterul & . n exemplul urmtor, n care se
lucreaz n mediul grafic, este deschis un alt terminal din interiorul precedentului:
Toate facilitile funciei de control a sarcinilor sunt explicate n detaliu n paginile Info ale consolei
(bash), aa c doar cele mai folosite aplicaii de control ale sarcinilor sunt listate aici:
Tabelul 4-1. Controlul proceselor
Semnificaie
comand_obinuit
comand &
jobs
Ctrl+Z
Ctrl+C
%n
Fiecare proces care ruleaz n fundal primete un numr prin care poate fi
identificat. Folosind expresia % putei s apelai acea sarcin, precum n fg %2.
bg
fg
kill
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
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.
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
n aceste cazuri, comanda grep, care caut linii coninnd irul bash, este afiat adesea pe
sistemele ale cror resurse nu sunt solicitate. Dac nu vrei ca acest lucru s se ntmple, folosii comanda
pgrep.
Consolele bash reprezint un caz special: lista proceselor arat, de asemenea, care dintre ele sunt
autentificate n consol (pentru care trebuie s furnizai numele de utilizator i parola, precum autentificarea
n modul text sau autentificarea la distan, diferite de cele care nu sunt autentificate n consol, pornite, de
exemplu, prin apsarea pictogramei ferestrei terminal). Procesele autentificate n consol sunt precedate de
caracterul - .
|?
Vom explica operandul | n capitolul care urmeaz, consultai Capitolul 5.
Mai multe informaii pot fi obinute, ca de obicei, pe cile obinuite: ps --help sau man ps.
Comanda GNU ps poate lucra cu mai multe stiluri de formate ale opiunilor. Exemplele urmtoare nu conin
erori.
Trebuie s inei minte c ps arat doar procesele active la momentul n care ai introdus aceast
comand, adic este o fotografie a proceselor la momentul respectiv. Programul top afieaz informaii mai
precise, actualiznd informaiile obinute cu ps (cu multe opiuni) la fiecare 5 secunde, genernd o list nou
cu procesele care ncarc substanial sistemul, integrnd n acelai timp mai multe informaii despre
utilizarea memoriei swap i despre starea procesorului (CPU), din fiierul proc:
69
Prima linie din listarea generat de comanda top conine aceleai informaii pe care le putei obine
prin comanda uptime:
Datele pentru aceste programe sunt stocate laolalt cu altele n /var/run/utmp (informaii
despre utilizatorii conectai) i n sistemul de fiiere virtual /proc, de exemplu /proc/loadavg
(informaii despre gradul de solicitare a sistemului). Exist tot felul de aplicaii grafice care arat aceste date,
precum Gnome System Monitor i lavaps. De la Fresh Meat i SourceForge vei putea instala zeci de
aplicaii care centralizeaz aceste informaii laolalt cu alte date specifice serverelor i jurnale de la mai
multe servere pe un singur server (web), ceea ce v permite monitorizarea ntregii infrastructuri IT de la o
singur staie de lucru.
Relaiile dintre procese pot fi afiate prin comanda pstree:
70
Opiunile -u i -a ofer informaii adiionale. Pentru mai multe opiuni i ceea ce fac ele,
consultai paginile Info.
n seciunea urmtoare vei afla cum un proces poate crea altul.
71
n cteva cazuri, init devine printe al unui proces chiar dac acest proces copil nu este pornit de
init, dup cum se vede n exemplul pstree. Multe programe, de exemplu, transform (daemonize) procesele
pornite de ele (procesele-copil) n servicii, pentru ca ele s poat rula i dup ce procesul-printe se oprete
sau este oprit. Administratorul de ferestre este exemplul tipic; el pornete un proces xterm care genereaz o
consol n care putei introduce comenzi. Apoi administratorul de ferestre respinge orice responsabilitate
ulterioar i paseaz procesul copil ctre init. Prin folosirea acestui mecanism, administratorii de ferestre pot
fi schimbai fr ntreruperea aplicaiilor n desfurare.
Cteodat lucrurile pot merge prost, chiar n familiile bune. n cazuri extrem de rare, un proces
poate fi stopat nainte ca printele care l-a pornit s atepte completarea ciclului normal. Un astfel de proces
terminat anormal, nengropat, se numete zombie.
4.1.5.3. Semnale
Procesele se termin deoarece ele primesc un semnal. Sunt multe semnale pe care le putei trimite
unui proces. Folosii comanda kill pentru a trimite semnale proceselor. Comanda kill -l arat o list care
conine mai multe semnale. Cele mai multe sunt folosite de sistem pentru uzul intern sau de programatori
atunci cnd scriu coduri. Ca utilizator, vei avea nevoie de urmtoarele semnale:
Tabelul 4-2. Semnale comune
Numele semnalului
Numrul semnalului
nelesul semnalului
SIGTERM
15
SIGINT
SIGKILL
SIGHUP
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
Dup primirea unui mesaj, terminalul poate fi eliberat prin combinaia de taste Ctrl+L. Pentru a nu
primi deloc mesaje (cu excepia celor din partea administratorului de sistem), folosii comanda mesg. Pentru
a consulta lista cu utilizatorii care accept mesaje, folosii who -w. Toate aspectele fiecrei comenzi sunt
explicate n amnunt n paginile Info ale comenzii respective.
Numele grupurilor pot fi altele
Schema grupurilor este specific fiecrei distribuii. Alte distribuii pot folosi alte nume sau alte
soluii.
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.
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.
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.
Putei configura nivelurile de rulare nefolosite (n mod obinuit este cazul nivelului 4) dup cum
dorii. Muli utilizatori configureaz aceste niveluri n moduri care li se potrivesc mai mult, lsnd nivelurile de
rulare standard neschimbate. Acest lucru le permite s se mute n i din configuraia lor particularizat fr
s modifice aranjamentul implicit al nivelurilor de rulare standard.
Dac sistemul dumneavoastr ajunge ntr-o stare n care nu poate porni datorit unui fiier /etc/
inittab necorespunztor sau dac nu v putei autentifica din cauz c fiierul /etc/passwd este
distrus (sau dac v-ai uitat pur i simplu parola), pornii sistemul n modul corespunztor unui singur
utilizator.
Fr grafic?
Atunci cnd lucrai n modul text din cauz c nu vi s-a prezentat un ecran grafic de autentificare n
consola calculatorului dumneavoastr, v putei muta n consola 7 sau mai sus pentru a obine un ecran
grafic de autentificare. Dac nu v aflai n acest caz, verificai nivelul de rulare curent prin comanda who -r.
Dac este stabilit pe altceva dect cel desemnat implicit n fiierul /etc/inittab, exist posibilitatea ca
sistemul s nu porneasc implicit n modul grafic. Luai legtura cu administratorul de sistem sau citii
77
paginile man init. Schimbarea nivelurilor de rulare este bine s fie fcut folosind comanda telinit; trecerea
din modul text ntr-o consol grafic sau invers nu implic schimbarea nivelului de rulare.
Discutarea nivelurilor de rulare, scripturilor i configuraiilor fcut n acest ghid este una care se
dorete ct mai general. Exist multe variaii. De exemplu, Gentoo Linux pstreaz scripturile n
/etc/runlevels. Alte sisteme pot trece mai nti prin unul sau mai multe niveluri de rulare pentru a
executa toate scripturile de acolo, nainte de a ajunge la nivelul de rulare final i a executa scripturile
coninute de acesta. Apelai la documentaia sistemului propriu pentru mai multe informaii. Putei, de
asemenea, s citii scripturile la care face referire /etc/inittab pentru a nelege mai bine ceea ce se
ntmpl cu sistemul dumneavoastr.
4.2.5.1. Uneltele
Utilitile chkconfig i update-rc.d, cnd sunt instalate n sistemul dumneavoastr, asigur o
unealt simpl n linie de comand, care este folositoare la verificarea ierarhiei directorului /etc/init.d.
Ele scutesc pe administratorul de sistem de la gestionarea manual a numeroaselor legturi simbolice care
se afl n subdirectoarele directoarelor /etc/rc[x].d.
n plus, anumite sisteme ofer unealt ntsysv, care asigur o interfa n modul text; vei afla c
aceasta este mai uor de folosit dect interfaa stil linie de comand a chkconfig. n SuSE Linux, vei gsi
uneltele yast i insserv. Pentru configuraia adresat utilizatorilor obinuii, putei ncerca DarkConf, care,
printre alte faciliti, ofer posibilitatea schimbrii nivelurilor de rulare ntre 3 i 5. n Mandriva, aceast
utilitate devine Mandriva Linux Control Center.
Cele mai multe distribuii ofer o interfa grafic pentru configurarea proceselor, verificai aadar
documentaia sistemului dumneavoastr.
Toate aceste utiliti trebuie rulate ca administrator. Tot administratorul de sistem poate crea
manual legtura potrivit n orice director de pe orice nivel de rulare, pentru a porni sau opri un serviciu pe
un nivel de rulare anume.
4.2.6. Oprirea
UNIX-ul nu a fost proiectat s fie nchis, dar dac trebuie neaprat, folosii comanda shutdown.
Dup completarea procedurilor de nchidere, opiunea -h va opri sistemul, n timp ce -r l va reporni.
Comenzile reboot i halt sunt disponibile pentru a apela comanda shutdown atunci cnd sistemul
se afl n nivelurile de rulare de la 1 la 5, asigurndu-se prin ele oprirea corect a sistemului, dar v facei un
obicei prost, ntruct nu toate versiunile de UNIX/Linux dispun de aceste faciliti.
Dac sistemul dumneavoastr nu se oprete definitiv, nu trebuie s-l oprii dect dup ce primii un
mesaj prin care vi se spune c sistemul este oprit sau c a terminat procedurile de oprire, pentru a da timp
sistemului s demonteze partiiile. Dac suntei nerbdtor, putei cauza pierderi de date.
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
...
80
4.3.5.1. Prioriti
Prioritatea sau importana unui serviciu este determinat de numrul su amical. Un program cu un
numr amical mare este prietenos fa de alte programe, ali utilizatori i fa de sistem; nu este o sarcin
important. Cu ct numrul amical este mai mic, cu att este mai important sarcina i vor fi folosite mai
multe resurse fr a le mpri cu alte programe.
Mrirea numrului amical al programelor pentru a le face mai prietenoase este folositoare pentru
procesele care solicit mult procesorul (compilatoare, aplicaii matematice i altele de acest fel). Procesele
care folosesc intensiv timpii I/O sunt rspltite automat de ctre sistem prin acordarea de prioritate (li se
asociaz un numr amical mai mic), un exemplu fiind cel al tastaturii, care are cea mai ridicat prioritate ntrun sistem.
Definirea prioritii unui program se face prin comanda nice.
Cele mai multe sisteme asigur i comanda BSD renice, care v permite s schimbai gradul de
amiciie (niceness) a unei comenzi care se afl n execuie. V ndrumm din nou ctre paginile de
documentaie specific sistemului dumneavoastr.
Programe interactive
Nu v sftuim s schimbai prin nice sau renice numrul amical al programelor sau sarcinilor care
ruleaz n prim-plan. Folosirea acestor comenzi este rezervat administratorului de sistem. Citii paginile de
manual sau cele Info despre funciile disponibile administratorului de sistem.
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.
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
Suprancrcarea reelei: cantitatea de date transportat pe reea este mai mare dect capacitatea
reelei, lucru care duce la executarea cu ncetineal a sarcinilor care implic reeaua, pentru toi
utilizatorii. Pot fi rezolvate prin reducerea solicitrii reelei (care nseamn, n principal, dezactivarea
protocoalelor i serviciilor de care nu avei nevoie) sau prin reconfigurarea reelei (de exemplu,
folosirea reelelor intranet, nlocuirea hub-urilor cu switch-uri, actualizarea programelor i
modernizarea echipamentelor).
Problemele cauzate de integritatea reelei: apar atunci cnd datele sunt transferate incorect.
Rezolvarea acestor probleme se face doar prin identificarea elementului defect i nlocuirea
acestuia.
Problemele I/O cauzate de disc:
rata de transfer per proces prea mic: viteza de citire sau scriere per proces este prea mic.
rata de transfer global prea mic: limea de band total pe care o pune la dispoziie sistemul
tuturor programelor care ruleaz la un moment dat este prea mic.
Acest fel de probleme sunt mai greu de depistat i au nevoie de echipamente suplimentare care s
redistribuie fluxul de date pe magistrale, controller-e i discuri, dac se confirm c echipamentele
suprasolicitate sunt cauza problemelor. O soluie ar fi o configuraie RAID, optimizat pentru aciunile de
intrare i ieire. Astfel, v putei pstra acelai echipament. O trecere la magistrale, controller-e i discuri mai
rapide este cealalt cale prin care putei rezolva problemele de acest gen.
Dac suprancrcarea nu este cauza problemelor, este posibil ca echipamentele dumneavoastr
s nu mai funcioneze cum trebuie sau s nu fie conectate corect la sistem. Putei s ncepei cu verificarea
contactelor, conectorilor i cuplajelor.
4.3.5.5. Utilizatorii
Utilizatorii pot fi mprii n cteva categorii, dup comportamentul lor fa de folosirea resurselor:
Utilizatori care ruleaz un numr (mare) de sarcini care nu solicit foarte mult sistemul:
dumneavoastr, utilizatorul nceptor de Linux, de exemplu.
Utilizatorii care ruleaz doar cteva sarcini, dar care solicit sistemul: cei care ruleaz simulri,
calcule, emulatoare sau alte programe care au nevoie de mult memorie, aceti utilizatori folosind,
de regul, i fiiere de date foarte mari.
Utilizatori care ruleaz puine sarcini, dar folosesc foarte multe resurse ale procesorului (dezvoltatorii
i cei cu preocupri asemntoare).
Vei observa c cerinele de sistem difer cu fiecare categorie de utilizatori i c a-i mulumi pe toi
este un lucru dificil. Dac lucrai pe un sistem cu mai muli utilizatori, v este de folos (i este amuzant,
totodat) s cunoatei obiceiurile celorlali i sistemul, pentru a folosi ct mai bine resursele pentru scopurile
dumneavoastr.
82
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!
Dac dorii s oprii un proces deoarece este ngheat sau pentru c solicit prea mult resursele I/O
sau alte resurse ale sistemului, folosii comanda kill. Dac avei posibilitatea, ncercai s oprii procesul ntrun mod mai puin brutal, trimind semnalul SIGTERM. Acesta este o instruciune care cere oprirea n
concordan cu procedurile descrise n codul programului:
n exemplul de mai sus, utilizatorul joe a oprit Mozilla deoarece rspundea greu la comenzi.
De anumite procese scpai mai greu. Dac avei rbdare, le putei trimite semnalul SIGINT pentru
a le opri. Dac nici acesta nu reuete, folosii cel mai puternic semnal, SIGKILL. n exemplul de mai jos, joe
oprete Mozilla deoarece nghease:
n astfel de cazuri, ai putea s verificai dac procesul este cu adevrat oprit, folosind filtrarea
grep asupra PID. Dac este returnat doar procesul grep, putei fi siguri c ai reuit oprirea procesului.
Printre procesele care sunt greu de oprit se numr i consola. Este un lucru bun: dac ar fi uor
de terminat, ai fi pierdut consola de fiecare dat cnd ai fi apsat accidental Ctrl-C n linia de comand,
ntruct combinaia de taste menionat trimite semnalul SIGINT.
UNIX-ul fr conexiuni (pipes) este de neconceput
Folosirea conexiunilor (|) n aa fel nct ieirea unei comenzi s devin intrare pentru alt
comand este explicat n capitolul urmtor, Capitolul 5.
n mediul grafic, programul xkill este foarte uor de folosit. Introducei numele comenzii, apsai Enter i
alegei fereastra aplicaiei pe care dorii s o oprii. Este o abordare periculoas, deoarece comanda trimite
implicit semnalul SIGKILL, aa c folosii-o numai n cazurile n care aplicaiile nu mai rspund.
Sarcin pus n ateptare pentru puin timp i apoi relansat n execuie, prin comanda sleep.
84
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.
Alternativ
Putei folosi oricnd comanda crontab -l pentru afiarea fiierelor crontab.
Sunt stabilite cteva variabile, dup care sunt afiate sarcinile programate, fiecare pe o linie
separat, ncepnd cu cinci cmpuri care arat ora i data. Primul cmp conine minutele (de la 0 la 59),
urmtorul arat ora la care sarcina va fi rulat (0-23), cel de-al treilea cmp arat ziua din lun (1-31),apoi
numrul lunii (1-12), ultimul cmp fiind pentru ziua sptmnii (0-7, att 0 ct i 7 fiind duminica). Un asterisc
prezent n aceste cmpuri reprezint acceptarea tuturor valorilor aplicabile acelui cmp. Sunt permise i
listele; pentru a rula o sarcin de luni pn vineri, introducei 1-5 n ultimul cmp, iar pentru a rula o sarcin
luni, miercuri i vineri, introducei 1,3,5.
Apoi este artat utilizatorul pentru care trebuie s ruleze procesele, listat n ultima coloan.
Exemplul de mai sus arat o configuraie cron Vixie, n care administratorul ruleaz programul run-parts la
intervale regulate, avnd ca opiuni directoarele potrivite. n aceste directoare, sarcinile propriu-zise care
trebuie s fie rulate n momentele stabilite, sunt stocate ca scripturi shell, precum urmtorul, care ruleaz
zilnic, pentru a actualiza baza de date folosit de comanda locate:
86
Utilizatorii sunt sftuii s editeze fiierele crontab ntr-un mod adecvat, prin folosirea comenzii
crontab -e. Ea prentmpin deschiderea a mai mult de o copie a fiierului crontab. Editorul implicit este vi
(consultai Capitolul 6), dar putei folosi orice editor de text, precum gvim sau gedit dac v place mai mult
un editor propriu modului grafic.
La ncheierea editrii, sistemul v va anuna c este instalat un nou fiier crontab.
Urmtoarea imagine prezint o intrare crontab care amintete lui billy s mearg la clubul de sport
n fiecare mari sear:
Dup adugarea unei noi sarcini programate, sistemul v va spune c este instalat un nou fiier
crontab. Nu trebuie s restartai serviciul cron pentru ca schimbrile s-i fac efectul. Mai jos, billy a
adugat o linie care intete ctre un script care face copii de rezerv:
Scriptul backup.sh este executat n fiecare joi i duminic. Consultai Seciunea 7.2.5 pentru
noiuni introductive n scriptingul shell. Reinei c ieirile unei comenzi (dac exist) sunt trimise prin mail
deintorului fiierului crontab. Dac nu este configurat nici un serviciu de pot electronic, putei gsi
aceste ieiri generate de comenzi n directorul care pstreaz mesajele mail locale, /var/spool/mail/
<numele_dumneavoastr>, ca fiiere text simplu.
Cine ruleaz comenzile mele?
Nu trebuie s specificai utilizatorul care trebuie s execute comenzile pe care le programai. Ele
vor fi rulate implicit folosind permisiunile deintorului.
4.5. Sumar
Linux-ul este un sistem de operare multi-utilizatori i multi-sarcini care gestioneaz procesele n
stilul UNIX-ului. Viteza de executare a proceselor depinde de mii de lucruri mrunte. Printre altele, ai nvat
multe comenzi noi care v ajut la vizualizarea i gestionarea proceselor. V prezentm o list cu cele mai
des folosite comenzi n gestionarea proceselor:
Tabelul 4-3. Comenzi noi n Capitolul 4: Procesele
Comanda
nelesul comenzii
at
atq
atrm
terge sarcinile care ateapt s fie rulate, dup numrul asociat lor.
batch
Execut sarcinile atunci cnd nivelul de solicitare a sistemului permite acest lucru.
crontab
halt
Oprete sistemul.
87
jobs
kill
Termin un proces.
mesg
netstat
nice
pgrep
Afieaz procesele.
ps
pstree
reboot
Oprete sistemul.
renice
shutdown
sleep
time
top
uptime
vmstat
wall
who
write
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
napoi.
Facei o list cu toate serviciile i sarcinile care sunt rulate la pornirea sistemului.
Ce kernel este ncrcat la pornire?
S presupunem c trebuie s rulai un serviciu neobinuit la pornirea sistemului. Pn n acest
moment, v autentificai dup pornirea sistemului i rulai acest serviciu manual, folosind un script
numit livreaz_pizza din directorul personal. Ce trebuie s facei pentru ca acest serviciu s
fie pornit automat n nivelul de rulare 4, pe care l-ai definit numai n acest scop?
4.6.3. Programarea
Folosii sleep pentru a crea un anun care v amintete c pastele dumneavoastr sunt gata n zece
minute.
Creai o sarcin at care copiaz toate fiierele din directorul personal n /var/tmp peste o
jumtate de or. Va trebui s creai un subdirector n /var/temp, dac dorii ca s pstrai uor
ordinea pe discul fix.
Creai o sarcin cron care face acelai lucru n fiecare sptmn, de luni pn vineri, n timpul
prnzului.
Verificai dac funcioneaz.
Facei o greeal ntr-o intrare crontab, precum indicarea comenzii inexistente coppy, n locul cp.
Ce se ntmpl la executarea sarcinii?
89
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:
Capitolul 7 va oferi mai multe exemple despre cum s folosii acest tip de redirecionare.
Iat cteva exemple despre folosirea conexiunilor n comenzi:
Pentru a gsi un cuvnt n cadrul unui text, afiai toate liniile care conin criteriul1 i excludei
liniile care conin criteriul2:
grep criteriul1 fiier | grep -v criteriul2
Pentru a afia coninutul unui director cu listarea paginilor una cte una:
ls -la | less
Pentru a cuta un fiier ntr-un director:
ls -l | grep nume_parial_fiier
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
text.txt este verificat mai nti din punct de vedere al ortografiei, iar ieirea generat este trimis la un
fiier jurnal de erori:
spell <text.txt> error.log
Comanda urmtoare listeaz toate comenzile pe care le putei folosi pentru examinarea fiierelor
atunci cnd folosii less:
Opiunea -i este folosit pentru cutrile care nu in cont de literele mari sau mici amintii-v c
sistemele UNIX sunt case-sensitive.
Dac dorii s pstrai ieirea acestei comenzi pentru a o folosi mai trziu, redirectai-o:
Ieirea unei comenzi poate fi conexat (piped) altei comenzi ori de cte ori dorii, att timp ct
aceste comenzi vor citi intrrile de la intrarea standard i vor afia ieirile la ieirea standard. Cteodat nu
fac acest lucru, dar n aceste cazuri exist opiuni speciale care spun acestor comenzi s se comporte n
concordan cu definiiile standard; citii documentaia (paginile man i Info) comenzilor pe care le folosii n
cazul n care ntmpinai dificulti.
V atragem din nou atenia asupra folosirii numelor unor fiiere existente de care mai avei nevoie.
Redirecionarea ieirilor ctre acestea va nlocui coninutul lor.
Comanda date va pune, n mod normal, ultima linie pe ecran; acum ea este ataat fiierului
wishlist.
92
intrarea standard: 0
ieirea standard: 1
eroarea standard: 2
n descrierile urmtoare, dac numrul descriptorului de fiiere este omis i primul caracter este
operandul <, redirecionarea se refer la intrarea standard (descriptorul de fiiere 0). Dac primul caracter
este operandul >, redirecionarea se refer la ieirea standard (descriptorul de fiiere 1).
Cteva exemple practice vor clarifica lucrurile:
ls > dirlist 2>&1
va direciona att ieirile ct i erorile standard ctre fiierul dirlist, n timp ce comanda
ls 2>&1 >dirlist
va direciona doar ieirea standard ctre fiierul dirlist. Aceast opiune este folositoare
programatorilor.
Lucrurile se complic din acest moment, de exemplu nu confundai folosirea semnului & cu
sensul pe care l are acesta n Seciunea 4.1.2.1, unde era folosit pentru rularea n fundal a unui proces. Aici
el servete ca indicator care arat faptul c numrul care urmeaz nu este un nume de fiier, ci un loc ctre
care intete fluxul de date. V atragem atenia asupra faptului c semnul mai mare dect nu este separat
prin spaii de numrul descriptorului de fiiere. Dac ar fi separat, am fi intit din nou ctre ieirea unui fiier.
Exemplul de mai jos v demonstreaz acest lucru:
Prima comand introdus de nancy este corect (nu este generat nici o eroare, astfel nct fiierul
ctre care este redirecionat eroarea standard este gol). Cea de-a doua comand consider 2 ca fiind
numele unui fiier, care, n cazul nostru, nu exist, aa c este afiat o eroare.
Toate aceste faciliti sunt explicate n detaliu n paginile Info Bash.
5.2.2. Exemple
5.2.2.1. Analizarea erorilor
Dac procesele genereaz multe erori, iat o cale prin care le putei examina:
comand 2>&1 | less
Este utilizat pe larg atunci cnd sunt realizate programe noi prin comanda make, precum n:
93
5.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.
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:
ls -la | sort -nk 5
Sintaxa veche
Este posibil s obinei acelai rezultat prin folosirea comenzii ls -la | sort +4n, dar este o form
veche care nu este conform cu standardele de azi.
Comanda sort poate fi folosit n combinaie cu programul uniq (sau sort -u) pentru a sorta
ieirile i a filtra intrrile duble:
5.4. Sumar
n acest capitol ai nvat cum putei cupla comenzile i cum ieirea unei comenzi poate fi folosit
ca intrare pentru alt comand.
Redirecionarea intrrilor/ieirilor este o sarcin obinuit pe sistemele UNIX i Linux. Acest
mecanism puternic permite folosirea flexibil a crmizilor, prilor din care este constituit UNIX-ul.
95
Comanda
nelesul comenzii
date
set
sort
uniq
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
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.
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.
100
6.4. Sumar
n acest capitol ai nvat cum s folosii un editor. Cu toate c preferinele individuale primeaz n
alegerea editorului de text, este necesar s cunoatei cum se folosete cel puin un editor de text.
Editorul vi este disponibil pe orice sistem UNIX.
Cele mai multe distribuii Linux includ o suit pentru birou i un editor grafic de text.
6.5. Exerciii
Acest capitol are doar un exerciiu: pornii tutorialul Vim prin introducerea comenzii vimtutor ntr-o
sesiune terminal i parcurgei-l.
Putei porni, alternativ, emacs i tastai Ctrl + H pentru a lansa tutorialul propriu al Emacs.
Practica este singura cale!
101
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:
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.
103
Folosirea redirecionrii mesajelor este util i atunci cnd avei mai multe adrese de pot
electronic, evitnd n acest mod verificarea pe rnd a tuturor acestor adrese. Putei face ca fiecare adres
s nainteze mesajele ctre un singur cont centralizator, uor accesibil.
Putei cere administratorului de sistem s defineasc o redirecionare n fiierul local de mail, n
acelai mod n care un cont este nchis dar E-mail-ul rmne activ pentru un timp.
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.
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.
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:
105
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.
Numele variabilei
Informaia stocat
DISPLAY
DOMAIN
Numele domeniului
EDITOR
HISTSIZE
HOME
HOSTNAME
INPUTRC
LANG
Limba preferat
LD_LIBRARY_PATH
LOGNAME
Numele de autentificare
MANPATH
OS
OSTYPE
PAGER
PATH
PS1
Prompterul primar
PS2
Prompterul secundar
PWD
106
SHELL
Consola curent
TERM
Tipul de terminal
UID
Identitatea utilizatorului
USER (NAME)
Numele utilizatorului
VIZUAL
XENVIRONEMENT
XFILESEARCHPATH
Multe alte variabile nu sunt doar predefinite, ci i preconfigurate, prin fiierele de configurare. Le
vom discuta n seciunea urmtoare.
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
Aceste linii configureaz valoarea umask. Apoi, n funcie de tipul consolei pe care o folosii, este
configurat prompterul:
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.
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.
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.
(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.
111
Se observ c scriptul conine doar comanda echo, care folosete valoarea variabilei de mediu ($)
Mai jos este un script care conine mai multe linii folosit pentru realizarea de copii ale tuturor
fiierelor dintr-un director. Scriptul listeaz mai nti toate fiierele din directorul curent i pune aceast list
n variabila LIST. Apoi stabilete numele copiei fiecrui fiier, copiind n cele din urm fiierele. Este afiat un
mesaj pentru fiecare fiier prelucrat:
Prin simpla introducere a unei linii ca mv **.old nu vei obine nici un rezultat, lucru uor de
verificat pe cteva fiiere de test. Comanda echo a fost adugat pentru afiarea desfurrii activitilor.
echo este folositoare n general n cazurile n care un script nu lucreaz cum trebuie: introducei cte una
dup fiecare pas despre care avei dubii i vei afla eroarea imediat.
Directorul /etc/rc.d/init.d conine multe exemple de scripturi. V prezentm pe acela care
controleaz serverul fictiv ICanSeeYou:
112
n primul rnd, prin comanda . (punct) sunt ncrcate anumite funcii ale consolei, folosite de
aproape fiecare script din /etc/rc.d/init.d. Apoi este executat comanda case, care definete patru
moduri n care poate fi executat scriptul. Unul dintre acestea poate fi ICanSeeYou start. Alegerea unuia
din aceste moduri se face prin citirea argumentului (prim) al scriptului, cu expresia $1.
Dac nu se regsete nici o intrare, este aplicat cazul implicit, cel marcat cu un asterisc, situaie n
care scriptul genereaz un mesaj de eroare. Listarea case este ncheiat cu declaraia esac. n cazul start
programul este pornit ca serviciu, fiindu-i alocat un ID de proces i blocat (ncuiat). n cazul stop, procesul
care a fost pornit este cutat i oprit, nlturndu-se blocajul (ncuietoarea) i PID-ul. Opiunile, ca, de
exemplu, opiunea daemon i funciile, ca, de exemplu, killproc, sunt definite n fiierul
/etc/rc.d/init.d/functions. Configuraia prezentat este specific distribuiei alese pentru acest
exemplu. Scripturile rulate la iniierea sistemului dumneavoastr pot folosi alte funcii, definite n alte fiiere,
sau nici unul.
Scriptul returneaz codul de ieire 0 ctre printele su dac a rulat fr probleme.
Acest script este un exemplu foarte bun n privina folosirii funciilor, care fac ca scriptul s fie citit
mai uor, munca fiind terminat mai repede. Observai c a fost folosit sh n loc de bash, pentru ca acest
script s fie folositor pe mai multe sisteme. ntr-un sistem Linux, rularea bash ca sh are ca rezultat o consol
care lucreaz n modul compatibil POSIX.
Paginile de manuale referitoare la bash conin multe informaii despre combinarea comenzilor,
ciclurile for- i while- i expresiile regulate, precum i exemple. Un curs de baz despre Bash, pentru
administratorii de sisteme i utilizatori care doresc mai multe puteri n relaia cu sistemul, scris de autoarea
prezentului ghid, poate fi gsit la http://tille.garrels.be/training/bash/. Descrieri detaliate ale facilitilor Bash i
aplicaii ale acestora putei gsi n ghidul Advanced Bash Scripting.
113
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.
numele gazdei: numele gazdei este numele calculatorului client la care ecranul este conectat fizic.
Dac acest nume nu este dat, este folosit cea mai eficient modalitate de comunicare cu un
serviciu de pe acelai calculator.
numrul afiajului: cuvntul afiaj este folosit pentru a descrie un grup de monitoare care mpart
aceeai tastatur i dispozitive indicatoare (maus, tablet, etc.). Cele mai multe staii de lucru au, n
mod normal, o singur tastatur i un singur monitor. Sistemele mai mari, multi-utilizatori, au totui
mai multe afiaje, pentru ca lucrul n modul grafic s fie posibil pentru mai multe persoane. Pentru
evitarea situaiilor confuze, fiecare afiaj al acestui tip sistem are asociat un numr de afiaj (care
ncepe cu 0) la pornirea serverului X. Numrul afiajului trebuie s fie mereu prezent n numele
acestuia.
numrul de ecran: anumite afiaje mpart o singur tastatur i un singur dispozitiv indicator la dou
sau mai multe monitoare. ntruct fiecare dintre ele are propriul set de ferestre, fiecrui ecran i este
dat un numr de ecran (care pornete de la 0) n momentul pornirii serviciului grafic. Dac acest
numr nu este alocat, va fi folosit afiajul 0.
Pe sistemele POSIX, numele ecranului implicit este stocat n variabila de mediu DISPLAY.
Aceast variabil este configurat automat de ctre emulatorul de terminal xterm. n cazul conectrii la alt
calculator, prin reea, poate fi necesar s configurai aceast variabil manual pentru a indica afiajul
dumneavoastr, consultai Seciunea 10.4.3.2.
Mai multe informaii pot fi gsite n paginile de manual ale serverului X.
ntruct administratorii de ferestre sunt, n general (dei complexe), programe client, pot fi
construite numeroase interfee cu utilizatorul. Distribuia Consoriului X conine un administrator de ferestre
numit twm, dar muli utilizatori prefer ceva mai sofisticat, atunci cnd configuraia sistemelor permite acest
lucru. Sawfish i Enlightenment sunt exemple apreciate, care permit fiecrui utilizator s dispun de un
spaiu de lucru n concordan cu stilul i personalitatea sa.
Un administrator de ecran (spaiu de lucru) folosete un administrator de ferestre pentru a aranja
spaiul de lucru grafic ntr-un mod convenabil, cu bare de meniu, meniuri contextuale, mesaje informative,
ceas, administrator de programe, administrator de fiiere, etc. Printre cei mai cunoscui administratori de
ecran menionm Gnome i KDE, care ruleaz pe aproape orice distribuie de Linux i pe multe sisteme
UNIX.
Aplicaii KDE n Gnome/aplicaii Gnome n KDE
Nu este necesar s pornii spaiul de lucru n KDE pentru a rula aplicaiile specifice KDE. Dac
avei instalate librriile KDE (pachetul kdelibs), putei rula aceste aplicaii din meniul Gnome sau dintr-un
terminal Gnome.
Rularea aplicaiilor Gnome n mediul KDE este puin mai deosebit, deoarece nu exist un singur
set de librrii de baz ale Gnome-ului. Totui, prin instalarea dependinelor i a unor pachete extra, care vor
fi cerute, vei putea face acest lucru.
XF86Config pentru configurarea implicit. Acest fiier configureaz placa video i poate fi gsit n mai
multe locuri, cel mai des fiind /etc/X11.
Dac observai c fiierul /etc/X11/XF86Config este prezent n sistemul dumneavoastr,
descrierea complet a acestuia poate fi gsit n paginile Info sau man ale XF86Config.
Din cauza aspectelor legate de liceniere n cazul Xfree86, sistemele mai noi vin cu distribuia de
server X i unelte pentru acesta a X.Org. Fiierul principal de configurare este xorg.conf, pe care-l putei
gsi n /etc/X11. Fiierul conine o serie de seciuni care pot fi dispuse n orice ordine. Aceste seciuni
conin informaii despre monitor, placa video, configurrile afiajului, tastatur, etc. Ca utilizator, nu trebuie
s v batei capul prea mult cu ceea ce este n acest fiier, ntruct este configurat la momentul instalrii
sistemului.
Dac trebuie s schimbai configurrile serverului grafic, putei rula uneltele de configurare sau
edita fiierele de configurare care menin infrastructura serverului XFree86. Consultai paginile man pentru
mai multe informaii; n unele cazuri, distribuia folosit de dumneavoastr are propriile unelte de configurare.
Deoarece o configurare greit poate duce la afiarea, n modul grafic, a unor gunoaie de neneles, v
sftuim s realizai o copie de siguran a fiierelor de configurare pe care dorii s le editai, pentru a putea
fi restaurate.
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:
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:
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.
117
Pachetele care conin un kernel nou v sftuim s le instalai cu opiunea -i, pentru a nu suprascrie
versiunea existent a pachetului. Astfel, vei putea s pornii calculatorul cu vechiul kernel, dac cel nou nui face treaba.
Putei folosi rpm i pentru a verifica dac un pachet este instalat n sistem:
Sau putei afla care pachet conine un anumit fiier sau un executabil:
Nu trebuie s accesai cu privilegii de administrator comanda rpm pentru a cuta n baza de date
RPM. Aceste privilegii sunt necesare numai n cazul n care adugai, modificai sau tergei pachete.
V prezentm mai jos un ultim exemplu, care ilustreaz modul n care putei terge un pachet
gestionat de rpm:
118
tergerea pachetelor nu afieaz implicit date de ieire, este normal s nu observai nimic. Cnd
avei dubii, folosii rpm -qa din nou pentru a verifica dac un anume pachet a fost ters.
RPM poate face multe alte lucruri, n afara funciilor de baz pe care le-am prezentat n aceast
introducere. Cum s-ul despre RPM conine multe alte informaii.
Prefixul ii nseamn c pachetul este instalat. Ar trebui s vedei afiat prefixul un n cazul n
care pachetul nu este instalat, dar exist n lista gestionat de calculatorul dumneavoastr.
Aflai crui pachet aparine un fiier prin opiunea -S a lui dpkg:
7.5.3.2. APT
The Advanced Package Tool este un sistem pentru pachetele de programe. Unealta pentru linia de
comand este apt-get, care dispune de pagini man excelente, care descriu cum s instalai i s actualizai
pachetele i cum s instalai ultima versiune a unui pachet sau a ntregii distribuii. APT i are rdcinile n
distribuia Debian GNU/Linux, n care este administratorul implicit pentru pachetele Debian. APT a fost portat
i pe sistemele care folosesc pachete RPM. Principalul avantaj al APT este acela c este liber i flexibil n
utilizare. V permite s configurai sisteme ntr-un mod asemntor cu unele unelte specifice anumitor
distribuii (n unele cazuri, comerciale), listate n seciunea urmtoare.
n general, la prima utilizare a apt-get, trebuie s obinei un index al pachetelor disponibile. Acest
lucru se face prin comanda
apt-get update
Dup aceasta, putei folosi apt-get pentru actualizarea sistemului dumneavoastr:
apt-get upgrade
Facei acest lucru des, este o cale simpl prin care v meninei sistemul la zi i n siguran.
n afar de acest mod general de utilizare, apt-get este foarte rapid n instalarea pachetelor
individuale. Iat cum lucreaz:
Observai opiunea -c a comenzii su, care indic consolei root s execute doar aceast comand,
120
apoi s se revin la mediul utilizatorului. n acest mod nu putei spune c ai uitat s prsii contul de root.
Dac exist dependine fa de alte pachete, apt-get va descrca i instala i aceste pachete
necesare.
Mai multe informaii putei gsi n APT HOWTO.
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.
/mnt/cdrom, unde putei accesa coninutul CD-ului. Folosii aceleai comenzi pe care le utilizai n lucrul
cu fiierele aflate pe discul fix.
7.6. Sumar
Cnd toate sunt n locul potrivit, jumtate de treab este fcut.
Pstrarea ordinii este important i la fel de important este s v organizai bine mediul directorului
personal, n modul text sau grafic. Mediul text este controlat de fiierele de configurare a consolei. Mediul
grafic depinde n primul rnd de configurarea serverului X, n care sunt integrate mai multe aplicaii, cum ar fi
administratorii de ferestre i ai spaiului de lucru, fiecare avnd propriile fiiere de configurare. Trebuie s
citii documentaia specific sistemului i programelor dumneavoastr pentru a afla modul corect de
configurare a acestora.
Configurrile regionale, cum ar fi cele ale tastaturii, instalarea fonturilor potrivite i limba folosit de
sistem sunt, cel mai bine, fcute la instalarea sistemului.
Programele sunt administrate n mod automat sau manual prin pachetele de programe.
Urmtoarele comenzi au fost tratate n acest capitol:
Tabelul 7-2. Comenzi noi n Capitolul 7: Facei-v comod acas
Comand
nelesul comenzii
aptitude
automount
dpkg
dselect
loadkeys
lsof
Identific procesele.
mount
ntpdate
quota
recode
rpm
setfont
Alege un font.
timezone
tzconfig
ulimit
up2date
urpmi
yum
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
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.
Pentru a verifica stadiul lucrrilor, folosii comenzile lpq sau lpstat. La introducerea acestora fr
argumente, vor afia coninutul implicit:
125
lpstat -d
n mediul grafic, poate s apar o fereastr care v spune c o anumit sarcin legat de tiprire a
fost anulat.
n medii mai mari, comanda lpc este folosit pentru controlarea mai multor imprimante. Consultai
paginile Info ale fiecrei comenzi.
Avei la dispoziie mai multe interfee grafice pe care le putei folosi pentru comanda lp, iar cele mai
multe aplicaii grafice au o funcie de tiprire care folosete lp. Cutai n paginile de ajutor integrate i n
documentaia specific fiecrui program pentru mai multe informaii.
De ce exist dou comenzi pentru fiecare sarcin legat de tiprire?
Tiprirea pe sistemele UNIX i pe cele asemntoare are o istorie lung. Au existat dou abordri:
stilul de tiprire BSD i stilul SystemV. Din motive de compatibilitate, serviciul CUPS al Linux-ului lucreaz cu
ambele. De asemenea, lp nu se comport exact ca lpr, lpq are ntructva opiuni diferite de cele ale lpstat
i lprm este aproape acelai lucru, dar nu exact acelai cu cancel. Nu este important pe care-l folosii,
alegei comenzile care v sunt mai la ndemn sau pe cele cu care suntei obinuit de pe alte sisteme
asemntoare UNIX-ului.
8.1.2. Formatarea
8.1.2.1. Unelte i limbaje
Dac dorii s obinei ceva anume de la imprimant, fiierele trebuie mai nti formatate. n afara
programelor pentru formatare, care exist din abunden, Linux-ul conine uneltele de baz ale UNIX-ului
pentru formatare i limbaj.
Sistemele moderne Linux asigur tiprirea direct, fr o formatare prealabil executat de ctre
utilizator, pentru o gam larg de fiiere: text, PDF, PostScript i pentru cteva formate de imagini precum
PNG, JPEG, BMP i GIF.
Pentru acele fiiere care au nevoie de formatare, Linux-ul integreaz unelte de formatare precum
comenzile pdf2ps, fax2ps i a2ps, care convertesc alte formate n PostScript. Aceste comenzi pot crea
fiiere care apoi pot fi folosite pe alte sisteme care nu dispun de uneltele de conversie.
n afar de aceste comenzi ale liniei de comand avei la dispoziie multe unelte grafice pentru
procesarea textului. Exist numeroase suite pentru birou, multe dintre acestea fiind libere i gratuite. Acestea
realizeaz automat formatarea n momentul iniierii unei sarcini pentru tiprire. Pentru a numi doar cteva:
OpenOffice.org, KOffice, AbiWord, WordPerfect, etc.
Iat cteva limbaje comune n contextul sarcinilor pentru tiprire:
groff: versiunea GNU a comenzii UNIX roff. Este o interfa a sistemului de formatare groff. n mod
126
normal, ruleaz comanda troff i un post-procesor convenabil pentru dispozitivul selectat. Permite
generarea fiierelor PostScript.
TeX i pachetul macro LaTeX: unul dintre cele mai rspndite limbaje de marcare pe sistemele
UNIX. Invocat de regul ca tex, formateaz fiiere i le trimite ctre un dispozitiv corespondent o
reprezentare independent de tipul documentului.
Lucrurile care in de domeniul tehnic sunt fcute cu LaTeX deoarece acesta integreaz formule
matematice, fiind depuse eforturi de ctre W3C (Consoriul World Wide Web) pentru includerea acestei
faciliti i n alte aplicaii.
SGML i XML: sunt disponibile formate libere pentru UNIX i Linux. XML este noua generaie SGML,
care formeaz baza pentru DocBook XML, un sistem pentru documente (aceast carte este scris n
XML, de exemplu cartea originaln.t.).
Tiprirea documentaiei
Paginile de manuale conin date pre-formatate troff care trebuie s fie formatate nainte de a le
trimite la imprimant. Tiprirea se face folosind opiunea -t pentru comanda man:
man -t command > man-command.ps
Apoi tiprii fiierul PostScript. Dac este configurat o destinaie implicit pentru tiprire n cazul
sistemului/contului dumneavoastr, putei introduce comanda man -t comand pentru a trimite pagina
formatat direct la imprimant.
dar nu este un program liber. Adobe`s reader este destinat versiunilor PDF 1.6, celelalte
funcioneaz numai pentru versiunile pn la 1.5. Versiunea unui PDF poate fi aflat prin comanda
file.
Din interiorul unor aplicaii, cum ar fi Firefox sau OpenOffice, putei alege opiunea Vizualizare
nainte de tiprire (Print Preview) din meniurile acestora.
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/.
Foarte multe imprimante dispun de interfee web, care pot afia informaii despre statutul
imprimantei, prin introducerea adresei imprimantei n navigatorul dumneavoastr de Internet. Pe pagina care
urmeaz v prezentm o astfel de interfa.
Figura 8-1. Statutul imprimantei afiat de o interfa web.
128
129
ncercai s trimitei un fiier formatat, cum ar fi un fiier.ps n cazul unei imprimante PostScript,
folosind un client FTP. Dac imprimanta lucreaz, nseamn c sistemul dumneavoastr de tiprire nu este
configurat aa cum trebuie. Dac nu, imprimanta nu nelege formatul n care ai realizat documentul trimis la
tiprire.
Saitul GNU/Linux Printing conine mai multe sfaturi pe marginea acestui subiect.
8.4. Sumar
Serviciul de tiprire din Linux integreaz o serie de unelte pentru tiprire bazate pe uneltele
standard UNIX LPD, fie c vorbim despre implementarea System V sau cea BSD. V prezentm mai jos mai
multe comenzi legate de tiprire:
Tabelul 8-1. Comenzi noi n Capitolul 8: Tiprirea
Comanda
nelesul comenzii
lpr sau lp
Tiprete un fiier
acroread
Vizualizator PDF
groff
gv
Vizualizator PostScript
printconf
Configureaz imprimantele
xdvi
Vizualizator DVI
xpdf
Vizualizator PDF
*2ps
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).
130
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.
131
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
jar.
tar, jar i legturile simbolice
O not important care nu este inclus n documentaia standard este aceea c jar urmrete
134
legturile simbolice. Datele spre care intesc aceste legturi vor fi incluse n arhive. Comportamentul implicit
al tar este s copieze doar legtura simbolic, dar poate fi schimbat cu opiunea -h a aceleiai comenzi tar.
Comanda mformat (din pachetul mtools) este folosit pentru crearea dischetelor compatibile DOS
care pot fi accesate prin comenzile m- :mcopy, mdir i altele.
Sunt disponibile i unelte grafice.
Figura 9-1. Unealta grafic de formatare a dischetelor
poate porni.
Mutarea datelor este fcut pe un dispozitiv nemontat. Dischetele create n acest mod nu pot fi
montate n sistemul de fiiere , dar este metoda prin care se pot face dischete de pornire sau de recuperare.
Mai multe informaii despre posibilitile dd pot fi gsite n paginile man.
Aceast unealt este parte a pachetului GNU coreutils.
Transferul discurilor
Comanda dd poate fi folosit pentru realizarea transferului unui ntreg disc fix brut.
Opiunile -J i -r sunt folosite pentru a face posibil montarea CD-ROM-ului n diferite sisteme de
fiiere, dup cum putei afla din paginile man. Dup aceasta, CD-ul poate fi creat cu unealta cdrecord,
folosind opiunile potrivite:
136
n funcie de inscriptorul dumneavoastr, avei timp s fumai o igar sau, mai bine i mai
sntos, s mncai o fruct i/sau s servii o ceac de cafea. La terminarea sarcinii, vei primi un mesaj
de confirmare:
Exist i unelte grafice care v fac viaa mai uoar. Mai cunoscute sunt xcdroast, care este
disponibil pe saitul X-CD-Roast, fiind inclus n mai multe sisteme i n directorul GNU. Att KDE ct i
Gnome v pun la dispoziie programe pentru crearea CD-urilor dumneavoastr.
9.2.3. Copii de siguran pe/de pe uniti jazz, dispozitive USB i alte medii
externe
Aceste dispozitive sunt, de regul, montate n sistemul de fiiere. Dup procedura de montare, ele
sunt accesate ca directoare normale, aa c putei folosi comenzile obinuite de manipulare a fiierelor.
n exemplul de mai jos, sunt copiate imagini de pe o camer USB pe discul fix:
Dac aparatul foto este singurul dispozitiv de stocare USB pe care-l conectai la sistem, este n
regul. Dar reinei c dispozitivele USB au intrri n directorul /dev odat ce sunt conectate la sistem.
Astfel dac introducei n sistem un stick USB, acesta va figura ca intrare n /dev/sda, iar dac ataai
aparatul foto dup acel stick, va figura ca intrare n /dev/sdb - n situaia n care nu avei discuri SCSI, care
se gsesc tot n /dev/sd*. Pe sistemele mai noi, de la kernelul 2.6, un sistem de gestionare a
conectrilor, numit HAL (Hardware Abstraction Layer) se asigur c utilizatorii nu se mai lovesc de aceste
probleme. Dac dorii s verificai unde se afl dispozitivul dumneavoastr, tastai comanda dmesg dup
conectarea acestuia.
Putei apoi copia fiierele:
137
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
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
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.
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.5. Sumar
V-am pregtit o list care conine comenzile folosite n realizarea copiilor de siguran:
Tabelul 9-1. Comenzi noi n Capitolul 9: Copiile de siguran
Comand
nelesul comenzii
bzip2
cdrecord
dd
fdformat
gpg
gzip
mcopy
mdir
mformat
141
rsync
Sincronizeaz directoarele.
tar
unmount
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
Protocoalele nivelului
Nivelul aplicaiilor
Nivelul de transport
TCP, UDP
Nivelul de reea
IP,IPv6
Nivelul de acces la
reea
PPP,PPPoE, Ethernet
Fiecare nivel poate folosi funcionalitile nivelului aflat dedesubtul su; fiecare nivel i poate
exporta funcionalitile nivelului aflat deasupra sa. Cu alte cuvinte: un nivel poate comunica doar cu
nivelurile adiacente. S lum din nou exemplul mesajului dumneavoastr de pot electronic: l introducei
prin nivelul aplicaiilor. n calculatorul dumneavoastr, el cltorete prin nivelurile de transport i reea.
Calculatorul l transmite n reea prin nivelul de acces la reea. Tot acesta este i nivelul care-l poart n jurul
lumii. La destinaie, calculatorul de destinaie l preia prin nivelul propriu de reea i l va afia cu ajutorul
nivelurilor de transport i aplicaii.
143
10.1.2.1. TCP/IP
The Transport Control Protocol i Internet Protocol sunt dou din cele mai populare ci de
comunicare pe Internet. Multe aplicaii, precum navigatorul dumneavoastr i programele de pot
electronic sunt realizate pe baza acestei suite de protocoale.
La baz, IP asigur soluii pentru trimiterea pachetelor de informaii de la un calculator la altul, n
timp ce TCP aranjeaz pachetele n fluxuri, astfel nct pachetele diferitelor aplicaii s nu se amestece i s
fie primite la destinaie n ordinea corect.
Un punct de plecare n studierea TCP i IP este reprezentat de urmtoarele lucrri:
man 7 ip: descrie implementarea protocolului IPv4 n Linux (versiunea 4 fiind cea mai des ntlnit
10.1.2.2. TCP/IPv6
Nimeni nu se atepta ca Internetul s creasc n ritmul pe care-l cunoatem azi. S-a dovedit c IP
are anumite dezavantaje atunci cnd un numr foarte mare de calculatoare sunt n reea, cel mai mare fiind
acela legat de alocarea unei adrese unice fiecrui calculator existent n reea. De aceea, IP versiunea 6 a
fost destinat s rspund nevoilor actuale ale Internetului.
Din nefericire, nu toate aplicaiile i serviciile pot lucra nc cu IPv6. Migrarea este n desfurare n
cazul multor aplicaii i servicii care pot beneficia de pe urma implementrii protocolului amintit. Cteva
aplicaii folosesc vechiul protocol, iar pentru cele care au fost reproiectate noua versiune este activ. n
momentul n care verificai configuraia reelei, lucrurile nu sunt aa de clare, ntruct au fost luate tot felul de
msuri pentru a mpiedica amestecarea conexiunilor, prin ascunderea unui protocol de cellalt.
Mai multe informaii pot fi gsite n urmtoarele documente:
nlocuit de PPPOE, protocol folosit n cazul conexiunilor ADSL (Asymetric Digital Subscriber Line).
Cele mai multe distribuii de Linux au ncorporat unelte uor de folosit pentru configurarea
conexiunii la Internet. Ceea ce trebuie s cunoatei este numele de utilizator i parola furnizate de ISP-ul
dumneavoastr, iar n cazul PPP un numr de telefon. Aceste date sunt introduse ntr-o aplicaie care
ruleaz n modul grafic, care v permite i pornirea sau oprirea conexiunii la Internet.
10.1.2.4. ISDN
Kernelul Linux-ului include i tratarea protocolului ISDN. Isdn4linux controleaz plcile ISDN PC i
poate emula un modem cu setul de comenzi Hayes (comenzile AT). Posibilitile acoper simpla utilizare a
unui program terminal ct i o conexiune total la Internet.
Verificai n documentaia sistemului dumneavoastr.
10.1.2.5. AppleTalk
Appletalk este numele sistemului de conectivitate al calculatoarelor Apple. Permite o reea peer-topeer cu funcionaliti de baz cum ar fi partajarea de fiiere i imprimante. Fiecare calculator se poate
comporta n acelai timp ca server sau client, iar programele i dispozitivele necesare sunt incluse n orice
calculator Apple.
Linux-ul asigur implementarea total a AppleTalk. Netatalk este implementarea la nivelul
kernelului a protocolului AppleTalk Protocol Suite, fiind la baz destinat sistemelor BSD i derivate.
Integreaz rutarea AppleTalk, care deservete sistemele de fiiere UNIX i AFS care utilizeaz AppleShare
i imprimantele UNIX precum i pe cele AppleTalk.
10.1.2.6. SMB/NMB
Pentru compatibilitatea cu mediul MS Windows, suita Samba, care include protocoalele NMB i
SMB, poate fi instalat pe orice sistem compatibil UNIX. Protocolul Server Message Block (cunoscut i drept
Session Message Block, NetBios sau LanManager Protocol), este folosit pe sistemele MS Windows 3.11,
NT, 95/98, 2K i XP pentru partajarea discurilor i imprimantelor.
Funcionalitile de baz ale suitei Samba sunt: partajarea discurilor Linux cu cele ale Windowsului, accesarea SMB de pe calculatoarele Linux, accesarea imprimantelor Linux de ctre calculatoarele
Windows i accesarea imprimantelor Windows de ctre sisteme Linux.
Cele mai multe distribuii de Linux includ un pachet samba, care configureaz cea mai mare parte
a serverului i pornete smbd, serviciul Samba, i nmbd, serviciul netbios, implicit, la pornirea calcularorului.
Samba poate fi configurat n modul grafic, cu ajutorul unei interfee web sau n modul liniei de comand, cu
ajutorul fiierelor text de configurare. Serviciul face ca un calculator Linux s apar drept o gazd MS
Windows n fereastra My Network Places/Network Neighbourhood proprii mediilor MS Windows; partajarea
unui sistem Linux nu poate fi distins de oricare alt gazd din mediul MS Windows.
Obinei mai multe informaii din urmtoarele surse:
man smb.conf: descrie alctuirea principalului fiier de configurare pentru serviciul Samba.
The Samba Project Documentation (sau cutai saitul-oglind local al samba.org) conine un ghid
uor de neles pentru instalare i testare, care explic i modul n care putei configura serviciul
Samba ca Primary Domain Controller (Controlor Primar de Domenii). Pe acest sait sunt disponibile
i toate paginile de manuale.
145
Configurarea Ubuntu este fcut prin selectarea System -> Administration -> Networking (Sistem ->
Documentaia sistemului pe care lucrai conine multe sfaturi i informaii despre disponibilitatea i
modul de folosire a uneltelor specifice.
Informaii pe care trebuie s le furnizai:
numele calculatorului, numele domeniului i adresa de IP. Dac dorii s v configurai o reea
local, este bine s studiai mai mult pentru nceput. La serviciu, informaiile pe care le-am menionat
sunt furnizate calculatorului, de cele mai multe ori, la pornirea acestuia. Dac nu suntei sigur, mai
bine nu introducei nici o informaie.
Pentru conectarea la Internet: numele de utilizator i parola furnizate de ISP-ul dumneavoastr,
numrul de telefon dac folosii un modem pentru linia telefonic. Furnizorul dumneavoastr de
Internet v aloc, de regul automat, o adres de IP i toate cele necesare pentru ca aplicaiile
dumneavoastr legate de Internet s lucreze cum trebuie.
10.2.2.1. /etc/hosts
Fiierul /etc/hosts conine ntotdeauna adresa local IP a calculatorului, 127.0.0.1, folosit de
comunicaiiile interprocese. Nu tergei aceast linie niciodat! Cteodat conine adrese ale altor
calculatoare, care pot fi contactate fr a fi nevoie de folosirea unui serviciu extern de nume, precum DNS
(Domain Name Server).
O mostr de fiier hosts al unei mici reele este urmtoarea:
146
10.2.2.2. /etc/resolv.conf
Fiierul /etc/resolv.conf controleaz accesul la un server DNS, consultai Seciunea 10.3.7.
Acest fiier conine numele dumneavoastr de domeniu i numele serverului (serverelor) ce trebuie
contactate:
10.2.2.3. /etc/nsswitch.conf
Fiierul /etc/nsswitch.conf definete ordinea n care sunt contactate numele diferite de
servicii. Pentru utilizarea Internetului, este important ca dns s apar n linia hosts:
Prin aceasta se dau instruciuni calculatorului s caute numele gazdelor i adresele de IP ncepnd
cu fiierul /etc/hosts i s contacteze serverul DNS dac o anume gazd nu apare n acest fiier. Alte nume
posibile de servicii care pot fi listate sunt: LDAP, NIS i NIS+.
Ca de obicei, mai multe despre acest subiect gsii n man nsswitch.conf.
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.
Putei observa i aici cele mai importante aspecte ale configurrii interfeei:
148
n imaginea de mai sus este vorba despre un calculator, tipic client, ntr-o reea IP. Are doar o
plac de reea, eth0. Interfaa lo este bucla local.
Metoda modern
Metoda modern de a obine aceeai informaie este folosirea comenzii ip:
ip route show
Cnd acest calculator ncearc s contacteze o gazd aflat n alt reea dect cea proprie,
indicat prin linia care ncepe cu 0.0.0.0., va trimite cererea de conectare calculatorului (ruterului) cu adresa
de IP 192.168.42.1, i, pentru asta va folosi interfaa primar, eth0.
Calculatoarele care sunt n aceeai reea, linia care ncepe cu 192.168.42.0, vor fi contactate tot
prin intermediul interfeei primare, dar nu mai este necesar rutarea, datele sunt puse direct pe reea.
Calculatoarele pot avea tabele de rutare mult mai complicate dect acesta, cu diferite perechi
Destinations-Gateway pentru conectarea cu diverse reele. Dac avei ocazia de a v conecta la un server
de aplicaii, de exemplu la locul de munc, putei verifica, n scop educaional, informaiile legate de rutare.
149
Informaii similare pot fi afiate prin folosirea comenzii dig, care ofer informaii adiionale despre
cum sunt stocate nregistrrile n serverul de nume.
150
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
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
153
Mai menionm existena aplicaiilor web pentru pot electronic, cum ar fi Squirrelmail, Yahoo!,
gmail de la Google i Hotmail.
O trecere n revist gsii la Linux Mail User HOWTO.
Cele mai multe distribuii de Linux includ fetchmail, un program de primire a mesajelor i de
naintare a acestora. El aduce mesaje de pe serverele de pot electronic (POP, IMAP i altele) i le pred
sistemului local de livrare. Putei apoi gestiona aceste mesaje prin intermediul clienilor normali de pot
electronic. Poate fi rulat n sistemul daemon pentru a sonda n mod repetat unul sau mai multe sisteme la
un interval specificat. Informaii i exemple de utilizare gsii n paginile Info; Directorul
/usr/share/doc/fetchmail [-<version>] conine lista complet a facilitilor i FAQ pentru
nceptori.
Filtrul procmail poate fi folosit la filtrarea mesajelor primite, la crearea listelor de mail, la preprocesarea mesajelor, la naintarea selectiv a mesajelor i la alte lucruri. Programul care l acompaniaz,
formail, printre altele, permite generarea automat a rspunsurilor i divizarea csuelor de pot
electronic. Procmail este folosit de mult vreme pe sistemele UNIX i Linux, fiind un program robust,
proiectat s lucreze i n cele mai rele circumsane. Gsii mai multe informaii n directorul
/usr/share/doc/procmail [-<version>]i n paginile manualelor.
O not privind eticheta (regulile de comportament) n cazul E-mail-ului
Anumii oameni cred azi c mesajele de pot electronic nu ar trebui s fie prea formale. Desigur,
acest lucru depinde de mai muli factori. Dac scriei cuiva pe care nu-l cunoatei, este bine s pstrai
distana, la fel cum ai proceda n cazul unei scrisori tradiionale. i nu uitai: oamenii pe care nu-i cunoatei
pot fi att brbai ct i femei...
154
10.3.3. Web
10.3.3.1. Serverul web Apache
Apache este , de departe, cel mai cunoscut server web, folosit pe mai mult de jumtate din
serverele de pe Internet. Cele mai multe distribuii de Linux includ Apache. Printre avantajele Apache se
numr alctuirea modular a acestuia, capabilitile SSL, stabilitatea i viteza. Cu echipamentele
corespunztoare i configurarea corect, poate suporta cele mai grele condiii de trafic.
Pe sistemele Linux, configurrile serverului sunt fcute n directorul /etc/httpd. Cel mai
important fiier de configurare este httpd. conf; este destul de explicit. Dac avei nevoie de ajutor,
putei cuta n maginile man ale httpd sau vizitai saitul Apache.
FTP poate fi configurat ca un serviciu independent pe sistemele cu trafic FTP intens. Consultai exerciiile.
Serviciul FTP include, pe lng altele, vsftpd, Ncftpd i Proftpd.
Cele mai multe distribuii de Linux conin pachetul anonftp, care configureaz un server FTP
anonim i fiierele de configurare necesare.
Paginile man sunt execelente, ele coninnd i multe exemple. Din nou, v spunem c sunt
disponibile i aplicaii grafice.
FTP nu este securizat!
Nu folosii Protocolul pentru transfer de fiiere (FTP) pentru conectri non-anonime, dect dac tii
ce facei. Numele dumneavoastr de utilizator i parola pot fi interceptate de ali utilizatori ai reelei! Folosii
n schimb FTP securizat; programul sftp este inclus n suita Secure SHell, consultai Seciunea 10.4.4.4.
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
Skype. Consultai http://www.skype.com pentru mai multe informaii. Skype este gratuit, dar nu liber
(deschis).
Gizmo: un program gratuit (dar nu liber) de telefonie pentru calculatorul dumneavoastr, consultai
http://www.gizmoproject.com.
157
Mai
multe
informaii
pot
fi
gsite
paginile
Info
ale
named,
fiierul
10.3.8. DHCP
DHCP este the Dynamic Host Configuration Protocol (Protocolul de configurare dinamic a
gazdei), care nlocuiete gradual btrnul bootp n mediile mari. Este folosit pentru controlarea parametrilor
vitali de reea, precum adrese de IP i serverele de nume ale gazdei. DHCP este compatibil retroactiv cu
bootp. Pentru configurarea serviciului, trebuie s citii HOWTO.
Calculatoarele client care folosesc DHCP sunt configurate de regul prin interfaa grafic care
configureaz dhcpcd, serviciul client DHCP. Verificai documentaia sistemului dac trebuie s configurai
calculatorul drept client DHCP.
10.3.9.2. PAM
Linux-ul poate folosi PAM, The Pluggable Authentication Module, o metod flexibil de
autentificare pe sistemele UNIX.
Avantajele PAM:
cu PAM.
Administratorii i dezvoltatorii de programe se bucur de avantaje ca flexibilitatea i controlul
autentificrilor.
Dezvoltatorii nu trebuie s proiecteze un program pentru o anumit schem de autentificare. Ei se
pot concentra pe detaliile programului n sine.
Directorul /etc/pam.d conine fiierele de configurare ale PAM (nainte era /etc/pam.conf).
Fiecare aplicaie sau serviciu are propriul fiier. Oricare linie din fiier are patru elemente:
Module (Module):
auth: asigur autentificarea propriu-zis (poate prin solicitarea i verificarea unei parole)
i stabilete permisiunile, precum apartenena la un grup sau bilete Kerberos.
158
account: verific pentru a se asigura c accesul este permis pentru utilizator (contul nu a
expirat, utilizatorului i este permis s se autentifice la acel moment al zilei, etc.).
passwords: folosit pentru configurarea parolelor.
session: folosit dup ce un utilizator se autentific. Acest modul execut sarcini
adiionale de care este nevoie pentru permiterea accesului (de exemplu, montarea directorului
personal al utilizatorului sau punerea la dispoziie a csuei potale).
Ordinea n care sunt alturate modulele, n aa fel nct s fie folosite mai multe, este foarte
important.
Control Flags (Etichete de control): spune PAM ce aciuni s iniieze n caz de eec sau succes.
Valorile pot fi required, requisite, sufficient sau optional.
Module Path (Calea ctre modul): traseul ctre modulul care va fi folosit, de regul n
/lib/security.
Arguments (Argumente): informaii pentru module.
Fiierele /etc/shadow i /etc/passwd sunt detectate automat de PAM.
Mai multe informaii sunt disponibile n paginile man ale pam i pe pagina Proiectul Linux-PAM.
10.3.9.3. LDAP
Lightweight Directory Acces Protocol este un sistem client-server pentru accesarea unor directoare
de servicii globale sau locale prin intermediul reelei. Pe sistemele Linux, este folosit implementarea
OpenLDAP. Include slapd, un serviciu independent; slurpd, un server replicator independent; librriile care
implementeaz protocolul LDAP i o serie de utiliti, unelte i clieni.
Principalul beneficiu al utilizrii LDAP este securizarea anumitor tipuri de informaii n interiorul
organizaiei dumneavoastr. De exemplu, toate listele de utilizatori din organizaia dumneavoastr pot fi
integrate ntr-un director LAPD. Acest director poate fi apelat de toate aplicaiile pe care LAPD le permite i
care au nevoie de aceste informaii. Pot fi accesate i de utilizatorii care au nevoie de informaiile din
director.
Alte beneficii ale LAPD sau X.500 Lite includ uurina n implementare (comparat cu X.500) i
Application Programming Interface (API), ceea ce se traduce prin faptul c numrul aplicaiilor LAPD i
porile LAPD vor crete ca numr n viitor.
Ca minusuri, dac dorii s folosii LAPD, vei avea nevoie de aplicaii care s funcioneze cu acest
serviciu sau de abilitatea de a folosi porile LAPD. n timp ce folosirea LAPD se extinde, nu putem spune c
dispunem de multe aplicaii pentru Linux capabile s lucreze cu acest serviciu. De asemenea, cu toate c
LDAP dispune de un anume control al accesului, nu posed att de multe faciliti legate de securitate
precum X.500.
ntruct LDAP este un protocol deschis i configurabil, poate fi folosit la stocarea oricrui tip de
informaie legat de structura particular a unei organizaii. Exemple comune sunt bazele de date cu adrese
de pot electronic, autentificarea n combinaie cu PAM, bazele de date care conin numere de telefon i
bazele de date care conin fiierele de configurare ale sistemelor.
Consultai informaiile specifice sistemului dumneavoastr i paginile man ale comenzilor care au
legtur cu acest serviciu, cum ar fi ldapmodify i ldapsearch pentru mai multe detalii. Mai multe informaii
putei gsi n LDAP Linux HOWTO, care prezint instalarea, configurarea, rularea i ntreinerea unui server
LDAP pe sistemele Linux. Autoarea acestei introduceri n Linux a scris i LDAP Operation HOWTO, n care
sunt descrise lucrurile de baz pe care trebuie s le cunoasc oricine care are de-a face cu administrarea,
operarea i integrarea serviciilor LDAP.
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.
Verificarea unui server web din punct de vedere al rspunsului la cereri de baz:
160
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.
Aceast procedur pleac de la ipoteza c dispunei de o variant a serverului X (XFree86, X.org,
Exceed, Cygwin) instalat corespunztor pe calculatorul pe care dorii s afiai aplicaiile grafice. Arhitectura
i sistemul de operare ale calculatorului client nu sunt importante, att timp ct v permit s rulai un server
161
X pe acestea.
Reinei c afiarea unei ferestre terminal de pe un calculator aflat la distan este tratat ca
afiarea unei imagini.
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:
configureze manual variabila DISPLAY. naintarea conexiunilor X11 poate fi configurat din linia de
comand sau prin fiierul de configurare sshd.
Valoarea pentru DISPLAY configurat prin ssh va inti ctre calculatorul server, dar cu un numr
de afiaje mai mare de 0. Acest lucru este normal i apare pentru c ssh creaz un server X proxy pe
calculatorul server (care ruleaz aplicaiile client X) pentru naintarea conexiunilor pe canalul criptat.
Totul se face automat, aa nct atunci cnd tastai numele unei aplicaii grafice, este afiat pe
calculatorul dumneavoastr i nu pe calculatorul aflat la distan. Noi utilizm xclock n exemplul care
urmeaz, ntruct este un program mic, n general instalat pe toate sistemele Linux, ideal pentru astfel de
teste.
Figura 10-3. SSH X11 forwarding
SSH va configura automat i datele Xauthority de pe calculatorul server. n acest scop, va genera
la ntmplare un cookie de autorizare, pstrat n fiieul Xauthority de pe server i va verifica dac fiecare
conexiune naintat poart acest cookie pe care-l va nlocui cu cel real n momentul n care conexiunea este
deschis. Cookie-ul real de autentificare nu este trimis niciodat calculatorului server (dup cum nici un fiier
cookie nu este trimis n clar).
Serverul X
Procedura de mai sus pornete de la prezumia c avei configurat un server X pe calculatorul pe
care dorii s afiai o aplicaie de pe calculatorul aflat la distan. Clientul poate avea o arhitectur diferit i
un alt sistem de operare att timp ct poate rula un server X, cum ar fi Cygwin (care implementeaz un
server X.org pentru clienii MS Windows i nu numai) sau Exceed, fiind astfel posibil realizarea unei
conexiuni la distan cu orice calculator care ruleaz UNIX sau Linux.
Orice nume de fiier poate conine specificaii despre gazd i utilizatori pentru a indica faptul c
fiierul este destinat copierii de pe/ctre acea gazd. Este permis copierea n cazul a dou gazde aflate la
distan. Consultai paginile Info pentru mai multe informaii.
Dac folosii mai des o interfa asemntoare FTP, utilizai sftp:
corespondent.
Vom studia cheile SSH prin exerciii. Toate informaiile de care avei nevoie pot fi gsite n paginile
man sau Info.
10.4.5. VNC
VNC sau Virtual Network Computing este de fapt un sistem de afiare la distan care permite
vizualizarea unui spaiu de lucru (desktop environment) nu doar pe calculatorul local, ci oriunde pe Internet,
pe o mare varietate de sisteme i arhitecturi, inclusiv MS Windows i cteva distribuii UNIX. Putei, de
exemplu, s rulai MS Word pe un sistem Windows NT i s afiai ieirea pe un spaiu de lucru Linux. VNC
asigur att serverele ct i clienii, aa c funcioneaz i invers, adic permite afiarea programelor Linux
pe clieni Windows. VNC este, probabil, cea mai uoar cale prin care putei avea conexiuni X pe
calculatorul dumneavoastr. Urmtoarele caracteristici fac ca VNC s fie diferit de un server X normal sau
de implementrile comerciale:
Nu este stocat nimic pe calculatorul pe care se afieaz: putei prsi staia de lucru curent i v
putei relua lucrul de la alt calculator, din punctul n care ai rmas. Cnd rulai un server X pe un
calculator i acesta nghea sau este repornit, toate aplicaiile la distan pe care le rulai vor fi
terminate. Cu VNC, acestea vor continua s ruleze.
Este mic i simplu, nu necesit instalare, poate rula de pe o dischet dac este nevoie.
Cu clientul Java este independent de platforma folosit, rulnd pe orice accept X.
Este divizibil: un spaiu de lucru poate fi afiat pe mai multe calculatoare.
Este liber i gratuit.
Mai multe informaii putei gsi n paginile man ale VNC (man vncviewer) sau pe saitul VNC.
10.4.7. Cygwin
Cygwin asigur multe din funcionalitile UNIX pe sistemele MS Windows. n afar de a permite
funcionarea uneltelor liniei de comand i a aplicaiilor grafice specifice UNIX-ului, poate fi folosit la afiarea
unui spaiu de lucru Linux pe sistemele MS Windows, prin utilizarea la distan a serverului X. ntr-o consol
Cygwin Bash tastai:
/usr/X11R6/bin/XWin.exe -query numele_calculatorului_dumneavoastr_sau_IP
Conexiunea este respins n configurarea implicit. Trebuie s modificai configuraia X Display
Manager (XDM) i, posibil, configuraia X Font Server (XFS) pentru permiterea acestui tip de conexiune, n
care primii un ecran de autentificare pe calculatorul aflat la distan. n funcie de administratorul spaiului
dumneavoastr de lucru (Gnome, KDE sau altul), pot fi necesare modificri i n alte fiiere de configurare.
Dac nu avei nevoie de afiarea spaiului de lucru n ntregime, putei utiliza SSH n Cygwin, exact
n modul prezentat n Seciunea 10.4.4 fr s v deranjai a mai edita fiiere de configurare.
165
10.5. Securitate
10.5.1. Introducere
Imediat ce un calculator este conectat la o reea, devin posibile tot felul de agresiuni, fie c vorbim
despre un sistem bazat pe UNIX sau oricare altul. Cunoatem c pe aceast tem au fost scrise extraordinar
de multe lucrri i nu ne facem un scop n sine din discutarea n detaliu a subiectului securitii. Sunt ns
cteva chestii logice, de baz, prin care un utilizator, novice chiar, poate obine un sistem mai sigur,
deoarece majoritatea intruziunilor sunt posibile din cauza utilizatorilor neglijeni sau ignorani.
V ntrebai poate dac aceste consideraii se aplic i n cazul dumneavoastr, care folosii un
calculator acas sau la serviciu, ntr-un mediu cu un grad mai mare de securizare. ntrebrile la care trebuie
s rspundei sunt mai degrab urmtoarele:
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.
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.
Nu v autentificai ca administrator dac nu avei treab. Dezvoltatorii UNIX au nscocit acum mai
bine de douzeci de ani su pentru ntrirea securitii.
Accesul direct ca root este ntotdeauna periculos i permite erori umane, aa c folosii comanda susau autentificai-v pe un cont separat de administrator cnd este nevoie. Mult mai bine din punct de
vedere al securitii este folosirea comenzii sudo pentru executarea acelor comenzi care necesit
privilegii speciale, ceea ce v ofer o perioad limitat de aciune ca administrator, dup care se
168
verificai aceste date cu datele pstrate drept copii de siguran, fcute nainte ca sistemul s fie
compromis, pentru a v asigura de integritatea acestora.
Reinstalai sistemul.
Folosii parole noi.
Restaurai datele folosind copiile de siguran.
Actualizai sistemul.
Reexaminai sistemul: blocai serviciile care nu v sunt necesare, verificai regulile firewall-ului i
politicile de acces.
Conectai-v din nou la Internet.
169
10.6. Sumar
Linux-ul este conceput special pentru a lucra n reea. Kernelul acestui sistem de operare
integreaz protocoalele folosite n mod obinuit dar i unele din cele mai specifice. Uneltele standard de
reea ale UNIX-ului sunt prezente n orice distribuie. Pe lng acestea, cele mai multe distribuii ofer unelte
care v ajut la instalarea i administrarea reelelor.
Linux-ul este renumit ca platform stabil pe care ruleaz numeroase servicii de Internet, numrul
programelor disponibile pe Internet fiind uria. Precum UNIX-ul, putei folosi i administra un sistem Linux de
la distan, folosind una din soluiile care asigur executarea la distan a programelor.
Subiectul securitii a fost atins n treact. Linux-ul este alegerea ideal pentru utilizarea ca firewall,
o soluie ieftin i la ndemn, dar poate fi folosit n alte cteva funcii de reea, cum ar fi routere i servere
proxy.
ntrirea securitii unei reele se face prin aplicarea frecvent a actualizrilor i prin folosirea
bunului-sim.
Iat o trecere n revist a unor comenzi legate de reelistic:
Tabelul 10-2. Comenzi noi n Capitolul 10: Reelistica
Comanda
nelesul comenzii
ftp
host
ifconfig
ip
netstat
ping
rdesktop
route
scp
sftp
ssh
ssh-keygen
telnet
xclock
xhost
10.7. Exerciii
10.7.1. Generaliti despre reelistic
Afiai informaiile despre reea n cazul staiei dumneavoastr de lucru: adresa de IP, rutrile,
170
Trimitei un mesaj de pot electronic contului dumneavoastr local. ncercai dou metode de
Configurai cheile SSH pentru a v putea conecta la un alt calculator fr a avea nevoie de o parol.
Facei o copie de rezerv a directorului dumneavoastr personal n directorul /var/temp al celuilalt
calculator, pe care-l folosii ca server pentru copii de siguran, utiliznd scp. Arhivai i comprimai
datele nainte de transfer! Conectai-v la distan folosind ssh, despachetai copia de siguran i
trimitei un fiier napoi la calculatorul dumneavoastr folosind sftp.
10.7.3. Securitate
Facei o list cu toate porturile deschise (care ascult) de pe calculatorul dumneavoastr.
S presupunem c dprii s rulai un server web. Ce servicii ai dezactiva? De ce ai face acest
lucru?
171
fiiere de sistem proprii Linux-ului; ele sunt accesate i trimise pe canalul de ieire audio direct, folosind un
program de redare pentru CD-uri audio. Dac vorbim despre un CD care conine fiiere .mp3, trebuie ca s
montai acest CD n sistemul de fiiere, apoi s utilizai unul din programele pe care le vom discuta mai jos
pentru a reda muzica nregistrat pe acest disc. Am discutat n Seciunea 7.5.5 despre montarea CD-urilor n
sistemul de fiiere.
Unealta cdparanoia din pachetul cu acelai nume citete formatul audio direct de pe CD ca date,
fr conversie analog, i scrie datele ntr-un fiier sau le livreaz ntr-un alt format, dintre care mai folosit
este .waw. Cele mai multe distribuii includ diferite unelte de conversie a formatelor, de exemplu n . mp3,
sau pun la dispoziie pachete de programe, pe Internet, pentru aceste sarcini. Proiectul GNU furnizeaz
cteva playere programe pentru redarea CD-urilor, extragere de fiiere audio i unelte de conversie a
formatelor, precum i administratori de baze de date pentru fiierele audio; consultai Free Software, Audio
Section pentru informaii detaliate.
Crearea de CD-uri audio se face mai uor, printre multe altele, cu unealta kaudiocreator din suita
KDE. Informaii clare sunt coninute de KDE Help Center (Centrul de ajutor KDE).
Scrierea CD-urilor a fost tratat n Seciunea 9.2.2.
Foarte utilizate sunt i aplicaia KDE Amarok, care ctig constant popularitate, i MPlayer, care,
n plus, poate reda fiiere video.
Restricii
Anumite distribuii nu permit redarea fiierelor MP3 fr modificarea configuraiei, din cauza
restriciilor de liceniere a formatului MP3. Va fi nevoie de instalarea unor programe n plus pentru a reui
redarea acestui format.
Este i cazul distribuiei Ubuntu, care, n instalarea standard, nu red acest format. Trebuie s
activai arhivele de programe universe i multiverse pentru a instala pachetele adiionale ubuntu-restrictedextras care se ocup, printre altele, i de redarea formatului .mp3. Vei avea nevoie i de pachete adiionale
pentru redarea DVD-urilor. De menionat c n varianta KiwiLinux, un Ubuntu conceput pentru Romnia i
Ungaria, aceste formate sunt suportate n instalarea standardn.t..
n modul text, folosii comanda mplayer:
173
Ogg Vorbis: format audio liber: consultai directorul audio GNU pentru unelte - acestea pot fi deja
incluse n distribuia dumneavoastr. Formatul a fost dezvoltat deoarece formatul MP3 a devenit
proprietar. De menionat c Ogg este superior att din punct de vedere al comprimrii, ct i al
naturaleii sunetului redat; din pcate, puin folositn.t..
Real audio i video: realplay de la RealNetworks.
SoX sau Sound eXchange: de fapt un convertor de formate, care este inclus n programul play.
Red .waw, .ogg i alte formate, inclusiv cele binare brute.
Playmidi: un player midi, consultai directorul GNU.
AlsaPlayer: inclus n proiectul Advanced Linux Sound Arhitecture, consultai saitul AlsaPlayer.
mplayer: red practic orice, inclusiv fiiere mp3. Mai multe informaii gsii pe saitul MPlayerHQ.
hxplayer: integreaz suport pentru fiierele RealAudio i RealVideo, mp3, mp4audio, Flash, waw i
altele, consultai HelixDNA (nu toate componentele de mai sus ale acestui program sunt libere).
rhythmbox: construit pe cadrul GStreamer, poate reda orice format compatibil cu acesta din urm,
care pretinde c red tot, consultai saiturile Rhythmbox i GStreamer.
Verificai documentaia sistemului i paginile man ale programelor care v intereseaz pentru
explicaii detaliate despre modul acestora de folosin.
Nu am aceste aplicaii instalate pe sistemul meu!
Multe din aplicaiile i uneltele discutate n seciunea de mai sus sunt programe opionale. Exist
aadar posibiliatea ca astfel de aplicaii s nu fie prezente n sistemul dumneavoastr dup instalarea
implicit, dar sunt disponibile pentru distribuia aleas ca pachete adiionale. Se poate ntmpla ns i ca
unul din programele menionate mai sus s nu fie disponibil pentru distribuia dumneavoastr. n acest caz,
descrcai programul de pe Internet.
Indiferent de maniera n care alegei s ascultai muzic sau alte fiiere audio, amintii-v c ceilali
oameni nu sunt interesai de ceea ce se red pe calculatorul dumneavoastr. ncercai s v purtai civilizat,
n special acolo unde se lucreaz. Folosii cti de calitate n locul celor care sunt introduse n pavilionul
urechii, pentru a nu distrage pe cei cu care mprii acelai mediu.
11.2.3. nregistrarea
Avei la dispoziie destule unelte pentru nregistrarea de muzic sau voce. Pentru nregistrare de
voce putei folosi arecord n linia de comand:
Interrupt nseamn c aplicaia a primit semnalul Ctrl+C. Redai nregistrarea prin comanda play.
Ceea ce v-am prezentat mai sus este un test pe care-l putei face nainte de testarea aplicaiilor
care au nevoie de voce, cum ar fi Voice over IP (VoIP). Nu uitai s verificai dac microfonul este activat.
Dac nu v auzii vocea, verificai-v configurrile de sunet. Adesea se ntmpl ca microfonul s fie nchis
sau volumul acestuia s fie foarte jos. Putei uor reface configurrile prin alsamixer sau interfaa grafic
pentru volum specific distribuiei dumneavoastr.
Din KDE putei ncerca krec, iar din Gnome - gnome-sound-recorder.
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.2. Ce v trebuie?
11.4.2.1. Partea de server
n primul rnd, avei nevoie de un furnizor care s v ofere acest serviciu. Serviciul oferit poate
integra i telefonia tradiional, poate fi gratuit sau nu. Menionm civa astfel de furnizori: SIPphone,
Vonage, Lingo, AOLTotaltalk i muli ali furnizori locali care ofer aa numitul serviciu telefonic integral.
Servicii de telefonie numai pe Internet sunt oferite de Skype, SIP Broker, Google.
Dac dorii s v facei un server propriu, aplecai-v asupra Asterisk.
11.5. Sumar
Platforma GNU/Linux integreaz total capaciti multimedia. O mare varietate de dispozitive
precum plci de sunet, tv-tunere, microfoane, playere CD i DVD sunt acoperite de Linux. Lista aplicaiilor
este practic fr de sfrit, aa c v prezentm o list trunchiat cu noi comenzi, limitndu-ne la comenzile
audio generale:
Tabelul 11-1. Comenzi noi n Capitolul 11: Audio
Comanda
nelesul comenzii
alsaconf
alsamixer
arecord
aumix
Mixer audio.
cdp
Red un CD audio.
cdparanoia
cdplay
Red un CD audio.
gnome-alsamixer
gnome-cd
kmix
krec
mplayer
Player multimedia
play
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
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
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
Comenzi DOS
Comenzi Linux
<comand> /?
cd
cd
chdir
pwd
cls
clear
copy
cp
date
date
del
rm
dir
ls
echo
echo
edit
exit
exit
fc
diff
find
grep
format
mem
free
mkdir
mkdir
more
move
mv
ren
mv
time
date
180
Comand
nelesul comenzii
>
Redirecioneaz ieirea
>>
Adaug la fiier
<
Redirecioneaz intrarea
<<
Redirecioneaz intrarea
Conexeaz ieirea
&
[]
()
Execut n subconsol
``
'' ''
''
$var
$$
ID-ul procesului
$0
Numele comenzii
$n
$*
ncepe comentariul
bg
Execuie n fundal
break
Pauz
cd
Schimb directorul
continue
echo
Afieaz ieirea
eval
Evalueaz argumentele
exec
fg
jobs
kill
newgrp
shift
stop
suspend
time
Cronometreaz o comand
umask
unset
wait
sh
bash
ksh
csh
neles/Aciune
Prompterul implicit al
utilizatorului
>|
>|
>!
Foreaz redirecionarea
> fiier
2>&1
>& fiier
Redirecioneaz stdout
i stderr ctre fiier
{}
Expandeaz elementele
listate
$
(comand)
`comand`
Substituie ieirea
comenzii
$HOME
$HOME
$HOME
$home
Directorul personal
Simbolul directorului
personal
~+, ~-
=-, =N
Acceseaz directoarele
var=value
VAR=value
export var
export VAR=value
export
var=val
${nnnn}
${nn}
''$@''
''$@''
''$@''
$#
$#
$#
$#argv
Numrul argumentelor
$?
$?
$?
$status
$!
$!
$!
$-
$-
$-
Opiunile curente
.file
.file
182
setenv var
val
source file
Configureaz variabilele
de mediu
file
alias x='y'
alias x=y
alias x y
Numele x se refer la
comanda y
case
case
case
switch sau
case
Alege alternativele
done
done
done
end
Termin o declaraie n
bucl
esac
esac
esac
endsw
exit n
exit n
exit n
exit (expr)
Ieire cu afiarea
statutului
for/do
for/do
for/do
foreach
noglob
Ignor caracterele
substituite pentru
generarea de nume
hashstat
Afieaz comenzile
dispersate (urmrete
aliasurile)
rehash
Amintete localizarea
comenzilor
unhash
Uit localizarea
comenzilor
nullglob|dotglob|
nocaseglob|noglob
hash
hash
hash cmds
hash cmds
hash -r
hash -r
alias -t
alias -t
cmds
history
history
history
Listeaz comenzile
anterioare
!!
Reia comanda
anterioar
!str
r str
!str
!cmd:s/x/y/
nlocuiete xcu y n
cea mai recent
r x=y cmd !cmd:s/x/y/
comand care ncepe
cu cmd, apoi execut
if [$i -eq 5]
if [$i -eq 5]
if ((i==5))
if ($i==5)
Test
fi
fi
fi
endif
Sfritul declaraiei if
ulimit
ulimit
ulimit
limit
Limiteaz resursele
pwd
pwd
pwd
dirs
Afieaz directorul
curent
read
read
read
$<
trap 2
trap 2
trap 2
onintr
Ignor ntreruperile
unalias
unalias
unalias
terge aliasurile
until
until
until
while/do
while/do
while/do
Bourne Again SHell dispune de mult mai multe funcii, care nu sunt listate aici. Tabelul arat doar
cum aceast consol a ncorporat idei bune din alte console: nu exist spaii goale n coloana
corespunztoare consolei bash. Mai multe informaii despre comenzile particulare Bash gsii n paginile
Info, seciunea Bash Features.
Mai multe informaii:
Trebuie s citii cel puin un manual, manualul consolei pe care o folosii. Alegerea pe care v
sftuim s o facei este info bash, bash fiind consola GNU i cea mai prietenoas cu nceptorii. Scoatei-l
la imprimant i luai-l cu dumneavoastr, parcurgei-l oricnd avei la dispoziie mcar 5 minute.
Consultai Appendix B dac avei dificulti n asimilarea comenzilor consolei.
183
Glosar
Seciunea curent v prezint, n ordine alfabetic, o trecere n revist a comenzilor discutate n
acest document.
A
a2ps
Formateaz fiierele pentru tiprire pe o imprimant PostScript, consultai Seciunea 8.1.2.
acroread
Vizualizator PDF, consultai Seciunea 8.1.2.2.
adduser
Creeaz un utilizator nou sau actualizeaz informaiile implicite ale unui utilizator.
alias
Creeaz n consol un alias pentru o comand.
alsaconf
Configureaz placa de sunet folosind driverul ALSA, consultai Seciunea 11.1.2.
alsamixer
Regleaz sunetul pe ieirile dispozitivului de sunet ALSA, consultai Seciunea 11.2.2.3.
anacron
Execut comenzi periodic, nu presupune rularea continu a calculatorului.
apropos
Caut n baza de date whatis dup irul introdus, consultai Seciunea 2.3.3.2.
apt-get
Administratorul de pachete APT, consultai Seciunea 7.5.3.2.
arecord
nregistreaz o mostr de sunet, consultai Seciunea 11.2.3.
aspell
Verific ortografia.
at, atq, atrm
Trimite n ateptare, examineaz sau terge servicii cu executare ntrziat, consultai Seciunea
4.1.2.2 i Seciunea 4.4.3.
aumix
Ajusteaz mixerul audio, consultai Seciunea 11.2.2.3.
(g)awk
Limbaj de scanare i procesare a tiparelor.
B
bash
Bourne Again SHell, consultai Seciunea 3.2.3.2 i Seciunea 7.2.5.
batch
Trimite n ateptare, examineaz i terge sarcinile cu executare ntrziat.
bg
Ruleaz o sarcin n fundal, consultai Seciunea 4.1.2.1.
bitmap
Editor hart de pixeli i utiliti de conversie pentru sistemul X Window.
bzip2
Un compresor de fiiere, consultai Seciunea 9.1.1.3.
C
cardctl
Administreaz cardurile PCMCIA, consultai Seciunea 10.2.3.3.
cat
Conexeaz fiierele i afieaz rezultatul la ieirea standard, consultai Seciunea 2.2 i Seciunea
3.2.4.
cd
Schimb directorul, consultai Seciunea 2.2.
cdp/cdplay
Un program interactiv n modul text pentru controlarea i redarea CD-urilor audio n Linux, consultai
Seciunea 11.2.1.
cdparanoia
Un utilitar audio pentru citirea CD-urilor, care include faciliti de verificare a datelor, consultai
Seciunea 11.2.1.
184
cdrecord
nregistreaz un CD-R, consultai Seciunea 9.2.2.
chattr
Modific atributele fiierelor.
chgrp
Modific grupurile.
chkconfig
Actualizeaz sau cere informaii despre nivelurile de rulare pentru serviciile de sistem, consultai
Seciunea 4.2.5.1.
chmod
Modific permisiunile asociate fiierelor, consultai Seciunea 3.4.1, Seciunea 3.4.2.1 i Seciunea
3.4.2.4.
chown
Modific deintorii fiierelor i grupurile, consultai Seciunea 3.4.2.3.
compress
Comprim fiierele.
cp
Copiaz fiiere i directoare, consultai Seciunea 3.3.2.
crontab
Administreaz fiierele crontab, consultai Seciunea 4.4.4.
csh
Deschide o consol C, consultai Seciunea 3.2.3.2.
cut
terge seciuni din fiecare linie a unui fiier (ale unor fiiere), consultai Seciunea 7.2.5.2.
D
date
Afieaz sau modific data i ora sistemului.
dd
Convertete i copiaz un fiier (transfer pe disc - disk dump), consultai Seciunea 9.2.1.2.
df
Afieaz utilizarea sistemului de fiiere de pe disc, consultai Seciunea 3.1.2.3.
dhcpcd
Client DHCP, consultai Seciunea 10.3.8.
diff
Caut diferenele dintre dou fiiere.
dig
Trimite pachete de interogare ctre serverele de nume, consultai Seciunea 10.2.6.1.
dmesg
Afieaz sau controleaz memoria tampon a kernelului.
du
Estimeaz utilizarea spaiului de ctre fiiere.
dump
Creeaz copii de siguran pentru sistemul de fiiere, consultai Seciunea 9.2.5.
E
echo
Afieaz o linie de text, consultai Seciunea 3.2.1.
ediff
Diff pentru translatorul n limba englez.
egrep
grep extins.
eject
Demonteaz i ejecteaz mediile detaabile.
emacs
Pornete editorul Emacs, consultai Seciunea 6.1.2.1.
exec
Invoc subprocesele, consultai Seciunea 4.1.5.1.
exit
nchide consola curent, consultai Seciunea 2.2.
export
Adaug funcii mediului consolei, consultai Seciunea 3.2.1, Seciunea 7.2.1.2 i Seciunea 7.2.4.2.
185
F
fax2ps
Convertete un facsimil TIFF n PostScript, consultai Seciunea 8.1.2.
fdformat
Formateaz dischete, consultai Seciunea 9.2.1.1.
fdisk
Administrator de partiii pentru Linux, consultai Seciunea 3.1.2.2.
fetchmail
Administreaz mesajele de pot electronic de pe servere POP, IMAP, ETRN sau ODMR, consultai
Seciunea 10.3.2.3.
fg
Aduce o sarcin din fundal n prim plan, consultai Seciunea 4.1.2.1.
file
Determin tipul unui fiier, consultai Seciunea 3.3.1.2.
find
Caut fiiere, consultai Seciunea 3.3.3.3.
firefox
Navigator de Internet, consultai Seciunea 10.3.3.2.
fork
Creeaz un proces nou, consultai Seciunea 4.1.5.1.
formail
(Re)formateaz mesajele de pot electronic, consultai Seciunea 10.3.2.3.
fortune
Afieaz un mesaj, la ntmplare, de regul interesant.
ftp
G
galeon
Navigator grafic de Internet
gdm
Administratorul de spaiu de lucru Gnome, consultai Seciunea 4.2.4.
gedit
Editor pentru interfaa grafic, consultai Seciunea 6.3.3.3.
(min/a)getty
Controleaz dispozitivele din consol.
gimp
Program de manipulare a imaginilor.
gpg
Cripteaz, verific i decripteaz fiiere, consultai Seciunea 9.4.1.2.
grep
Afieaz liniile care se potrivesc unui tipar (sortare liniar), consultai Seciunea 3.3.3.4 i Seciunea
5.3.1.
groff
Emuleaz comanda nroff cu groff, consultai Seciunea 8.1.2.
grub
Consola grub, consultai Seciunea 4.2.3 i Seciunea 7.5.4.
gv
Vizualizator PostScript i PDF, consultai Seciunea 8.1.2.2.
gvim
Versiunea grafic a editorului vIm, consultai Seciunea 6.3.3.3.
gzip
Comprim sau despacheteaz fiiere, consultai Seciunea 9.1.1.3.
H
halt
Oprete sistemul, consultai Seciunea 4.2.6.
head
Afieaz prima parte a coninutului fiierelor, consultai Seciunea 3.3.4.3.
help
Afieaz ajutorul pentru comenzile proprii consolei.
host
Utilitar care caut DNS-urile, consultai Seciunea 10.2.6.1.
186
httpd
Protocol Apache de transfer pentru hipertext, consultai Seciunea 10.2.3.1.
I
id
Configureaz interfaa de reea sau afieaz configuraia, consultai Seciunea 10.1.2.3.
info
Citete documentele Info, consultai Seciunea 2.3.3.1.
init
Controleaz iniializarea proceselor, consultai Seciunea 4.1.5.1, Seciunea 4.2.4 i Seciunea 4.2.5.
insserv
Administreaz scripturile init, consultai Seciunea 4.2.5.1.
iostat
Afieaz statisticile I/O, consultai Seciunea 4.3.5.4.
ipchains
Administreaz firewall-ul IP, consultai Seciunea 10.4.4.2.
iptables
Administreaz pachetele IP, consultai Seciunea 10.4.4.2.
J
jar
Unealt de arhivare Java, consultai Seciunea 9.1.1.4.
jobs
Listeaz sarcinile care se desfoar n fundal.
K
kdm
Administrator pentru spaiul de lucru al KDE, consultai Seciunea 4.2.4.
kedit
Editor grafic KDE, consultai Seciunea 6.3.3.3.
kill(all)
Termin procesele, consultai Seciunea 4.1.2.1.
konqueror
Navigator de fiiere, pentru pagini de ajutor i pentru Internet, consultai Seciunea 3.3.2.1.
ksh
Deschide o consol Korn, consultai Seciunea 3.2.3.2.
kwrite
Editor grafic KDE, consultai Seciunea 6.3.3.3.
L
less
more cu mai multe opiuni.
lilo
ncrctor de sisteme pentru Linux (acum se folosete mai mult grub), consultai Seciunea 4.2.
links
Navigator WWW pentru modul text, consultai Seciunea 10.2.3.2.
ln
Creeaz legturi ntre fiiere, consultai Seciunea 3.3.5.
loadkeys
ncarc tabela de modificare a aspectului tastaturii, consultai Seciunea 7.4.1.
locate
Caut fiiere, consultai Seciunea 3.3.3.3 i Seciunea 4.4.4.
logout
nchide consola curent, consultai Seciunea 2.1.3.
lp
Trimite cereri ctre serviciul de tiprire LP, consultai Seciunea 8.1.
lpc
Program de control pentru tiprire, consultai Seciunea 8.1.
lpq
Program pentru examinarea lucrrilor trimise la coada pentru tiprire, consultai Seciunea 8.1.
187
lpr
Tiprire offline, consultai Seciunea 8.1.
lprm
terge sarcinile trimise la imprimant, consultai Seciunea 8.1.
ls
Afieaz coninutul directoarelor, consultai Seciunea 2.2, Seciunea 3.1.1.2 i Seciunea 3.3.1.1.
lynx
Navigator WWW pentru modul text, consultai Seciunea 10.2.3.2.
M
mail
Trimite i primete mesaje de pot electronic, consultai Seciunea 10.3.2.3.
man
Citete paginile de manuale, consultai Seciunea 2.3.2.
mc
Midnight COmmander, navigator de fiiere, consultai Seciunea 3.3.2.1.
mcopy
Copiaz fiiere MSDOS n/din UNIX.
mdir
Afieaz un director MSDOS.
memusage
Afieaz gradul de folosire al memoriei, consultai Seciunea 4.3.5.3.
memusagestat
Afieaz statistici referitoare la utilizarea memoriei, consultai Seciunea 4.3.5.3.
mesg
Controleaz accesul la scriere n terminalul dumneavoastr, consultai Seciunea 4.1.6.
mformat
Formateaz o dischet n MSDOS, consultai Seciunea 9.2.1.1.
mkbootdisk
Creeaz o dischet pentru pornirea sistemului.
mkisofs
Creeaz un sistem de fiiere hibrid ISO9660, consultai Seciunea 9.2.2.
mplayer
Player pentru filme al Linux-ului, consultai Seciunea 11.2.2 i Seciunea 11.3.
more
Filtru pentru afiarea unei secvene de text, cte un ecran pe afiare, consultai Seciunea 3.3.4.2.
mount
Monteaz un sistem de fiiere sau afieaz informaii despre un sistem de fiiere deja montat,
consultai Seciunea 7.5.5.1.
mozilla
Navigator web, consultai Seciunea 10.2.3.2.
mt
Controleaz operaiile cu benzile magnetice.
mtr
Unealt de diiagnosticare pentru reele.
mv
Redenumete fiiere, consultai Seciunea 3.3.2.
N
named
Server pentru nume de domenii, consultai Seciunea 10.3.7.
nautilus
Administrator de fiiere, consultai Seciunea 3.3.2.1.
ncftp
Program de navigare pentru serviciile ftp (nesecurizat!), consultai Seciunea 10.3.4.2.
netstat
Afieaz conexiunile la reea, tabela de rutare, statistici referitoare la interfaa de reea, conexiuni
deghizate i difuzrile multiple, consultai Seciunea 10.1.2.5 i Seciunea 10.4.2.
newgrp
Autentificare ntr-un alt grup, consultai Seciunea 3.4.2.2.
nfsstat
Afieaz statistici despre sistemele de fiiere n reea.
nice
Ruleaz un program cu modificarea prioritii programate, consultai Seciunea 4.3.5.1.
188
nmap
Unealt pentru explorarea reelei i scaner de securitate.
ntpd
Serviciul Network Time Protocol, consultai Seciunea 7.4.3.
ntpdate
Configureaz ora i data cu ajutorul unui server NTP, consultai Seciunea 7.4.3.
ntsysv
Interfa simpl pentru configurarea nivelurilor de rulare, consultai Seciunea 4.2.5.1.
O
ogle
Player DVD care citete meniurile DVD, consultai Seciunea 11.3.
P
passwd
Schimb parola, consultai Seciunea 2.2 i Seciunea 4.1.6.
pccardctl
Administreaz cardurile PCMCIA, consultai Seciunea 10.2.3.3.
pdf2ps
Transform fiierele PDF n PostScript, consultai Seciunea 8.1.2.
perl
Practical Extraction and Report Language.
pg
Pagineaz ieirea text, consultai Seciunea 3.3.4.2.
pgerp
Caut procese pe criterii bazate pe nume i alte atribute, consultai Seciunea 4.1.4.
ping
Trimite o cerere de rspuns unui alt calculator, consultai Seciunea 10.2.6.2.
play
Red o mostr de sunet, consultai Seciunea 11.2.3.
pr
Convertete fiierele text n vedeera tipririi.
printenv
Afieaz, n parte sau n totalitate, variabilele de mediu, consultai Seciunea 7.2.1.
procmail
Procesor independent de mesaje de pot electronic, consultai Seciunea 10.3.2.3.
ps
Afieaz statutul proceselor, consultai Seciunea 4.1.4 i Seciunea 4.3.5.4.
pstree
Afieaz procesele n form arborescent, consultai Seciunea 4.1.4.
pwd
Afieaz directorul de lucru curent, consultai Seciunea 2.2.
Q
quota
Afieaz gradul de folosire a discului i limitrile, consultai Seciunea 3.2.3.3.
R
rcp
Copiere la distan (nesecurizat!).
rdesktop
Client Remote Desktop Protocol, consultai Seciunea 10.4.6.
reboot
Oprete sistemul, consultai Seciunea 4.2.6.
recode
Convertete fiierele ntr-un alt set de caractere, consultai Seciunea 7.4.4.
renice
Modific prioritatea unui proces, consultai Seciunea 4.3.5.1.
restore
Restaureaz copiile de siguran create cu dump, consultai Seciunea 9.2.5.
189
rlogin
Autentificare la distan (telnet, nesecurizat!), consultai Seciunea 10.4.2 i Seciunea 10.5.2.
rm
terge un fiier, consultai Seciunea 3.3.2.
rmdir
terge un director, consultai Seciunea 3.3.2.2.
roff
Sistem de formatare, consultai Seciunea 8.1.2.
rpm
Administrator de pachete RPM, consultai Seciunea 7.5.2.1.
rsh
Consol la distan (nesecurizat!), consultai Seciunea 10.4.2.
rsync
Sincronizeaz dou directoare, consultai Seciunea 9.3.
S
scp
Copiere la distan securizat, consultai Seciunea 10.4.4.1.
screen
Administrator de ecran cu emulator pentru VT100, consultai Seciunea 4.1.2.1.
set
Afieaz, introduce sau modific o variabil.
setterm
Configureaz atributele terminalului.
sftp
ftp securizat (criptat), consultai Seciunea 10.4.4.1.
sh
Deschide o consol standard, consultai Seciunea 3.2.3.2.
shutdown
Oprete sistemul, consultai Seciunea 4.2.6.
sleep
Ateapt o perioad stabilit, consultai Seciunea 4.4.1.
slocate
Versiune mbuntit din punct de vedere al securitii pentru GNU Locate, consultai Seciunea
3.3.3.3.
slrnn
Client n modul text pentru Usenet, consultai Seciunea 10.2.6.
snort
Unealt pentru detectarea intruziunilor n reea.
sort
Sorteaz linii din fiierele text, consultai Seciunea 5.3.2.
spell
Verific ortografia, consultai Seciunea 5.1.2.3.
ssh
Consol securizat, consultai Seciunea 10.4.4.1.
ssh-keygen
Genereaz chei de autentificare i le administreaz, consultai Seciunea 10.4.4.5.
stty
Modific i afieaz configurrile terminalului.
su
Schimb utilizatorul, consultai Seciunea 3.2.1, Seciunea 7.5.3.2 i Seciunea 10.4.6.
T
tac
Conexeaz i afieaz fiierele n ordine invers, consultai cat.
tail
Afieaz ultima parte a coninutului unui fiier, consultai Seciunea 3.3.4.3.
talk
Converseaz cu un utilizator.
tar
Utilitar pentru arhivare, consultai Seciunea 9.1.1.1.
tcsh
Deschide o consol Turbo C, consultai Seciunea 3.2.3.2.
190
telinit
Controleaz iniializarea proceselor, consultai Seciunea 4.2.5.
telnet
Interfaa cu utilizatorul pentru protocolul TELNET (nesecurizat!), consultai Seciunea 10.4.2.
tex
Formateaz fiiere text, consultai Seciunea 8.1.2.
time
Cronometreaz o comand sau ofer informaii despre resursele folosite, consultai Seciunea 4.3.2.
tin
Program pentru citirea tirilor, consultai Seciunea 10.2.6.
top
Afieaz procesele care solicit cel mai mult procesorul, consultai Seciunea 4.1.4, Seciunea 4.3.5.3
i Seciunea 4.3.5.4.
touch
Modific eticheta de timp a fiierelor, consultai Seciunea 7.1.2.
traceroute
Afieaz ruta urmat de pachete n reea, consultai Seciunea 10.2.6.3.
tripwire
Verific integritatea fiierelor unui sistem UNIX, consultai Seciunea 10.4.5.
troff
Formateaz documente, consultai Seciunea 8.1.2.
tvtime
Aplicaie de bun calitate pentru televiziune.
twm
Tab Window Manager pentru sistemul X Window.
U
ulimit
Controleaz resursele, consultai Seciunea 7.1.2.5.
umask
Configureaz masca fiierului n funcie de utilizator, consultai Seciunea 3.4.2.2.
umount
Demonteaz un sistem de fiiere.
uncompress
Despacheteaz fiierele comprimate.
uniq
terge liniile duplicate dintr-un fiier sortat, consultai Seciunea 5.3.2.
up2date
Actualizeaz pachete RPM.
update
Serviciu al kerenlului, care trimite napoi pe disc memoria tampon nefolositoare.
update-rc.d
Configureaz scripturile init, consultai Seciunea 4.2.5.1.
uptime
Afieaz timpul de lucru al sistemului i solicitarea medie a sistemului, consultai Seciunea 4.1.4 i
Seciunea 4.3.5.2.
urpmi
Actualizeaz pachetele RPM, consultai Seciunea 7.5.3.3.
userdel
terge contul unui utilizator i fiierele conexe.
V
vi(m)
Pornete editorul vi (mbuntit), consultai Seciunea 6.1.2.2.
vimtutor
Tutorialul Vim.
vmstat
Afieaz statistici legate de memoria virtual, consultai Seciunea 4.3.5.4.
191
W
w
Arat cine este autentificat i ce face.
wall
Trimite un mesaj ctre terminalele fiecruia, consultai Seciunea 4.2.6.
wc
Afieaz numrul biilor, al cuvintelor i liniilor dintr-un fiier, consultai Seciunea 3.2.1.
which
Arat traseul complet al comenzilor (consolei), consultai Seciunea 3.2.1 i Seciunea 3.3.3.2.
who
Arat cine este autentificat, consultai Seciunea 4.1.6.
who am i
Afieaz ID-ul utilizatorului curent.
whois
Interogheaz o baz de date whois, consultai Seciunea 10.2.6.1.
write
Trimite un mesaj altui utilizator, consultai Seciunea 4.1.6.
X
xargs
Introduce i execut comenzi de la dispozitivul standard de intrare, consultai Seciunea 3.3.3.3.
xauth
Utilitar X authority.
xawtv
Un program X11 pentru televiziune.
xcdroast
Interfa grafic pentru cdrecord, consultai Seciunea 9.2.2.
xclock
Ceas digital/analog pentru X.
xconsole
Monitorizeaz mesajele de sistem n X.
xdm
Administrator de ecran cu suport pentru XDMCP, host chooser, consultai Seciunea 4.2.4 i
Seciunea 7.3.2.
xdvi
Vizualizator DVI, consultai Seciunea 8.1.2.2.
xedit
Editor grafic pentru X Window, consultai Seciunea 6.3.3.3.
xfs
Serverul de fonturi X.
xhost
Controleaz accesul programelor n X, consultai Seciunea 10.4.3.2.
xine
Player video liber, consultai Seciunea 11.3.
xinetd
Serviciu extins pentru Internet, consultai Seciunea 10.3.1.2.
xload
Afieaz solicitarea medie a sistemului n X, consultai Seciunea 4.3.5.6.
xlsfonts
Listeaz fonturile n X.
xmms
Player audio pentru X, consultai Seciunea 11.2.2.1.
xpdf
Vizualizator PDF, consultai Seciunea 8.1.2.2.
xterm
Emulator de terminal pentru X.
Y
yast
Unealt pentru administrarea sistemului n Novell SuSE Linux.
yum
Actualizeaz pachete RPM, consultai Seciunea 7.5.3.
192
Z
zapping
Program pentru televiziune n mediul Gnome.
zcat
Comprim sau despacheteaz fiiere.
zgrep
Caut n fiierele posibil comprimate o expresie regulat.
zmore
Filtru pentru afiarea textului comprimat.
193