100% au considerat acest document util (1 vot)
872 vizualizări157 pagini

Linux Carte de Baza

Încărcat de

Morgoci Igor
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
100% au considerat acest document util (1 vot)
872 vizualizări157 pagini

Linux Carte de Baza

Încărcat de

Morgoci Igor
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Introducere in Sistemul de Operare Linux

Universitatea din Bucureti


Editura CREDIS

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Acest material este destinat uzului studenilor


Departamentului de nvmnt la Distan CREDIS.
Reproducerea integral sau parial a acestui
material este posibil doar cu acordul scris al
Departamentului ID CREDIS.

Universitatea din Bucureti


Editura CREDIS
Bd. Mihail Koglniceanu, Nr. 36-46,
Corp C, Etaj I, Sector 5
Tel: (021) 315 80 95; 031 405 79 40
Fax: (021) 315 80 96
Email: credis@[Link]

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Introducere in Linux
Obiectivele Suportului de Curs
Acest manual a fost conceput pentru a ajuta sudentii sa isi insuseasca
elementele de baza, introductive, ale sistemului de operare Linux.

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

1. Introducere

1.1. Ce este Linux?


Linux este o copie a sistemului de operare UNIX, care poate rula pe un
calculator cu procesor Intel 386 sau mai bun. Linux nu este UNIX, UNIX fiind
un software aflat sub copyright (trebuie cumparata o licenta pentru a-l putea
utiliza legal).
A fost rescris de la zero pentru a elimina necesitatea platii licentei.
Totusi el se bazeaza in intregime pe comenzile si "look and feel"-ul UNIX, deci
cine stie Linux stie si UNIX si invers.
Linux este un sistem multiuser si multitasking, adica mai multi utilizatori
pot rula mai multe programe in acelasi timp. Are suport pentru retea (TCP/IP),
Internet, ba chiar este unul dintre cele mai folosite sisteme de operare pentru
servere internet si intranet.
Linux este sub licenta GPL ceea ce inseamna urmatoarele:
- este disponibil in cod sursa gratuit.
- oricine vrea sa aduca modificari, sau sa foloseasca anumite parti este liber sa
o faca, dar cu conditia ca produsul nou obtinut sa fie sub aceeasi licenta (adica
sa fie gratuit si cu sursele la vedere).
In 1991 Linus Torvalds (pe atunci student) a scris prima versiune de
Linux. Apoi a facut publice sursele pe internet, si o multime de oameni au
inceput sa-i raspunda, sa-i aduca imbunatatiri, noi sugestii, etc.
Intre timp acest sistem de operare a devenit complex, au aparut (si mai
apar) noi facilitati, iar performanta este remarcabila.
In prezent sunt estimati peste 8 milioane de utilizatori Linux, iar nucleul
Linuxului are peste 200 de autori. Pe langa acesti 200 de autori ar trebui
adaugate cele cateva mii de persoane care testeaza si gasesc buguri.
De ce Linux?

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Daca va place sa lucrati cu calculatorul atunci Linux este sistemul de


operare visat. Este cel mai interesant si distractiv sistem de operare existent.
Cu toate acestea, motivul pentru care Linux este cu adevarat revolutionar il
constituie faptul ca este Open Software. Toata tehnologia si stiinta se bazeaza
pe raspandirea libera a informatiei si pe revizuire continua. V-ati urca intr-un
avion care a fost construit pornind de la o tehnologie proprietara si cu un
design nerevizuit, un avion in ale carui maruntaie nu s-ar putea uita nimeni in
afara de constructor? Atunci, de ce sa aveti incredere intr-un sistem de
operare inchis, nerevizuit, proprietar? Linux este cel mai potrivit sistem de
operare pentru aplicatiile critice.
Stiinta si tehnologia a explodat acum 500 de ani prin raspandirea
cunostintelor prin intermediul mijloacelor de tiparire. In primii ani ai tiparului,
multi dintre cei care au indraznit sa imparta cunostintele publicului au fost
asasinati pentru ca ar fi tradat secrete. Linux reprezinta pentru era
calculatoarelor ceea ce a fost Gutenberg pentru scris. Din fericire, acum nu se
mai pune problema asasinatelor.
Linuxul este usor de utilizat?
Linux este un sistem de operare de tipul UNIX, puternic, matur si foarte
versatil. Puterea si versatilitatea au un pret: trebuie sa va pricepeti foarte bine
la calculatoare pentru a configura si intretine un sistem Linux. Linux este relativ
usor de folosit dupa ce sistemul de operare si aplicatiile au fost instalate
corect. Astfel, mamavoastra poate folosi si ea Linuxuul daca I-ati creat un cont
grafic si ia-ti pus meniurile si iconitele corespunzatoare pe descktopul interfetei
grafice.. inux este sigur, asa ca mama voastra nu va putea sa creeze probleme
sistemlui.
Linux difera in multe privinte de Windows. Asa ca daca va pricepeti la
Windows sa nu asteptati sa intelegeti imediat si Linux-ul. Trebuie sa invatati.
Pe de alta parte, daca ati mai lucrat cu UNIX, Linux vi se va parea usor.
Beneficiile Linux-ului
Linux va ofera:
- Un mediu modern, foarte stabil, multi-user, multi-tasking pe hardware ieftin si
cu cheltuieli reduse sau chiar zero pentru software.
- Putere de calcul, portabilitate si flexibilitate. Linux este mai popular pe PCurile compatibile Intel insa ruleaza la fel de bine pe numeroase alte platforme
hardware, de la jucarii la mainframe-uri.

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

- O extraordinara platforma de instruire.


- Capabilitati excelente de retea incluse in sitemul de operare.
- Numeroase aplicatii gratuite.
- Platforma de dezvoltare sofware cu limbaje de programare incluse in sistemul
de operare, etc.
1.2. Rularea Linux-ului
Pentru a rula Linux aveti nevoie de minim un calculator i386 cu 4 Mb
RAM si 50 Mb spatiu liber pe hard disk. Daca doriti sa folositi si sistemul XWindows, minimul de memorie RAM este de 8 MB.
Este posibil ca unele programe complexe sa necesite foarta multa
memorie. Linux are posibilitatea de a simula memoria RAM folosind un fisier
de swap pe harddisk, dar este mult mai lent. In plus excesul de memorie este
folosit pentru accelerarea operatiilor pe disk, deci cu cat mai multa memorie
RAM, cu atat Linux-ul dvs. are performante mai bune.

1.3. Programe disponibile sub Linux


Majoritatea distributiilor Linux includ compilatoare pentru diverse limbaje
de programare, utilitare pentru retea (email, telnet, ftp, www), creare si
manipulare documente, tiparire, arhivare, si multe altele. Pe langa interfata
clasica tip linie de comanda Linuxul ofera utilizatorilor si o interfata grafica,
bazata pe X Window.
Pe langa acestea exista disponibile pe Internet o mare varietate de
programe, unele gratuite, altele nu, iar mai nou marile case de software au
inceput sa porteze softurile lor pe Linux.
Iata cateva exemple:
- StarOffice (foarte asemanator cu MS-Office, gratuit pentru folosire noncomerciala);
- WordPerfect (cunoscutul procesor de text, disponibil si sub Linux);
- Netscape Navigator, Opera (browsere Web);
- Oracle (baze de date);
- Mathematica (calcul simbolic, etc.).

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig. 1.1 StarOffice.


1.4. Adrese web utile:
Adresele web de mai jos constituie un foarte bun punct de start. Pentru
a le accesa aveti nevoie de un calculator conectat la Internet si echipat cu un
browser www (Netscape, Opera).
Informatii despre Linux si programe disponibile in Linux:
[Link]
[Link]
[Link]
[Link]
Informatii despre distributii Linux:
[Link]
[Link]
[Link]
htttp://[Link]
[Link]
[Link]

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

2. Instalarea

2.1. Cerintele hardware


De la inceput, Linuxul a avut nevoie de resurse hardware minime pentru
a rula. Acest lucru nu s-a schimbat in timp. Linuxul poate functiona pe sisteme
hard foarte limitate insa a fi capabil sa rulezi Linuxul nu este totuna cu a crea
un sistem server.
Evident, cu cat este mai bun hardware-ul cu atat performanta obtinuta la
rularea sistemului de operare va fi mai mare. Cu toate acestea feriti-va de
ultimele descoperiri in domeniu pentru ca de multe ori acestea nu sunt
suportate de Linux. De exemplu, daca o placa video cu ultimele facilitati a
aparut pe piata ieri nu va asteptati ca maine Linux-ul sa o si recunoasca.
Uneori producatorii hardware ingreuneaza accesul dezvoltatorilor Linux la
informatiile specifice necesare pentru a scrie modulele driver si astfel devine
dificil ca acestia sa implementeze rapid ultimele produse hardware.

2.2. Pregatirea instalarii


Red Hat Linux, distributia Linux la care va face referire materialul in
continuare, se poate instala prin intermediul serviciilor FTP, NFS sau SMB
(Samba) atunci cand CD-ROM-ul Red Hat se afla pe un alt computer. Aceste
metode sunt foarte sensibile si de putie ori functioneaza fara erori. Pentru a
economisi timp si efort este recomandabil sa realizati instalarea folosind CDROM-ul de pe calculatorul pe care instalati Linux-ul.
Deoarece aceasta este metoda recomandata, vom considera in
continuare ca faceti instalarea de pe CD-ul propriu.
Pasul urmator in pregatirea instalarii il constituie determinarea
necesitatii unei dischete boot. Daca aveti un sistem de calcul care suporta
bootarea de pe CD-ROM atunci nu aveti nevoie de o astfel de discheta. Insa
daca CD-ul dumneavoastra cu distributia Red Hat nu este bootabil sau
sistemul nu suporta bootarea (incarcarea) de pe CD-ROM aveti nevoie de o
discheta de boot.

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

2.2.1. Crearea dischetelor de bootare


Crearea unei dishete de boot sub sistemul de operare Windows se
face in felul urmator: sa presupunem ca CD-ROM-ul este drive-ul D: si ca aveti
deja CD-ul in unitate. Rulati urmatoarea comanda de la un prompt MS-DOS:
d:/dosutils/rawrite
Utilitarul rawrite va afisa urmatoarele:
Enter disk image source file name:
Please insert a formated diskette into drive A: and press
the enter key
Introduceti ca sursa \images\[Link]. Rawrite va afisa urmatorul prompt:
Enter target diskette drive:
Introduceti litera corespunzatoare (A: sau a:)
Acum ar trebui sa introduceti o discheta goala, formatata si sa apasati tasta
Enter ca sa continue scrierea dischetei. Utilitarul rawrite va scrie fisierul
[Link] pe discheta.
Crearea unei dischete de boot sub sistemul de operare Linux se face
in felul urmator: montati CD-ROM-ul Red Hat ca de obicei (de ex. mount
/dev/cdrom /mnt/cdrom). Considerand ca ati efectuat montarea in
directorul /mnt/cdrom schimbati directorul curent in /mnt/cdrom/images,
acolo unde este tinuta imaginea de bootare.
Considerand ca discul floppy este /dev/fd0 (standard) si ca utilizati o
discheta de 1,44 MB, rulati urmatoarea comanda:
dd if=[Link] of=/dev/fd0 bs=1440K
In felul acesta ar trebui sa va creati discheta de boot. Va puteti crea, de
asemenea, o discheta suplimentara doar inlocuind ca fisier intrare (input file)
[Link] cu [Link] (if=[Link]).
Odata ce aveti discheta puteti instala Red Hat Linux de pe CD.

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

2.3. Instalarea propriu-zisa


In procesul de instalare cele mai importante si mai complexe etape sunt
cele referitoare la partitionarea discului hard si la alegerea pachetelor de
instalat. De aceea consideram ca acestea sunt important de detaliat. Restul
procesului de instalare este bine sustiunt grafic si usor de realizat.
Daca sistemul se incarca folosind CD-ROM-ul nu aveti nimic altceva de
facut decat sa introduceti CD-ul Red Hat in unitate si sa porniti sau reporniti
sistemul. In cazul in care folositi pentru incarcare discheta introduceti-o in
unitate si reporniti calculatorul.
Atunci cand sistemul porneste veti vedea un ecran de intampinare Red
Hat si un prompt :
boot:
Aveti trei posibilitati: apasati tasta Enter pentru a porni o
instalare/upgrade normal. A doua posibilitate este sa tastati expert iar
instalarea se va face in modul expert. Folosind acest mod Red Hat nu va mai
incerca sa autodetecteze componentele hardware ale sistemului de calcul ci
va permite utilizatorului sa selecteze aceste componente. A treia optiune este
rescue. Aceasta ar trebui utilizata dupa un dezastru. De asemenea, in acest
caz aveti nevoie de o discheta de salvare in plus fata de discheta de boot
standard. Puteti crea acesta discheta in maniera prezentata anterior insa
trebuie sa inlocuiti numele fisierului de intrare cu [Link].
2.3.1. Partitionarea discurilor
Partitionarea discurilor este un pas foarte important deoarece
modificarea ulterioara a partitiilor nu ofera foarte multa siguranta in fata
posibilitatii pierderii de date. De aceea fiti foarte atenti la acest pas al instalarii.
Programul de instalare va afisa un ecran ca cel prezentat in fig 2.1.
Acum sunteti inrebati ce instrument de partitionare veti folosi. Cea mai
simpla metoda este utilizarea Disk Druid. O alta optiune este fdisk-ul.
Utilitarul Disk Druid este mult mai prietenos datorita interfetei grafice si este
recomandat pentru utilizatorii incepatori.

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Daca aveti partitii ale unui alt sistem de operare instalat anterior (de ex.
Windows) acum puteti sterge aceste partitii sau puteti folosi partitiile nefolosite
pentru a crea un sistem cu incarcare duala: Linux Red Hat si Windows.
In continuare se presupune ca aveti numai partitii Linux (situatie existenta
atunci cand realizati o instalare tip Server).
Red Hat va permite sa va partitionati fiecare disc, unde fiecare partitie
este notata utilizand o schema de genul hd[a-z][N] pentru discurile hard IDE si
o schema sd[a-z][N] pentru discurile hard SCSI. Aici N este numarul partitiei.
De exemplu, hda1 este partitia numarul 1 de pe primul disc IDE, hda, si,
similar, sda1 este prima partitie de pe primul disc SCSI. Va trebui sa va
decideti singuri cum va veti partitiona discurile. Iata cateva sfaturi.
Aveti nevoie de o partitie / (root) pentru a stoca kernelul si fisierele
legate de acesta. Aceasta partitie nu trebuie sa fie foarte mare. Insa, daca
dispuneti de spatiu, incercati sa o faceti de cel putin 512 MB. Asigurati-va ca
ati ales pentru aceasta partitie tipul Linux native sau ext2/ext3, in functie de
versiunea de Red Hat pe care o instalati).

Fig 2.1. Alegerea instrumentului de partitionare.

10

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Tot obligatoriu trebuie sa creati o partitie swap (tipul partitiei: swap)


care sa aiba o dimensiune egala cu de doua ori marimea memoriei RAM (daca
aveti un RAM mare, de exemplu 512 MB, ati putea sa nu mai folositi un swap
dublu fata de memorie).
Optional, puteti crea partiile:
/usr (tipul partitiei trebuie sa fie Linux native/ext2/ext3; este o partitie care
trebuie sa fie cat mai mare +512 MB);
/home pentru directoarele radacina ale utilizatorilor mai putin utilizatorul root
(tipul partitiei trebuie sa fie Linux native/ext2/ext3; daca aveti multi utilizatori
trebuie sa va decideti care este spatiul pe care il alocati pe utilizator, sa
multiplicati aceasta valoare cu numarul maxim de utilizatori pe care considerati
ca il veti avea si sa creati o partitie corespunzatoare ca dimensiune);
/boot: partitie de 16 MB;
/var pentru cozile si log-urile sistemului, o partitie cat mai mare (+512 MB) (Fig
2.2, Fig 2.3 , Fig 2.4).

Fig 2.2. Disk Druid: partitionarea hard disk-ului.

11

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 2.3. Disk Druid: partitionarea hard disk-ului.

12

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 2.4. Disk Druid: partitionarea hard disk-ului.


Programul fdisk lucreaza cu un disc la un moment dat, si chiar daca
asigura o interfata neeleganta, in schimb are o flexibilitate mai mare decat Disk
Druid. Desi fdisk-ul nu este recomandat incepatorilor, totusi in continuare sunt
prezentate cateva notiuni de baza; daca v-ati facut treaba fara sa fie nevoie sa
folositi fdisk treceti peste randurile urmatoare.
Dupa cum vedeti in Fig 2.5, fdisk are o interfata tip linie de comanda
simpla. Fdisk poate fi rulat si din linia de comanda utilizand sintaxa urmatoare:
fdisk hard disk device
De exemplu:
fdisk /dev/hda
Aceasta comanda va comunica programului ca doriti sa lucrati cu
partitiile primului disc IDE. Asa cum o arata si Fig 2.5, fdisk afiseaza un prompt
Command (m for help): unde introduce litera m pentru a obtine un ecran
help (de ajutor) (Fig 2.5).

13

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 2.5. Fdisk.


Pentru a vizualiza partitiile existente de pe discul selectat, introduceti p,
care va afisa partitiile actuale intr-un format tabelar cum ar fi urmatorul:
Disk /dev/hda: 33 heads, 63 sectors, 1014 cylinders
Units = cylinders of 2079 * 512 bytes
Device
/dev/sda1
/dev/sda2
/dev/sda5
/dev/sda6

Boot Start End


*
1
505
506
1014
506
886
887
1011

Blocks
524916
529105+
396018
129906

Id
83
5
83
82

System
ext2
ext2
ext2
Linux swap

Dupa cum se poate observa, /dev/sda1 are * in coloana Boot, ceea


ce inseamna ca aceasta partitie este bootabila. De asemenea, discul
/dev/sda a fost impartit in patru partitii, unde prima partitie este /dev/sda1,
care incepe la blocul 1 si se termina la blocul 505.
Fiecare bloc are 1.024 bytes, sau 1 KB. Astfel, prima partitie
/dev/sda1, alcatuita din 524.916 blocuri, are 524.916 KB sau aproximativ
512 MB.
Pentru a sterge toate partitiile existente una cate una, folositi comanda
d si introduceti numarul partitiei pe care doriti sa o stergeti.
Pentru a adauga partitii tastati n, asa cum este prezenatat mai jos:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Aveti doua optiuni. Puteti crea fie o partitie extinsa fie o partitie primara.
Aveti nevoie de partitii extinse doar daca doriti sa creati mai mult de patru
partitii. Deoarece pentru a lucra cu Linux nu este nevoie decat de partitiile /,
/usr, /home, si o partitie swap (si nici acestea toate obligatorii, asa cum am mai
aratat), nu aveti nevoie sa creati partitii extinse. Asa ca va trebui sa creati o
partitie primara tastand p in dreptul promptului. Urmatorul prompt va cere sa
alegeti numarul partitiei:

14

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Partition number (1-4): 1


Introduceti 1 pentru prima partitie, 2 pentru a doua, si asa mai departe.
Urmatorul prompt va cere sa selectati numarul blocului de start. Intervalul
prezent in paranteze reprezinta totalul blocurilor disponibile pentru partitionare.
Daca aceasta este prima partitie, puteti alege 1 ca fiind blocul de start:
First cylinder (1-1014): 1
Pentru a crea o partitie de 512 MB, puteti introduce dimensiunea in
bytes, kilobytes sau megabytes. Deoarece este mai usor de lucrat cu
dimensiunea in MB alegeti +512 MB pentru ultimul cilindru, dupa cum
urmeaza:
Last cylinder or +size or +sizeM or +sizeK ([1]-1024):
+512M
Acum sa vedem daca partitia a fost creata asa cum am cerut. In acest
scop folosim comanda p pentru afisarea informatiilor despre partitiile existente:
Disk /dev/sda: 33
Units = cylinders
Device
Start
Boot
/dev/sda1
1

heads, 63 sectors, 1014 cylinders


of 2079 * 512 bytes
End
Blocks Id System
505

524916 83

Linux
native

Dupa cum se poate vede a fost creata prima partitie. Tipul de partitie
implicit este Linux native; daca doriti sa faceti modificari asupra tipului partitiei
folositi comanda t pentru a atasa un semnalizator partitiei:
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 82
Change system type of partition 1 to 82 (Linux swap)
Command (m for help): p
Disk /dev/sda: 33 heads, 63 sectors, 1014 cylinders
Units = cylinders of 2079 * 512 bytes
Device
Start End
Blocks Id System

15

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Boot
/dev/sda1

505

524916 82

Linux swap

Comanda L poate fi utilizata pentru a afisa lista tipurilor de partitii


disponibile.
2.3.2. Managerul de boot
In procesul de instalare, atunci cand trebuie sa va hotarati ce boot
loader (manager de boot) folositi, LILO sau GRUB, trebuie sa aveti mare grija
unde plasati acest manager.
Daca nu aveti alt sistem de operare instalat deja, puteti alege master
boot record. Pe de alta parte, daca aveti deja un sistem de operare instalat si
doriti sa il folositi in continuare, va trebui sa alegeti primul sector al partitiei
boot (the first sector of the boot partition).
Tineti minte faptul ca punand GRUB sau LILO in master boot record,
acesta va prelua controlul intregului proces de incarcare a sistemului, iar daca
doriti sa aveti calculatorul capabil sa se incarce dual (sa puteti alege sistemul
de operare care sa porneasca), exista posibilitatea ca, daca mai aveti un
sistem de operare instalat, acesta isi fi plasat deja managerul propriu de boot
in master boot record si sa aveti probleme.
In continuare va trebui sa alegeti partitiile bootabile de unde managerul
Linux-ului sa poata alege. Partitia de bootare Red Hat Linux implicita este
marcata cu *. Implicit este marcata cu numele linux. Cu alte cuvinte, cand,
sa zicem, LILO porneste in timpul procesului de bootare, veti putea scrie linux
la promptul boot: pentru a porni sistemul de operare Linux. Daca mai aveti un
sistem de operare care coexista pe calculatorul respectiv cu Linux-ul, puteti sa
selectati partitia pe care se afla si sa-i atribuiti o marca (de exemplu:
Windows). Astfel, cand deschideti calculatorul LILO va va cere sa alegeti care
dintre cele doua sisteme de operare doriti sa porneasca.
2.3.3. Selectarea pachetelor
La ultimele versiuni Red Hat Linux (7.0, 7.1, 7.2), instalarea decurge
fara probleme, chiar si pentru cei neinitiati, pina la selectarea individuala a
pachetelor de instalat, unde marea majoritate a incepatorilor se pierd in
numarul foarte mare de programe si optiuni. Desigur, se poate alege si un alt
tip de instalare care sa nu mai necesite alegerea individuala a pachetelor. Dar
sa nu uitam ca tocmai aceasta posibilitate de a alege fiecare pachet in parte

16

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

este unul din avantajele Linux-ului, el permitind astfel un control foarte mare al
software-ului ce urmeaza a fi instalat pe sistem. Asa ca daca aveti timp si vreti
sa faceti o treaba buna, bifati selectarea individuala a pachetelor de instalat.
Iata in continuare o scurta prezentare a catorva pachete, pentru a va
starni interesul.
Applications/Communications
program pentru trimis si primit faxuri, cu o interfata grafica
efax
acceptabila, care il face mai usor de folsit
o colectie de comenzi (rz, sz, etc) folosite pentru download si
lrzsz
upload de fisiere. Multe dintre comenzi sint folosite de catre
alte programe (e.g. minicom)
program de comunicatii foarte util (comunica cu dispozitive
minicom
seriale)
Applications/Databases
Toate aplicatiile din aceasta categorie se refera la postgresSQL, cel mai folosit
program de baze de date din Linux, care ruleaza pe o mare varietate de sisteme
de operare din familia Unix, acest lucru asigurind bazelor de date create o mare
portabilitate.
pachetul principal, incluzind si serverul de PostgreSQL
postgresql
include doar clientii si librariile necesare pentru accesarea
postgresqlserverului de PostgreSQL. Daca vreti doar sa va conectati la
clients
un alt server, acest pachet contine tot ce aveti nevoie
este recomandat sa instalati acest pachet deoarece contine
postgresqlstructura bazei de date initiala. Daca totusi va veti hotari sa nudata
l instalati, va trebui sa creati aceasta baza initiala folosind
comanda 'initdb'
Applications/Editors
Linux-ul va pune la dispozitie mai multe editoare variind ca performanta si ca
interfata grafica. Alegerea editorului pe care il veti folosi in mod curent nu o
puteti face decit voi.
editor cu facilitati de mail, news, etc, poate rula si sub X
emacs
contine sursele folosite in pachetul de mai sus. Nu aveti nevoie
emacs-el
de el decit daca doriti sa modificati acel pachet.
o varianta mai mica a emacs-ului, fara suport pentru X
emacs-nox
o varianta a emacs-ului conceputa special pentru X
emacs-X11
editor relativ mic si rapid ce contine facilitati speciale de editare
jed
a surselor in C, C++ si alte limbaje de programare. Poate
emula Emacs, WordStar, etc.
jed pentru X Windows
jed-xjed

17

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

editor prietenos si usor de folosit, o alegere buna pentru


incepatori.
versiune imbunatatita a vi-ului, editor care vine odata cu marea
vim-color
majoritate a sistemelor Unix, si este setat ca editor 'default'
(implicit). Toate variantele acestuia sunt superioare din punct
de vedere al performantei celorlaltor editoare, dar pentru un
incepator poate fi destul de greu de folosit
Applications/Emulators
Unul dintre avantajele mari ale Linuxului il
constituie emulatoarele cu ajutorul
carora pot
fi rulate programe concepute pe alte sisteme de operare, fara a fi nevoie sa aveti
acel SO.
emulator de MS-DOS
dosemu
emulator mai performant decit dosemu, fiind compatibil cu
dosemuversiuni mai noi ale [Link] utilitare de FreeDos.
freedos
emulator de DOS sub X, cu suport pentru grafica si mouse
xdosemu
Applications/Engineering
converteste diferite unitati de masura in echivalentul lor in
units
Sistemul International
Applications/Graphics
intelege fisiere PostScript, formate grafice uzuale, suport
ghostscript
pentru imprimante color
fonturi folosite de ghostscriptgiftrans - poate converti si lucra cu
ghostscriptimagini de la linia de comanda, fiind foarte folosit la realizarea
fonts
imaginilor transparente pe paginile de web
utilitare pentru lucrul cu jpeg-uri
libgr-progs
Applications/Mail
La fel ca si in cazul editoarelor, Linuxul va pune la dispozitie un mare numar de
utilitare de posta, urmind ca dumnevoastra sa il alegeti pe cel care va place cel
mai mult.
program pentru POP3, IMAP, etc.
fetchmail
este programul de posta cel mai des folosit, mai ales de
pine
incepatori. Pachetul contine si un editor, pico, la fel de usor de
folosit.
Applications/Math
program de trasat grafice, pe ecran sau intr-un fisier
gnuplot
Applications/Networking
utilitar ce urmareste activitatea placii de retea.
arpwatch
ofera o interfata independenta de sistem ce urmareste traficul
libpcap
pachetelor prin placa de retea. Este folosit de alte utilitare cum
joe

18

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

ar fi tcpdump si arpwatch
browser de web in mod text. Nu poate vizualiza imaginile, dar
este foarte folosit pentru navigare pe Internet de la consola
Linux.
client de ftp mult imbunatatit. Dintre facilitati mentionam:
ncftp
recursivitate, login automat, istoria comenzilor, etc. Incercati si
veti simti diferenta)
afiseaza headerele pachetelor pe interfata corespunzatoare
tcpdump
placii de retea. Este foare util in cazul unor operatii de
securitate sau cind sint probleme cu acea interfata (Vazind
headerele pachetelor puteti intui problema)
Applications/Publishing
pachetul contine programul gxditview, care este folosit la
groffformatarea si vizualizarea documentelor groff in X. De exemplu
gxditview
paginile de manual pot fi citite cu acest program.
program de formatare a textului care va permite sa obtineti o
sgml-tools
varietate de formate: PostScript,dvi, HTML, etc
utilitar folosit pentru obtinerea fisierelor .dvi
tetex
ruleaza sub X si permite un preview a fisierelor .dvi
tetex-xdvi
program de formatare a textului folosit de GNU foarte mult la
texinfo
scrierea documentatiilor. De aceea ar fi bine sa-l includeti pe
lista pachetelor ce urmeaza a fi instalate, el fiind cerut de mai
multe aplicatii.
Applications/Sound
controleaza mixerul placii de sunet (CD Player, volume,
aumix
microphone, etc)
CD Player pentru consola.
cdp
convertor intre diferite formate de sunet
sox
Base/Kernel
fisierele header in C care definesc structurile si constantele
kernelcare sint necesare la compilarea unui program. Acest program
headers
trebuie instalat
kernel-source codul sursa a intregului kernel. Instalarea acestui pachet nu
este obligatorie, dar aveti nevoie de el in cazul in care doriti sa
va recompilati kernelul (pentru a-l adapta hardwarelui dvs.)
Daemons
contine fisierele de configurare necesare generarii fisierului
sendmail-cf
[Link]. Aveti nevoie de acest pachet daca doriti sa
reconfigurati sendmail-ul, ceea ce se intimpla destul de des
documentatie pentru sendmail
sendmail-doc
lynx

19

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

(unix to unix copy) protocol folosit pentru a transfera posta intre


doua calculatoare ce ruleaza Linux
Development/Building
De aceste pachete aveti nevoie in cazul configurarilor realizate de
dumneavoastra, fie ca sunt pachete pe care vreti sa le instalati, si nu sint in
format .rpm. In general este o idee buna sa includeti aceste pachete pentru a
evita viitoare neplaceri.
utilitar de configurare a surselor
autoconf
utilitar pentru generarea fisierelor Makefile
automake
scripturi de configurare automata in vederea construirii unei
libtool
librarii
compilare si linkeditarea surselor
make
versiune imbunatatita a lui make
pmake
Development/Debuggers
Debugger-ele sint programe care va arata apelurile de sistem care au loc la
executia unui program, fiind folosite atunci cind un program da eroare si nu stiti
de ce.
ElectricFence librarie folosita in programarea C si debugging. La compilare
va poate atentiona in legatura cu eventualele probleme aparute
la alocarea memoriei
unul din cele mai eficiente debuggere pentru C/C++
gdb
afiseaza pe ecran toate apelurile de sistem ale unui proces in
strace
executie
Development/Languages
interpretor pentru Basic, un limbaj mai vechi de programare
basic
assambler de care aveti neaparata nevoie daca doriti sa va
bin86
recompilati kernelul
utiliatare pentru programatorii ce folosesc limajul C
ctags
experimantal GNU Compiler System, folosit de multe aplicatii,
egcs
de obicei merita sa fie instalat
suport C++ pentru pachetul gcc care va fi prezentat mai jos.
egcs-c++
Pachetul nu include o librarie C++ standard, care trebuie
selectata mai jos.
suport Fortran 77 pentru gcc
egcs-g77
alte faciltati pentru gcc
egcs-oblc
converteste surse de Fortran in surse de C
f2c
driver pentru f2c
fort77
complilator de C, care nu at trebui sa lipseasca de pe nici un
gcc
sistem Linux
compilator de Java, scris complet in C, si deci portabil pe mai
guavac
uucp

20

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

multe platforme
librarii si headere pentru guile
o masina virtuala construita pentru a executa cod Java
programe si headere pentru p2c (transforma surse Pascal in C
)
librarii si headere pentru python(limbaj de programare)
python-devel
documentatie pentru python
python-docs
Tool Command Language. Un limbaj pentru scripturi foarte
tcl
popular, folosit pentru a scrie mici aplicatii grafice
interfata garfica pentru Python, bazata pe tcl/tk, si folosita de
tkinter
foarte multe programe de configurare cu interfata grafica
interpretor pentru Scheme Programming Language, un limbaj
umbscheme
de descris circuite
Development/Libraries
Aceste pachete contin in marea lor majoritate librarii si headere ale unor
programe pe care le-ati instalat deja. Ele sint concepute pentru development
(dezvoltarea
unor aplicatii). Daca sinteti incepator, sau daca nu
va pasioneaza programarea, nu aveti nevoie decit de citeva pachete mai
importante din aceasta sectiune, pe
care le vom mentiona mai
jos
utilitare pentru crearea, verificarea si repararea sistemului de
e2fsprogsfisiere ext2
devel
contine librarii statice pentru xface, un utilitar folosit de
faces-devel
programul de mail exmh pentu vizualizarea unor attachmenturi.
librarii pentru gd, program de manipulat imagini
gd-devel
librarii pentru development-ul bazelor de date.
gdbm-devel
librarii folosite de debuggere atunci cind urmaresc apelurile de
glibc-debug
sistem dintr-o librarie, nu un program in sine.
pachet absolut necesar in cazul in care doriti sa compilati
glibc-devel
programe cu ajutorul gcc-ului. In general acest pachet trebuie
instalat.
Alte librarii necesare gcc-ului, de obicei bine de instalat.
glibc-profile
Librarii, headere si documentatie pentru gmp
gmp-devel
Pachetul include tot ce aveti nevoie pentru a putea dezvolta
libjpeg-devel
propriile dumnevoastra aplicatii pentru manipulat jpeg-uri.
Headere si librarii folosite doar pentru dezvoltarea programelor
libpng-devel
ce folosesc PNG (program pentru crearea si manipularea
imaginilor PNG - format asemnator gif-ului)
Implemantarea GNU a librariilor standard C++, folosite pentru
libstdc++dezvoltarea limbajului C++
devel
guile-devel
kaffe
p2c-devel

21

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Analog libjpeg-ului, dar pentru formate grafice gif


Librarii si headere necesare compilarii aplicatiilor ce comunica
direct cu
serverul de PostgreSQL
Include o librarie C care face mai usoara pentru utilizator
rpm-devel
manipularea pachetelor rpm, precum si scrierea unor aplicatii
grafice pentru instalarea acestora.
Necesar dezvoltarii aplicatiilor ce utilizeaza libraria SVGAlib.
svgalib-devel
Ea este asemanatoare lui graph din C pentru DOS, permitind
utilizarea
ecranului in mod grafic (nu text)
fara a fi nevoie de X Windows
Permite realizarea aplicatiilor ce pot vizualiza BMP-uri in X
xpm-devel
Folosit de programele ce utilizeaza zlib (librarie pentru
zlib-devel
arhivare)
Development/System
Pachetul ofera componente necesare dezvoltarii modulelor
linuxconflinuxconf-ului in afara acestuia. Pachetul este de asemenea
devel
utilizat in dezvoltarea aplicatiilor ce folosesc interfata
asemanatoare linuxconf-lui (utilitar folosit pentru configurarea
linux-ului, cu o grafica prietenoasa)
Documentation
Frequently Asked Questions. Este una din cele mai bune surse
faq
de informatii despre Linux
Cea mai buna documentatie de Linux
howto
Aceste pachete contin HOWTO-urile in diferite limbi, precum si
howtocele in limba engleza, dar celelalte formate disponibile sint intrchinese, etc.
un alt format decit cel text: dvi html ps sgml
pagina de index
indexhtml
generalitati despre instalarea Linuxului si citeva idei de inceput
install_guide
paginile de manual indispensabile unui utilizator de linux
man_pages
Network Administrator's Guide
nag
ghid de instalare pe i386
rhl_installguide_en
System Administrator's Guide
sag
Libraries
suport pentru mouse, permite cut si paste, etc
gpm
va permite realizarea propriilor aplicatii care sa utilizeze
gpm-devel
mouse-ul.
GNU Scientific Library. Contine functii cu un caracter stiintific.
gsl
librarii si clienti pentru manipularea jpeg-urilor
libjpeg
libungif-devel
postgresqldevel

22

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

idem
ligkpeg60
librarii si headere ce permit scrierea aplicatiilor ce acceseaza
libtermcapbaza de date termcap.
devel
permite lucrul cu imagini tiff
libtiff
la fel, pentru gif-uri
libungiff
alta librarie ncurses, de obicei se instaleaza.
ncurses3
transforma o sursa Pascal in C
p2c
libraria ce permite lucrul cu ecranul in mod grafic
svgalib
Networking
In aceasta sectiune gasiti servere, clienti si daemoni folositi in lucrul pe o retea.
Pentru incepit sa lamurim citeva notiuni:
TCP- Transfer Control Protocol - protocol ce sta la baza celor mai multe servicii
pe retea. El trimite un pachet, si asteapta raspuns de la celalalt capat al
conexiunii
UDP- User Datagram Protocol - Pachetul este trimis, dar nu mai verifica daca a
ajuns
client- program care se conecteaza la un server, oferindu-va accesul la acel
serviciu
daemon- program care ruleaza in background, avind grija de un anumit serviciu.
permite incarcarea sistemului pe statii fara hard-disk direct de
bootparamd
pe server
protocol care pune la dispozitia utilizatorilor informatii despre
finger
ceilalti utilizatori, de pe reteaua locala, sau de pe alte retele
client de ftp pentru linia de comanda. Ftp( File Transfer
ftp
Protocol) este un protocol folosit pentru transferul de fisiere,
foarte des utilizat
include ping si ietd, doua programe foarte des folosite pe
netkit-base
retele.
contine un client si un daemon de talk. (cu ajutorul lui puteti
ntalk
'vorbi' pe internet cu alti utilizatori)
daemon care afla numele utilizatorului care a deschis o
pidentd
anumita conectie TCP
folosit pentru intretinerea routelor pe o retea. Routele sint
routed
reguli, sau 'cai de acces' a pachetelor intre 2 calculatoare.
o colectie de programe ce permite logarea pe alt server
rsh
serverul si clientul de rusers (ambele incluse in acest pachet)
rusers
permit utilizatorilor sa afle cine este logat pe diferite
calculatoare din reteaua locala
clientul de rwall permite trimiterea unor mesaje utilizatorilor de
rwall
pe un calculator-destinatie. Serverul de rwall nu este initial

23

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

pornit pe sistemele
RedHat, asa ca daca veti
dori sa folositi acest serviciu, va trebui sa il porniti
dumnevoastra
va arata toti utilizatorii de pe toate calculatoarele de pe reteaua
rwho
interna care ruleaza daemonul de rwho
client si server de SMB - serviciu foarte important oferit de
samba
Linux, ce permite accesul de pe statiile cu Windows la anumite
directoare -stabilite de dvs. bineinteles- de pe serverul de
Linux. Puteti rula de exemplu un program direct de pe server,
fara sa va ocupe loc pe statii, fara sa va fie teama ca vi l-ar
putea sterge cineva
client si server pentru logarea pe alte retele. Este foarte
telnet
popular pe toate retelele, cu toate ca nu este sigur din punct de
vedere al securitatii.
Trivial File Transfer Protocol - folosit de obicei pentru a boot-a
tftp
de pe statiile fara hard-disk. Masurile de securitate sint slabe,
si nu ar trebui
folosit decit daca este neaparata
nevoie.
Networking/Admin
Pachetul contine fisierele necesare pentru a permite accesul
anonftp
ftp anonymous pe calculatorul dvs. (adica oricine se poate loga
prin ftp fara a avea cont, folosind contul anonymous, si de cele
mai multe ori, adresa sa de email ca parola)
include fisiere de configurare pentru a va face sistemul sa se
cachingcomporte ca server de nume (acest lucru poate duce la
nameserver
marirea vitezei, prin rezolvarea mai rapida a unor nume
(transformarea lor in ip-uri)
Client de NFS (Network File System)
nfs-serverclients
Cu ajutorul acestui pachet puteti monotoriza si filtra cereri sin
tcp-wrappers
afara pentru anumite servicii de retea: talk, telnet,ftp, finger, etc
Networking/Daemons
contine amd-ul si citeva pachete aditionate. Amd este varianta
amd-utils
Berkeley(distribuie de Unix) a daemonului de automount
Server de web, foarte popular.
apache
Contine sursele de Apache si librarii necesare dezvoltarii
apache-devel
aplicatiilor care il folosesc
permite montarea automata a unor device-uri si demontarea lor
autofs
automata daca nu mai sint folosite dupa un anumit timp
contine serverul de named - folodit pentru a transforma
bind

24

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

adresele de IP in nume, si invers


Server pentru protocolul bootp care permitem obtinerea
automata a unui IP de catre un calculator de la un server de
DHCP
filtru pentru serverul INN (stiri)
cleanfeed
serverul de dhcp (Dynamic Host Control Protocol)
dhcp
demon de rouatare care poate lucra cu mai multe protocoale
gated
server de POP3 (Post Office Protocol) cu ajutorul caruia va
imap
puteti citi posta de pe alte servere, fara a avea un cont de shell
Server de stiri, probabil nu veti avea nevoie de el
inn
server care 'spune' tuturor calculatoarelor de pe acea retea
intimed
data. Este folosit pentru a sincroniza data tuturor statiilor.
emulator de server Novell.
mars_nwe
modul pentru serverul Apache cu ajutorul caruia puteti folosi
mod_perl
limbajul perl in fisierele html
idem, pentru php
mod_php
idem, pentru php3
mod_php3
server de nfs, cu ajutorul caruia puteti exporta diferite sisteme
nfs_server
de fisiere pe alte calculatoare
se ocupa de conectiile RPC, folosite de diferite protocoale
portmap
cum ar fi NFS, NIS
daemon si documantatie de ppp (Point to Point Protocol) ppp
aveti nevoie de el in cazul cind doriti sa va conectati la un alt
calculator prin modem
proxy server pentru clienti de web. Nu aveti nevoie de el decit
squid
daca stiti cu adevarat ce faceti ;)
versiune de squid care foloseste mai putina memorie novm=No
squid-novm
Virtual Memory.
Derivat al SNMP (Simple Network Management Protocol)
ucd-snmp
folosit uneori pentru administrarea retelei si a conturilor
server de ftp.
wu-ftpd
daemon si utiliare pentru a va sincroniza calculatorul cu
xntp3
standardul de data UTC
server de NIS ce permite distribuirea pe retea a hostname-ului
ypserv
si alte informatii de acest gen
Networking/Development
include fisiere si librarii necesare dezvoltarii pachetului bind.
bind-devel
Networking/Utilities
utilitare care va permit sa aflati ip-ul unui host si alte programe
bind-utils
de interogare a unui server de nume
bootp

25

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

comanche
dip
fwhois
ltrace

mgetty
mgettysendfax
nc
ncpfs
rdate
rdist
traceroute

COnfiguration MANager apaCHE - program de configurare a


serverului de web Apache
utilizat pentru a stabili o conexiune prin modem
aflati informatii despre utilizatori din intreaga lume
ruleaza un program specificat pana la terminarea sa si
intercepteaza apelurile catre librariile dinamice din sistem,
precum si semnalele primite de acel program in timpul
executiei
permite logarea prin intermediul unei linii seriale
include suport pentru fax (la trimitere si primire)
NetCat este un client pentru retea ce poate deschide o
conectie tcp pe un port arbitrar, asculta pe un anumit port, etc
program de configurare a sistemului de fisiere ncpfs (NCP este
protocolul folosit de clientii Novell NetWare pentru a se conecta
la servere de NetWare)
puteti accesa data si ora de pe alt calculator din retea.
pastrati copii identice ale unor fisierepe mai multe host-uri
afiseaza 'drumul' packetelor TCP/IP pina la destinatie pe
interfata specificata
librarii pentru aplicatii pe baza de ucd (administrare de retea)

ucd-snmpdevel
utilitare pentru ucd-snmp
ucd-snmputils
o implementare a clientilor de NIS pentru linux
yp-tools
Shells
In mare, un shell este in interpretor de comenzi, cu multe alte facilitati. Pentru cei
obisnuiti cu Dos-ul, shell-ul indeplineste toate functiile [Link]-ului.
(Midnight Commander) un shell grafic, seamana foarte mult cu
mc
Norton Commander din Dos, cu multe alte facilitati cum ar fi:
ftp, lucrul cu fisiere html, pachete rpm, etc
o versiune modificata a sh-ului. Include facilitati din alte shelluri
zsh
cum ar fi : bash, csh, etc
Utilities/Archiving
Programe de arhivare dintre care bzip2 si zip-ul sint cele mai folosite, lha si arj-ul
fiind mai vechi si cu performante mai scazute
Utilities/File
listeaza fisierele deschise de procese
lsof
utilitare pentru accesarea disketelor ms-dos fara a fi montate.
mtools
utilitare pentru codarea si decodarea fiserelor text sau binare
sharutils

26

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

smbfs
symlinks
tree
Utilities/System
control-panel
dump
glint
helptool
ipfwadm

kernelcfg
lpr
netcfg
popt
printtool
procinfo
rhbackup
rsh-printfilters
sliplogin
timetool
tksysv
usernet
Utilities/Text
diffstat
m4
mawk
nenscript

intr-un format text special, folosite mai ales acolo unde


trimiterea attachment-urilor prin
mail este mai
dificila sau nu este posibila deloc
programe pentru montarea fisierelor de sistem de pe un server
de SMB
verifica posibilele probleme ale linkurilor simbolice
echivalentul comenzii dos 'tree'
un meniu din care se lanseaza utiliatare grafice de configurare
folosit pentru a face backup la o partitie ext2
Graphical Linux INstalation Tool utilitar grafic pentru
instalarea rpm-urilor
interfata grafica pentru man-uri si celelate documente din
/usr/doc
utilitar pentru firewall si accounting. Firewall-ul este o masura
de securitate in plus, in cadrul caruia puteti specifica de unde
au voie sa intre si/sau sa iasa din/in exterior pachete. Puteti
specifica si alte optiuni cum ar fi porturi, protocoale, etc
utilitar grafic pentru configurarea kernelului
server pentru lucrul cu imprimanta
interfata grafica pentru configurarea retelei
librarie C folosita de programele care isi iau parametri de la
linia de comanda, probabil veti avea nevoie de ea .
interfata grafica pentru configurarea imprimantei
pachet care va permite sa aflati informatii importante de cele
mai multe ori din /proc
puteti face backup-uri locale sau pe alte calculatoare
filtru pentru tiparirea la imprimanta a diferitelor formate
folosit pentru stabilirea unei conexiuni SLIP (pe portul serial)
interfata grafica pentru setarea datei si a orei
interfata grafica ce va permite sa alegeti ce servicii trebuie
pornite automat in fiecare runlevel
aplicatii pentru controlul intefetelor de retea. Utilizatorul poate
da jos o astfel de interfata, sau o poate 'ridica'
statistici asupra unui patch generat de diff
interpretor de scripturi
program pentru procesare text
filtru pentru tiparire. Poate converi un document ASCII in
PostScript

27

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

este folosit la patch-uirea programelor


patch
modul de perl
perl-MD5
X11/Applications
program profesional de grafica cu nenumarate posibilitati de
gimp
tranformare, retusare si prelucrare a imaginilor. Merita incercat
:)
librarii pentru scrierea de plugin-uri si extenstii pentru GIMP
gimp-devel
librarii ce permit comunicarea dintre GIMP si alte aplicatii
gimp-libgimp
Program pentru vizualizat si convertit imagini sub X
ImageMagick
fisiere folosite atit de Netscape Navigator cit si de Netscape
netscapeCommunicator
common
Cel mai bun browser de Web, suporta cele mai noi standarde
netscapecommunicator HTML, Java, JavaScript.
la fel ca si N. Communicator, fara a avea clienti de stiri si de
netscapemail
navigator
citeva utilitare garfice pentru a ajuta utilizatorii sa acceseze
usermode
discheta, sa-si schimbe numele, numarul de telefon, etc
viewer de gifuri animate
xanim
file manager pentru X, ideea de baza este asemanatoare
xfm
Explorerului din Win95
incarca imagini in ferestre de X, le poate pune ca background,
xloadimage
etc
viewer mic si eficient pentru documente PDF
xpdf
viewer de imagini in numeroase formate, mic si usor de folosit,
xv
cu rezultate deosebite . Merita incercat
X11/Libraries
librarii si programe de baza necesare instalarii GNOME-ului
gnome-core
(vezi ultima sectiune)
librarii pentru X scrise initial pentru GIMP (program de grafica),
gtk+
acum folosite si de alte aplicatii
librarii di headere pentru development
gtk+-devel
ImageMagick- Include librarii pentru a va permite sa realizati propriile aplicatii
folosind ImageMagick-ul
devel
librarie folosita de X pentru lucrul cu imagini
imlib
imlib-cfgeditor va permite sa controlati modul in care imlib-ul foloseste culorile
Librarii, headere si documentatie pentru imlib
imlib-devel
folosit de programe mai vechi(eg Netscape 3.0)
nls
Vizualizeaza bitmap-uri
xpm
X11/Utilities
Electric Eyes - image viewer
ee

28

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

gnomelinuxconf
procps-X11
rxvt
Xconfigurator

Interfata grafica pentru linuxconf

utilitare pentru monotorizarea proceselor


emuleaza un terminal in X Windows
Program de configuare a X-ului. De obicei acesta este
programul pe care il rulati inainte de a lansa pentru prima data
X-ul
un grafic ce indica nivelul de utilizare a resurselor sistemului la
xosview
un moment dat: CPU, RAM, placa de retea, etc
screen-savere
xscreensav
grafic ce va arata cum evolueaza gradul de folosire a
xsysinfo
resurselor fizice
lanseaza un program si asteapta sa i se aloce o fereastra, fiind
xtoolwait
folosit in scripturi ce ruleaza programe sub X
X11/Window Managers
Window Manager mic si rapid, asemanator la interfata cu
fvwm
Win95
citeva utilitare in plus fata de fvwm
fvwm2
iconitze si bitmap-uri pentru fvwm si fvwm2
fvwm2-icons
WindowMaker Manager de X11, asemanator la aspect cu AfterStep-ul Este
rapid si relativ mic, usor de configurat, cu o interfata simpla si
eleganta.
Utilitar scris in gtk++ pentru configurarea WindowMaker-ului,
wmaker_conf
usor de folosit, oferind un control destul de mare asupra
aspectului managerului
(Window Manager Configurator) - va creaza fisierele de
wmconfig
configurare pentru diferite managere: fvwm, fvwm2,AfterStep,
IceWM, KDE
X11/XFree86
X11R6-contrib O colectie de programe pentru X, continind xedit (editor de
texte),xeyes (animatie), xman, xcalc( calculator) si alte aplicatii
utile.
o intefata grafica complexa, punind la dispozitia utilizatorilor un
XFree86
sistem de ferestre, clienti, etc, fiind folosit pe cele mai multe
platforme Unix. Pachetul contine fonturile de baza, programe si
documentatie pentru o statie de lucru X. Retineti ca acest
pachet nu va ofera serverul de X, acesta gasindu-se in alt
pachet.
Fonturi folosite pe sistemele Linux, in special pe cele a caror
XFree86componente hardware permit rezolutii mari.
100dpi-fonts

29

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

XFree8675dpi-fonts
XFree86-devel
XFree86ISO8859-2
XFree86-libs
XFree86XF86Setup
XFree86-Xnest
X11/gnome
gnome-libs
gnome-libsdevel

Fonturi pentru rezolutii mai mici


Librarii si documentatie pentru dezvoltarea aplicatiilor ce
ruleaza ca un client de X
Colectie de Fonturi (Central European)
contine librariile de care au nevoie cele mai multe aplicatii X
program grafic pentru configurarea serverului XFree86
server de X care ruleaza intr-o singura fereastra
GNOME - GNU Network Object Model Environment
Librarii necesare daca vreti sa rulati GNOME
Librarii pentru dezvoltarea aplicatiilor GNOME

30

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

3. Componenetele Sistemului de Operare Linux

Datorita posibilitatii de a lucra cu mai multi utilizatori deodata, sistemul


de operare Linux poarta denumirea de sistem multiuser (fig. 3.1).

Fig 3.1. Sesiunea de login (conectare).


Sistemul de operare Linux foloseste un sitem de procese numit
multitasking pentru a aloca timpul de lucru al procesorului mai multor utilizatori
in acelasi timp. In realitate nu este vorba de procese care se ruleaza in acelasi
timp ci unele dupa altele la intervale de timp de ordinul milisecundelor.
Sistemul de operare aloca timpul in asa fel incat sa lase impresia de
continuitate pentru fiecare utilizator. In timp ce unul dintre acestia lucreaza la
terminalul sau el imparte cu ceilalti resursele de calcul.
Linux, ca oricare alt sistem de operare, este un set de programe care
administreaza toate operatiile sistemului de calcul. El asigura de asemenea o
interfata intre utilizator si resursele sistemului convertind cererile care vin de la
mouse sau tastatura in operatii de efectuat in sistemul de calcul.
Majoritatea sistemelor de operare, inclusiv Linux, au trei mari
componente: Kernel-ul, Shell-ul si Sistemul de Fisiere (fig. 3.2). Kernel-ul
administreaza operatiile computerului. Shell-ul asigura o interfata pentru
interactiunea dintre utilizator si calculator iar sistemul de Fisiere asigura un

31

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

mijloc de organizare si gestionare a informatiilor pe discurile hard ale


calculatorului.

Fig 3.2. Componentele Sistemului de Operare.

3.1. Kernel-ul sistemului de operare


Kernel-ul este inima sistemului de operare si ofera mijloacele primare
necesare ca un system de calcul sa functioneze. Kernel-ul se afla cel mai
aproape de CPU si hardware. Este un fisier executabil care se incarca atunci
cand porneste calculatorul. Odata ce kernel-ul a fost incarcat el realizeaza
urmatoarele functii:
- Gestioneaza dispozitivele, memoria, si procesele.
- Controleaza interactiunea (transmisia informatiei) dintre programele aplicatie
(utilitati) si hardware-ul sistemului.
- Administreaza functii precum: spatiul Swap, Demoni, si Sistemele de Fisiere.
Spatiul Swap - Este o parte rezervata de pe hard disk pentru kernel, acesta
utilizand-o in timpul procesarii. Portiuni de programe care ruleaza pot fi
aruncate hard disk-ului si apoi, la nevoie, aduse inapoi. Acest spatiu swap

32

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

se afla in realitate pe hard disk, insa seamana cu o memorie aditionala sau


RAM additional, uneori fiind numit memorie virtuala.
Daemonii - Programe sau procese care realizeaza o sarcina particulara sau
monitorizeaza discurile sau executia programelor. Daemonii sunt procese
speciale care pornesc dupa ce se incarca sistemul de operare. Daemonii
asteapta apoi sa faca ceva in sprijinul SO. Pot fi porniti sau opriti daca este
necesar.
Un exemplu este cel al daemonului imprimantei, lpsched (line printer
scheduler). Acesta se lanseaza cand sistemul porneste si apoi asteapta in
fundal pana cand cineva are nevoie sa tipareasca ceva. Daemonii din lumea
Linuxului sunt similari cu Serviciile din Windows NT/2000 sau cu NetWare
Loadable Modules (NLMs) din Novell NetWare.
Sistemele de fisiere - Reprezinta o ierarhie de directoare, subdirectoare si
fisiere care organizeaza si administreaza informatia pe hard disk-uri. Sistemele
de fisiere pot fi locale sau pe alta masina (de obicei server).

3.2. Shell-ul
Un shell este o interfata intre utilizator si kernel. Actioneaza ca un
interpretor sau ca un translator. Cu alte cuvinte, shell-ul accepta comenzi
scrise de utilizator, le interpreteaza, si apoi executa programele
corespunzatoare. Shell-urile pot fi linie de comanda sau grafice. Pentru a
verifica ce shell utilizezi la un moment dat se poate folosi comanda ps
(process status) (Fig. 3.3).
Shell-ul citeste si interpreteaza cererile introduse de utilizator. Apoi
comunica instructiuni kernel-ului care duce la indeplinire cererile formulate de
utilizator. Shell-ul este deci legatura directa, interfata directa a utilizatorului cu
sistemul de operare. De obicei, cele mai multe cereri sunt pentru a rula
programe.

33

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 3.3. Shell-ul.


Componentele sistemului de operare Linux pot fi vazute la lucru prima
data in sesiunea de logare (conectare). Programul de login citeste si verifica
parolele. Daca parola este corecta utilizatorul identificat prin username (nume
de utilizator) este admis in sistem (fig. 3.4).

Fig 3.4. Sesiunea de login (conectare).

34

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Sarcina programului de login este aceea de a verifica parola introdusa


de utilizator.
Pentru a realiza aceasta sarcina programul comanda kernel-ului sa
aduca de pe disk fisierul de parole si sa-l puna in memorie pentru a putea fi
citit. Dupa aceasta operatie are loc validarea parolei. In urma validarii
utilizatorul este primit (logged) in sistem si are la dispozitie shell-ul ca interfata
cu utilitatile oferite de SO si resursele sistemului.
Prompt-ul $ care apare pe ecran arata faptul ca shell-ul este gata sa
accepte comenzi.
Shell-ul se comporta ca un interpretor de comenzi, interpretand comenzi
simple pentru a executa procese complexe. De exemplu, pentru a vizualiza
continutul disponibil al directorului proiectului Calder se tasteaza comanda ls
calder (fig. 3.5).

Fig 3.5. Listarea continutului unui director.


Orice utilizator primeste un shell dupa executarea cu succes a
procesului de login. Fiecare shell comunica cu kernelul si se comporta ca un
interpret intre utilizator si kernel.
Comenzile utilizatorului sunt receptionate de catre shell. Aceste le
traduce si comunica comenzile kernelului care, la randul sau proceseaza
cererea si indeplineste sarcinile.

35

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

3.3. Sistemul de Fisiere


Sistemul de fisiere asigura o modalitate de a separa si de a organiza
informatia pe un hard disk. Structura de fisiere a sistemului Linux este o
ierarhie de directoare, subdirectoare si fisiere care sunt grupate in functie de
anumite scopuri. Sistemul de fisiere este integrat cu Kernel-ul in scopul
asigurarii unei structuri organizatorice pentru software-ul si pentru datele
utilizatorilor. Structura de fisiere subdivide hard disk-urile, facandu-le mai usor
de administrat si usurandu-ne localizarea fisierelor. Hard disk-urile pot fi
divizate in sisteme de fisiere, directoare, subdirectoare si fisiere. Sistemul de
fisiere organizeaza datele intr-un mod similar unui dulap. Sistemul de fisiere
este dulapul, directoarele sunt asemenea sertarelor, subdirectoarele
asemenea dosarelor isr fisierele pot fi asemanate u foile prinse in dosar.
Un fisier este o colectie de informatii (date, o aplicatie, sau documente).
In Linux un fisier poate cuprinde orice. Cand se creeaza un fisier, Linux-ul ii
atribuie acestuia un numar de identificare intern unic. Acest numar de index
este utilizat pentru a putea localiza fisierul pe hard disk.
Deci, un sistem de fisiere este un ansamblu de fisiere si directoare.
Sistemele de fisiere sunt dependente de dimensiunea si structura discului,
precum si de structura interna a Linuxului. Intr-un sistem multiuser (multi
utilizator), poate exista la un moment dat un numar mare de fisiere stocate. Din
aceasta cauza, utilizatorii au nevoie de un sistem care sa le permita
identificarea rapida si simpla a fisierelor.
De obicei, directoarele si fisierele utilizatorilor se afla stocate pe un alt
sistem de fisiere decat cel pe care se afla directoarele si fisierele sistemului de
operare. Daca exista un numar mare de utilizatori atunci fisierele utilizatorilor
se pot intinde pe mai mult de un sistem de fisiere.
Sistemul de fisiere se refera la modul in care Linuxul implementeaza
fisierele si directoarele. In Linux, un sistem de fisiere are urmatoarele
caracteristici:
structura ierarhica

fisierele sunt expandabile (la nevoie pot sa-si mareasca dimensiunea)


fisierele sunt tratate ca fluxuri de bytes
fisierele si directoarele au asociate drepturi de securitate

36

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

fisierele pot fi utilizate in comun de mai multi utilizatori


dispozitivele hardware sunt tratate ca si fisiere

Sistemul de operare Linux permite utilizatorilor sa grupeze fisierele intre ele


in interiorul directoarelor, iar directoarele sa le grupeze la randul lor in alte
directoare pentru o mai buna organizare. Rezultatul este cunoscut ca fiind un
Sistem ierarhic de fisiere (arborescent).
O ierarhie de directoare seamana cu un copac intors cu radacina in sus.
Iata o ierehie a sistemului de fisirere Linux :

Fig 3.6. O structura arborescenta de fisiere.


Sistem de fisiere Un grup de directoare ca poate fi imaginat ca o structura
arborescenta separata. Un hard disk poate fi impartit in mai multe sisteme de
fisiere separate similare partitiilor logice din sistemele Windows/DOS
(asemenea drive C: sau D:) sau similare volumelor din sistemele Novell
NetWare. Sistemele de fisiere pot fi montate sau demontate in functie de
necesitatile administratorului. Fiecare sistem de fisiere are propria sa structura
de directoare iar in plus poate fi local (pe calculatorul in cauza) sau pe alt
calculator.

37

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Director Un loc pentru alte subdirectoare si/sau fisiere. Un director este


asemenea unui sertar dintr-un dulap de acte. Cel mai de sus director din
structura este directorul radacina, reprezentat print-un singur slash (/).
Subdirector Orice director aflat sub alt director. De exemplu, unele dintre
directoarele de sub directorul radacina (root) sunt /usr, /etc si /kernel.
Fisiere Fisierele sunt continute in directoare si subdirectoare. Ele reprezinta
cel mai jos nivel al sistemului de fisiere. Exista de obicei mii de fisiere pe hard
disk, de diferite tipuri:
ASCII - (American Standard Code for Information Interchange) aceste fisiere
sunt fisiere text simple.
Fisiere aplicatie Aceste fisiere sunt create de o aplicatie cum ar fi un
Procesor de text un program de baze de date sau un program de calcul
tabelar.
Programe executabile Acestea sunt comenzi Linux sau diferite programe
de aplicatii.

38

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

4. Cele mai importante directoare Linux

Directorul din varful structurii unui sistem de fisiere se numeste director


radacina. Reprezinta punctual de plecare in ierarhia respectiva. Directorul
radacina (/) este indispensabil pentru ca sistemul de operare sa functioneze; el
contine fisiere sistem critice (cum ar fi kernelul). In continuare prezentam o
lista a celor mai importante directoare si rolul acestora in sistem. Slash-ul (/)
din fata indica faptul ca sunt subdirectoare ale directorului radacina.
/bin
Comenzi necesare in timpul procesului de bootare si care ar putea fi folosite
de utilizatorii obisnuiti (probabil dupa bootare).
/sbin
Ca si /bin, insa comenzile nu sunt pentru utilizatori obisnuiti, desi acestia le-ar
putea folosi la nevoie daca li se permite.
/etc
Fisiere de configurare specifice.
/root
Directorul propriu al utilizatorului radacina (root).
/lib
Librarii necesare programelor din sistemul de fisiere root.
/lib/modules
Module kernel incarcabile, in special acelea care sunt necesare pentru a boota
atunci cand se incearca recuperarea dupa dezastre.
/dev
Fisiere dispozitiv.
/tmp
Fisiere temporare. Programele care ruleaza dupa incarcare (bootare) ar trebui
sa utilizeze /var/tmp si nu /tmp, atat timp cat primul se afla probabil pe un disc
cu mai mult spatiu.

39

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

/boot
Fisiere utilizate de bootstrap loader, de exemplu LILO. Imaginile Kernel sunt
tinute adesea aici in loc de directorul radacina. Daca exista mai multe imagini
ale kernelului, directorul poate deveni foarte mare, de aceea este recomandat
sa fie tinut intr-un sitem de fisiere separat.
/mnt
Puncte de montare pentru montari temporare facute de administratorul de
sistem. /mnt ar trebui sa fie impartit in subdirectoare (de exemplu, /mnt/dosa ar
fi floppy driver-ul ce utilizeaza un sistem de fisiere MS-DOS, iar /mnt/exta ar fi
acelasi cu un sistem de fisiere ext2).
/usr
Contine comenzi executabile, utilitati diverse si diferite librarii.
/var
Contine log-uri, mesaje de eroare, o serie intreaga de utilitati folosite pentru
imprimare, sistemul de posta electronica, DNS, etc.
/home
Contine directoarele utilizatorilor.

4.1. /etc
/etc/rc or /etc/rc.d or /etc/rc?.d
Scripturi sau directoare de scripturi care se ruleaza la start sau atunci cand se
schimba runlevel-ul.
/etc/passwd
Baza de date cu utilizatorii; contine campuri cu numele utilizatorilor, numele lor
real, directorul propriu (home), parola codificata precum si alte informatii
despre fiecare utilizator.
/etc/fstab
Listeaza sistemele de fisiere montate automat la start de catre comanda
mount -a (in /etc/rc sau in fisierul de start echivalent. Contine, de asemenea si
informatii despre zonele swap.

40

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

/etc/group
Similar cu /etc/passwd, insa descrie grupurile in loc de utilizatori.
/etc/inittab
Fisierul de configurare pentru init.
/etc/motd
Mesajul zilei, prezentat in mod automat dupa un login corect. Continutul poate
fi stabilit de administratorul de sistem.
/etc/mtab
Lista sistemelor de fisiere montate curent.
/etc/shadow
Apare in sisteme in care este instalat software-ul pentru shadow password
(parole ascunse). Parolele codificate sunt mutate din /etc/passwd in
/etc/shadow; acesta din urma nu poate fi citit decat de radacina.
/etc/profile, /etc/[Link], /etc/[Link]
Fisiere executate la login sau start de catre shell-urile Bourne sau C. Aceste
fisiere permit administratorului sa stabileasca anumiti parametrii globali pentru
toti utilizatorii.
/etc/shells
Listeaza shell-urile. Comanda chsh permite utilizatorilor sa-si schimbe shell-ul
de login numai cu altul listat in acest fisier.

4.2. /dev
Directorul /dev contine fisierele speciale dispozitiv pentru toate
dispozitivele. Fisierele dispozitiv sunt denumite dupa anumite conventii.
Fisierele dispozitiv sunt create in procesul instalarii, iar ulterior cu scriptul
/dev/MAKEDEV.

4.3. /usr

41

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Este de obicei foarte mare, atata timp cat oate programele sunt instalate
aici. Toate fisierele din /usr vin de obicei din distributia Linux; programele
instalate local merg sub /usr/local.
/usr/X11R6
Sistemul X Window, toate fisierele. Pentru a simplifica instalarea si dezvoltarea
X, fisierele X nu au fost integrate in restul sistemului. Exista un arbore de
directoaresub /usr/X11R6 similar cu cel de sub /usr.
/usr/bin
Aproape toate comenzile pentru utilizatori. Unele comenzi sunt in /bin sau in
/usr/local/bin.
/usr/sbin
Comenzi de administrare a sistemului, de exemplu majoritatea programelor
pentru server.
/usr/man, /usr/info, /usr/doc
Pagini de manual, documentatie diversa.
/usr/lib
Fisiere de date neschimbate pentru programe si subsisteme. Numele lib
(library) vie de la biblioteca; initial, bibliotecile cu subrutine pentru programare
erau stocate in /usr/lib.
/usr/local
Locul pentru software instalat local si alte fisiere.

4.4. /var
Contine date care sunt schimbate atunci cand sistemul functioneaza
normal.
/var/catman
O zona cache pentru paginile man formatate la cerere. Sursa pentru paginile
de manual este de obicei stocata in /usr/man/man.
/var/local

42

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Variabile pentru programe care sunt instalate in /usr/local (de exemplu,


programele care au fost instalate de catre administratorul de sistem).
/var/log
Fisiere log din diferite programe, in special login (/var/log/wtmp, care contine
toate login-urile si toate logout-urile din sistem) si syslog (/var/log/messages,
unde sunt stocate de obicei toate mesajele ce vin de la kernel si de la
programele de sistem). Fisierele din /var/log pot adesea sa creasca pana la
dimensiuni foarte mari, de aceea este necesar sa fie curatate la intervale
regulate.
/var/run
Fisiere care contin informatii despre sistem ce sunt valabile pana la
urmatoarea incarcare a sistemului.
/var/spool
Directoare pentru mail, cozile imprimantei, alte procese care necesita cozi de
asteptare.
/var/tmp
Fisiere temporare care sunt de dimensiuni mari sau care au nevoie sa existe si
in afara timpului permis de catre /tmp.

4.5. /proc
Contine un sistem de fisiere iluzoriu. El nu exista pe disk. In schimb,
kernel-ul il creaza in memorie. Este folosit pentru a asigura informatii despre
sistem.
/proc/1
Un director care contine informatii despre procesul numarul [Link] proces
are un director sub /proc, numele fiindu-i dat de PID (process identification
number).
/proc/cpuinfo
Informatii despe procesor: tip, model, performanta.
/proc/devices
Lista driverelor pentru dispozitive configurate in kernel.

43

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

/proc/filesystems
Sistemele de fisiere configurate in kernel.
/proc/interrupts
Prezinta intreruperile folosite.
/proc/ioports
Care porturi I/O sunt folosite in acel moment.
/proc/kcore
O imagine a memoriei fizice a sistemului. Are exact dimensiunea memoriei
fizice insa nu ocupa atat de multa memorie; este generata pe parcursul rularii
programelor. (Amintiti-va: daca nu copiati in alta parte, nimic de sub /proc nu
ocupa spatiu pe disk deloc.)
/proc/meminfo
Informatii despre utilizarea memoriei, atat fizica cat si swap.
/proc/modules
Care module kernel sunt incarcate in acel moment.
/proc/net
Informatii despre starea protocoalelor retelei.
/proc/stat
Statistici diferite despre sistem.
/proc/version
Versiunea kernel-ului.

Chiar daca unele dintre fisierele de mai sus pot fi citite usor ca fisiere
text, uneori ele pot fi formatate intr-un mod prea putin digerabil.

44

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Sistem de fisiere
Un sistem de fisiere unic
Montare
Puncte de montare

Dispozitive
Device
/dev/fd0
/dev/fd0u1440
/dev/hda1
/dev/hdb
/dev/sda
/dev/sda1
/dev/lp0
/dev/lp1
/dev/ttyS0

Description
Primul dispozitiv floppy
Primul floppy disk
Prima partitie pe primul hard disk IDE/EIDE
Al doilea hard disk IDE/EIDE
Primul disk SCSI
Prima partitie pe primul disk SCSI
Primul port paralel GNU/Linux
Al doilea port paralel GNU/Linux
Port serial

45

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

5. Operatii de baza

5.1. Configurarea init


Dupa ce sistemul de fisiere radacina a fost montat, kernelul porneste un
program numit init. Acest program porneste la randul lui toate celelate
programe. Dupa ce init termina rularea programelor respective, sistemul este
complet functional, iar procesul de incarcare este terminat.
Asa cum am mentionat, init este primul program pe care il ruleaza
kernelul la sfarsitul secventei de bootare. Deoarece este primul, ID-ul sau ca
proces (PID= Process ID) este 1. Cand porneste, init citeste un fisier de
configurare numit /etc/inittab. Fisierul /etc/inittab este prezentat in
continuare:

Fig. 5.1. Exemplu de fisier inittab.

46

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig. 5.1. Exemplu de fisier inittab (continuare).


Fisierul defineste modul de comportare al init pe parcursul proceselor
de incarcare si oprire a sistemului.
In continuare sunt prezentate cateva elemente privind constructia
fisierului /etc/inittab.
Programul init ignora toate liniile goale sau de comentarii (acestea din
urma fiind acele linii care incep cu semnul #) din fisierul /etc/inittab. Liniile
care contin campuri delimitate de doua puncte sunt liniile de configurare ale
init. Sintaxa este urmatoarea:
id:runlevels:actiune:proces [argumente]

47

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Primul camp este o marca unica care identifica o inregistrare din fisier.
Un id poate avea 2-4 caractere.
Al doile camp (runlevels) defineste nivelul de lucru asupra caruia se
aplica linia respectiva.
Al treilea camp defineste actiunea ce trebuie intreprinsa.
Ultimul camp (procesul) defineste procesul care trebuie pornit. Optional,
pot fi specificate argumente pentru procesul din campul patru.
Un nivel de lucru (runlevel) se refera la o anumita stare a sistemului.
Cele noua nivele sunt prezentate in tabelul urmator.
Runlevel-uri pentru INIT
runlevel
0
1
2
3
4
5
6
S sau s
A,b,c

Descriere
Oprit: utilizat pentru a opri sistemul
Single-user (utilizator unic): utilizat pentru a rula
sistemul cu o configuratie minima, potrivita
pentru un singur utilizator
Neutilizat
Multi-user (utilizatori multipli): utilizat pentru a
rula sistemul cu o configuratie care suporta mai
multi utilizatori la un moment dat
Neutilizat
Utilizat pentru a porni sistemul XWindow
Repornire: utilizat pentru a reporni sistemul
Utilizat intern de catre scripturi pentru a rula la
nivelul 1
Niveluri la cerere. Nu sunt utilizate in mod
deosebit

Este de remarcat faptul ca pot fi specificate nivele multiple intr-o singura


linie de configurare init. De exemplu, daca doriti ca init sa ruleze un proces atat
pentru modul 1 cat si pentru modul 3 veti putea specifica o linie de forma
urmatoare:
i[Link]tiune:proces [argumente]

48

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Tabelul urmator prezinta o serie de actiuni posibile:


Actiuni posibile pentru un runlevel

Actiune
respawn
wait
once
boot
bootwait
off

ondemand
initdefault
sysinit
powerwait

powerfail
powerokwait

ctrlaltdel
kbrequest

Descriere
Procesul este repornit de cate ori se termina
Procesul este rulat o data iar apoi init va astepta pana cand
se termina
Procesul este rulat o data
Procesul este rulat in timpul boot-arii iar init ignora campul
runlevel
Procesul este rulat in timpul boot-arii iar init va astepta ca
procesul sa se termine
Nu se intreprinde nimic. Aceasta optiune poate fi utilizata
pentru a dezactiva o linie de configurare fara a o sterge. Cu
toate acestea, exista o modalitate si mai simpla de a face
acest lucru, si anumetransformarea liniei de configurare in
linie de comentariu folosind la inceputul acesteia #
Utilizabila doar cand nivelul este a, b sau c. Procesul este
rulat ori de cate ori init este invocat prin unul din cele trei
nivele. De obicei nu se foloseste.
Stabileste nivelul implicit de lucru al sistemului la pornire.
Campul procesului este ignorat.
Procesul este rulat o data la incaracre (boot-are). O actiune
sysinit este executata inaintea actiunilor boot sau bootwait
Procesul este rulat atunci cand init primeste un semnal
SIGPWR. De obicei, software-ul de monitorizare UPS
detecteaza o problema de alimenatre cu curent si trimite un
astfel de semnal pentru init. Intr-o asemenea situatie, init va
astepta pana cand procesul se termina
La fel ca powerfail, insa init nu asteapta ca procesul sa se
termine
Procesul este rulat atunci cand init primeste un semnal
SIGPWR si un fisier text numit /etc/powerstatus care contine
sirul OK. De obicei, un program de monitorizare UPS va
crea un astfel de fisier si il va trimite impreuna cu semnalul
SIGPWR catre init pentru a indica faptul ca problema de
alimentare cu curent a fost rezolvata
Procesul este rulat atunci cand init primeste un semnal
SIGINT
Procesul este rulat atunci cand init primeste un semnal
(Keyboard Signal) de la tastatura

49

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Progamul init poate rula mai multe tipuri de structuri de directoare. In


continuare se prezinta o structura intalnita in cazul RedHat Linux.
5.1.1. Scriptul /etc/rc.d/[Link]
Asa cum am aratat, atunci cand sistemul RedHat Linux se incarca,
kernelul
executa
init
care
la
randul
sau
ruleaza
scriptul
/etc/rc.d/[Link] inainte de a procesa oricare alt fisier. Acest script
este rulat inaintea tuturor datorita actiunii sysinit din linia de configurare din
/etc/inittab:
si::sysinit:/etc/rc.d/[Link]
Este de observat faptul ca in campul rezervat nivelelor nu se trece nimic
deoarece init recunoaste sysinit ca fiind o actiune de initializare a intregului
sistem. Scriptul [Link] face multe lucruri, inclusiv stabilirea numelui masinii,
activarea partitiei swap, verificarea sistemelor de fisiere, incarcarea modulelor
kernelului si multe altele. De obicei, nu este nevoie sa modificati acest script.
5.1.2. Directorul /etc/rc.d/init.d
Subdirectorul init.d este utilizat pentru a pastra toate scripturile
necesare tuturor nivelelor de lucru. Pastrarea lor intr-un singur loc usureaza
administrarea. Fiecare script este folosit pentru a porni/opri un servici anume,
DNS-ul (Domain Name Service), serviciul Web si altele asemanatoare. Toate
aceste scripturi respecta o sintaxa speciala. De exemplu, pentru a porni
serviciul NFS (Network File System), se va rula scriptul urmator:
/etc/rc.d/init.d/nfs start
Pentru a opri acelasi servicu, se va putea rula acelasi script in felul urmator:
/etc/rc.d/init.d/nfs stop
Dupa cum se poate observa, scriptul nfs interpreteaza start si stop ca
argumente. Acest lucru se intampla cu toate scripturile din acest director,
scripturi ce sunt legate simbolic la directoarele rc[0-6].d.
Listing /etc/rc.d/init.d

50

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

5.1.3. Scriptul /etc/rc.d/rc


Atunci cand programului init i se spune sa schimbe runlevel-ul cu unul
din cele 6 posibile, init ruleaza un script specificat intr-una din liniile de
configurare urmatoare din fisierul /etc/inittab, in functie de runlevel-ul
dorit:
[Link]wait:/etc/rc.d/rc 0

[Link]wait:/etc/rc.d/rc 6
Se observa faptul ca pentru fiecare nivel (0-6) este rulat un script
/etc/rc.d/rc
cu
argument
numarul
nivelului
corespunzator.
/etc/rc.d/rc este responsabil cu pornirea/oprirea tuturor serviciilor pentru
fiecare nivel in parte. In interiorul sau sunt definite nivelurile de lucru si
serviciile asociate acstora. De exemplu, daca se doreste sa se modifice
runlevel-ul cu 3, init va rula scriptul /etc/rc.d/rc cu argumentul 3 intr-o linie
de comanda similara cu urmatoarea:
/etc/rc.d/rc 3
listing /etc/rc.d/rc
In linii mari, scriptul acesta face urmatoarele lucruri: verifica daca exista
un subdirector pentru nivelul specificat in argument. Daca acesta exista va
continua cu pasul urmator. Determina daca serviciile care ar trebui sa ruleze in
nivelul specificat sunt deja pornite. Daca da, scriptul le va opri pentru a putea
sa le reporneasca la pasul urmator. Pentru a opri un serviciu, scriptul va
executa fisierul K corespunzator cu argumentul stop.
Scriptul rc va executa toate fisierele S cu argumentul start.
5.1.4. Directoarele /etc/rc.d/rc[0-6].d
Subdirectoarele de la rc0.d pana la rc6.d sunt utilizate pentru nivelele
de lucru de la 0 la 6. Aceste directoare contin legaturi simbolice catre
scripturile din directorul /etc/rc.d/init.d.
Listing pentru /etc/rc.d/rc5.d

51

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Dupa cum se observa, fisierele/scripturile din directorul /etc/rc.d/init.d au


legaturile facute in doua feluri:
K{numar de doua cifre}{nume script}
S{numar de doua cifre}{nume script}
Toate scripturile care au ca prefix litera K sunt executate cu
argumentul stop, iar toate cele cu S in fata cu argumentul start.
Numarul din doua cifre reprezinta ordinea de executie.
5.1.5. Scriptul /etc/rc.d/[Link]
Este un script care se executa, de obicei, o data la sfarsitul nivelelor 2,3
si 5. se pot adauga in el linii care sa indice orice actiune necesara a fi rulata o
data la fiecare proces de incarcare a sistemului.
5.1.6. Scriptul /etc/rc.d/[Link]
Ca si scriptul /etc/rc.d/[Link], [Link] este de obicei rulat
o data la sfarsitul runlevel-urilor 1 si 3 pentru a initializa porturile seriale.

5.2. Administrarea conturilor utilizatorilor


Un cont reprezinta toate fisierele, resursele si informatiile care apartin
unui utilizator.
5.2.1. Crearea unui utilizator
Cele mai multe distributii Linux vin cu un program pentru crearea
conturilor. Exista cateva astfel de programe disponibile. Doua alternative din
linie de comanda sunt adduser si useradd; poate exista, de asemenea si
instrumente din interfata gragica. Fie ca este vorba de un program fie ca este
o interfata grafica sunt putine lucruri de facut.
/etc/passwd si alte fisiere informative
Baza de date elementara din Unix este un fisier text, /etc/passwd (numit
fisierul parole), care listeaza toti utilizatorii vazilizi impreuna cu informatiile
asociate lor. Fisierul are cate o linie pentru fiecare nume de utilizator si este
impartit in sapte campuri:

52

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Utilizator.
Parola, in forma incriptata.
ID numeric pentru utilizator.
ID numeric pentru grup.
Numele intreg si alte descrieri ale contului.
directorul home.
Shell-ul de conectare.
Crearea unui utilizator manual
Pentru a crea un cont de utilizator manual, parcurgeti urmatorii pasi:
Editati /etc/passwd cu vipw sau pico si adugati o linie noua pentru contul
nou. Fiti atenti la sintaxa.
In mod similar editati /etc/group, daca aveti nevoie sa creati si un
grup nou.
Creati directorul principal (home) al utilizatorului folosind mkdir. Copiati
fisierele din /etc/skel in noul director home. Stabiliti proprietarul si permisiunile
cu comenzile chown si chmod. Optiunea -R este foarte utila. Drepturile
corecte variaza putin, dar in general daca faceti ca in exemplul urmator totul va
fi OK:
cd /home/newusername
chown -R [Link] .
chmod -R go=u,go-w .
chmod go= .
Stabiliti parola cu comanda passwd. Dupa ce stabiliti parola contul va fi
functional. Parola nu trebuie setata pana cand nu ati ajuns la final, altfel
utilizatorul ar putea sa se conecteze inainte ca dumneavoastra sa fi terminat
de copiat fisierele.
Mai usor
Exista o serie de comenzi care pot sa scrie/citeasca fisiere dar numai
utilizatorul root are drepturile respective; insa sunt utilizate si de alti utilizatori.
Un exemplu il reprezinta comanda passwd folosita pentru a schimba parola.
Daca va uitati la drepturile existente asupra fisierului password veti vedea
probabil ceva asemanator cu fig 5.2:

53

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

FIG 5.2. Drepturile asupra fisierului /etc/passwd.


Cand utilizatorul X decide sa-si modifice parola el doar scrie comanda
passwd, apoi i se cere sa scrie vechea parola o data (pentru a fi sigur ca
persoana care modifica parola este utilizatorul insasi si nu o alta persoana
care profita de conexiunea uitata deschisa a cuiva) si apoi cere de doua ori
parola noua (fig 5.3).

Fig 5.3. Comanda passwd.

54

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

In exemplul de mai sus am introdus doua erori pentru a arata faptul ca


sistemul verifica existenta unor parole triviale. Acest lucru nu se intampla la
toate distributiile Linux!
Cand tastati parola nu vedeti ce ati tastat asa ca daca nu sunteti siguri
incercati combinatia de taste CTRL+U pentru a sterge tot continutul liniei si
reintroduceti parola.
Alegerea parolelor: este complet contraindicat alegerea parolei ca fiind
numele utilizatorului, numele sotului/sotiei, cainelui, sau alte nume familiare,
pe motiv ca sunt foarte usor de ghicit!
O parola buna trebuie sa aiba cat mai multe litere, cifre, alte caractere
ca '%$@#_*&", si, pe cat posibil sa nu fie un cuvant uzual! Pe de alta parte
trebuie sa fie usor de tinut minte, deci trebuie facut un compromis.
Exemple de parole bune: to1po2gan%, (min*max)=, pfdicdp
(Parola Formata Din Initialele Cuvintelor Dintr-o Propozitie), etc
Noua parola este apoi scrisa in fisierul /etc/passwd.
Deci, cum este posibil ca fisierul /etc/passwd, in care poate scrie
doar utilizatorul root, sa fie completat de un simplu utilizator care doreste sa-si
modifice parola?
Acest lucru este posibil datorita asa-numitului bit UID. Cu alte cuvinte,
acest bit ofera posibilitatea de a arata ca alt utilizator in timp ce executi un
program.
Remarcati faptul ca doar utilizatorul root are dreptul de a scrie in fisierul
/etc/passwd. Acum sa ne uitam la permisiunile asupra programului passwd.
Observati ca exista un "s" acolo unde ne asteptam sa fie un "x" pentru a
indica dreptul de executie pemtru proprietar. "S" indica faptul ca bitul set UID
este atribuit. Avand atribuit bitul UID, atunci cand executati programul passwd
ca utilizator obisnuit, programul va fi executat ca si cu m ati fi administrator.
5.2.2. Adaugarea/stergerea utilizatorilor
O treaba a administratorilor sistemului Linux este aceea de a sterge sau
de a adauga utilizatori pentru sistemul respectiv. Procedura este insa util de
stiut de toata lumea. Exista doua modalitati pentru a face acest lucru.
Puteti edita direct fisierele in care este stocata informatia despre
utilizatori (nu prea comfortabil !)

55

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Puteti utiliza scripturi care sa va ceara anumiti parametri si apoi sa faceti


toate celelalte lucruri pe care doriti.
De obicei aceste scripturi sunt useradd si adduser. Prezenta lor
depinde de distributia Linux. De asemenea si felul in care ele lucreaza. De
exemplu, in Slackware-Linux comanda useradd este diferita de comanda
adduser, in timp ce in Red Hat Linux este acelasi lucru.
Mai intai sa ne uitam la continutul fisierului /etc/passwd (FIG 5.4):

FIG 5.4. Fisierul /etc/passwd.


Exista cate o linie pentru fiecare utilizator, in care campurile sunt
despartite de ":" . Iata sintaxa pentru o linie:
UserName:
CriptedPassword:
HomeDirectory: Shell

UserID:

GroupID:

GeneralInfo:

UserName (numele utilizatorului)


Este un sir de caractere unic, care identifica, defineste contul. Pentru conturile
personale este asemenea cu numele folosit la login.

56

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Cripted Password (parole incriptate)


Este reprezentarea codata a parolei utilizatorului. Acest camp este stabilit
folosind programul passwd. Foloseste o schema de codare dificila dar nu
imposibil de spart. Daca primul caracter din fisierul passwd este "*" (asterisk),
atunci contul este inactiv iar utilizatorul cu numele respectiv nu se poate
conecta.
Exemplu:
bill: *: 150: 100: Bill Anderson-Phone 156789: /home/bill: /bin/bash
UserID (UID)
Este un numar intreg pe care sistemul il foloseste pentru a identifica acel cont.
GroupID (GID)
Este un numar intreg care se refera la grupul implicit al utilizatorului (vezi
/etc/group).
General Info (informatii generale)
Contine informatii aditionale despre utilizator, cum ar fi: numele real, alte
informatii optionale ca numar de telefon, adresa, etc.
Home Directory (directorul principal al utilizatorului)
Este directorul utilizatorului, pentru uzul personal. Exista un simbol care face
referire la el : "~".
Shell
Este numele programului care ruleaza atunci cand utilizatorul s-a conectat la
sistem. In cele mai multe cazuri este data toata calea, cum ar fi /bin/bash.
Exemplu:
UserName

Antony

Cripted Password

xtrLYQ7BtNqgQ

User ID

502

Group ID

502

General info

not specified

Home Directory

/home/Antony

Shell

/bin/bash

57

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Acum, adaugam doi noi utilizatori.


Acesta este structura directorului "/home" inainte de a adauga
utilizatorii.

Fig 5.5. Structura directorului /home.


Daca nu va aduceti aminte cum se foloseste comanda "adduser", puteti
folosi aplicatia "man" (sau "Xman" daca folositi XWindows) precum "man
adduser".
Alta soluti este de a tasta comanda fara parametrii:

Fig 5.6. Comanda useradd.


Care este rezultatul tastarii liniilor urmatoare ?

58

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

adduser -m -g users -p "" Ronald


adduser -m -g users -p "" -d /home/no-default-John John
Primul, adduser -m -g users -p "" Ronald inseamna:
adduser Adauga un utilizator
-m

Creaza directorul home al utilizatorului daca nu exista

-g users Atribuie utilizatorul grupului de utilizatori "users"


-p ""

Fara parola (utilizatorul poate intra fara parola ...)

Ronald

Acesta este numele utilizatorului, UserName (Login),


pentru noul utilizator

Observati ca unii parametrii ca UserID, data expirarii , ..... , nu au fost


specificate astfel incat sistemul a pus valori implicite pentru ei.
Al doile exemplu,
adduser -m -g users -p "" -d /home/no-default-John John:
adduser

Adauga un utilizator

-m

Creaza directorul home daca nu exista

-g users

Atribuie utilizatorul grupului de utilizatori "users"

-p ""

Fara parola (utilizatorul poate intra fara parola ...)

-d
/home/no- Numele directorului home este "/home/no-defaultJohn"
defaultJohn
John

Acesta este numele utilizatorului, UserName (Login),


pentru noul utilizator

Asa cum se vede, avem un nou nume pentru directorul home al acestui
utilizator. Implicit ar fi fost John, insa noi l-am modificat.

59

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 5.7. Continutul directorului /home.


Fisierul de configurare principal pentru manipularea conturilor este
/etc/passwd, asa ca sa vedem ce s-a intamplat cu el:

Fig 5.8. Fisierul /etc/passwd.

60

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Acesta este fisierul /etc/group, in care puteti vede un grup "users" cu


codul "100", exact cel prezent in /etc/passwd pentru noii utilizatori Ronald
si John.

Fig 5.8. Fisierul /etc/group.

5.3. Console virtuale


Consola sistemului este alcatuita din tastatura si monitor (care sunt
conectate direct la calculator). Totusi este posibil pentru un utilizator sa
foloseasca mai multe console virtuale, putand deschide astfel mai multe
sesiuni de lucru simultan! Pentru aceasta apasati tastele Alt-F2, iar la promptul
login, introduceti numele si parola dvs. In acest moment ati deschis inca o
sesiune de lucru !
Apasand Alt-F1, reveniti inapoi la prima sesiune. De regula sunt activate
7-8 console virtuale, dar pot fi activate mult mai multe 12, 24, sau chiar mai
multe. Pentru a comuta pe consola 5 (de exemplu) se apasa combinatia de
taste Alt-F5, s.a.m.d.. Nu uitati sa faceti "logout" din fiecare la incheierea
sesiunii de lucru.

61

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

In acest scop comanda "w" poate fi utila, furnizand informatii despre


consolele virtuale folosite.
In exemplul de mai jos se poate observa ca utilizatorul gxg foloseste
consolele 1 si 2 (corespunzatoare combinatiilor Alt-F1 si Alt-F2), utilizatorul
root consola 3 (Alt-F3), utilizatorul stud foloseste consola 7 (Alt-F7), iar
utilizatorul stud2 este conectat la calculator prin retea.
Consola 1 se numeste "tty1", consola 2 "tty2", s.a.m.d..
[stud@x stud]$ w
2:53pm up 24 min, 4 users, load average: 1.00, 1.01,
0.77
USER
TTY
FROM
LOGIN@
IDLE
JCPU
PCPU
WHAT
gxg
tty1
2:30pm 2:34
0.15s 0.15s bash
gxg
tty2
2:30pm 14:34
1.98s 1.74s
/usr/bin/mc -P
root
tty3
2:48pm 4:05
0.27s 0.27s bash
stud
tty7
2:50pm 0.00s 0.35s 0.06s w
stud2
ttyp1
[Link]
2:55pm 0.00s 0.24s 0.06s bash
[stud@x stud]$

5.4. Vizualizarea continutului directoarelor


Iata un exemplu de structura arborescenta de directoare si fisiere
prezentate intr-o alta forma (lucrul cu directoarele si fisierele este detaliat in
capitolele urmatoare).

62

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

.
|-|-|
|
|
|
|-|
|
|-|
|
|
|
|
|
|
|
|-`--

buli
ftp
|-- bin
|-- etc
|-- lib
`-- pub
gxg
|-- nsmail
`-- rc5
httpd
|-- cgi-bin
|-- html
|
`-- manual
|
|-- images
|
|-- misc
|
|-- mod
|
`-- vhosts
`-- icons
samba
stud

Directorul "ftp" este directorul parinte al directoarelor "bin","etc", "lib",


"pub", iar directorul "pub" este subdirectorul lui "ftp".
Numele complet al unui subdirector poate fi obtinut adaugand numele
directorului parinte la numele subdirectorului si punand separatorul "/".
[gxg@x /]$ ls
Office50
c
bin
cdrom
boot
dev

etc
home
lib

lost+found
mnt
proc

root
sbin
tmp

usr
var
w95

Obtinerea unor informatii detaliate referitoare la continutul directoarelor


se face utilizand otiunea -l (optiunea -a ofera, in plus si informatii despre
fisierele ascunse).
[gxg@x /]$ ls -l
total 84
drwxr-xr-x
2 root
drwxr-xr-x
2 root

root
root

63

1024 Jan
2048 Jan

7 08:58 Office50
7 12:54 bin

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

drwxr-xr-x
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x
dr-xr-xr-x
drwxr-xr-x
drwxr-xr-x
drwxrwxrwt
drwxr-xr-x
drwxr-xr-x
drwxr-xr-x

2
1
2
3
26
8
4
2
4
5
13
3
3
20
16
16

root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root

root
1024 Jan 10 18:42 boot
root
4 Jan 8 20:41 c -> /w95
root
1024 Jan 6 03:25 cdrom
root
21504 Jan 10 16:43 dev
root
3072 Jan 10 16:43 etc
root
1024 Jan 10 14:41 home
root
2048 Jan 6 05:10 lib
root 12288 Jan 6 05:00 lost+found
root
1024 Jan 6 05:01 mnt
root
0 Jan 10 18:42 proc
root
1024 Jan 10 16:49 root
root
2048 Jan 7 09:09 sbin
root
1024 Jan 10 18:44 tmp
root
1024 Jan 6 05:06 usr
root
1024 Jan 6 05:14 var
root
21504 Jan 1 1970 w95

[gxg@x /]$

5.5. Documentatie si manual. Comanda man.


Una dintre cele mai importante facilitati in Linux este manualul on-line!
Astfel aproape fiecare comanda Linux este insotita de manual. Manualul poate
fi accesat folosind comanda man, in felul urmator:
Exemplu:
[gxg@x gxg]$ man passwd
Formatting page, please wait...
PASSWD(1)

PAM only applications

PASSWD(1)

NAME
passwd - update a user's authentication tokens(s)
SYNOPSIS
passwd [-u] [username]
DESCRIPTION

64

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Passwd is used to update a user's authentication token(s).


Only the superuser may update another user's password by
supplying a username. The option, -u, is used to indicate
that the update should only be for expired authentication
tokens (passwords); the user wishes to keep their nonexpired tokens as before.
Passwd is configured to work through the Linux-PAM API.
Essentially, it initializes itself as a "passwd" service
with Linux-PAM and utilizes configured password modules to
authenticate and then update a user's password.
A simple entry in the Linux-PAM configuration file for
this service would be:
#
# passwd service entry that does strength checking
of
# a proposed password before updating it.
#
passwd password requisite pam_cracklib.so retry=3
passwd password required pam_pwdb.so use_authtok
#
Note, other module-types are not required for this
cation to function correctly.

appli-

EXIT CODE
On successful completion of its task, passwd will
complete with exit code 0. An exit code of 1 indicates
an error occurred. Textual errors are written to the
standard error stream.
CONFORMING TO
Linux-PAM
Linux).

(Pluggable

Authentication

modules

for

FILES
/etc/[Link] - the Linux-PAM configuration file

65

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

BUGS
None known.
SEE ALSO
pam(8), and pam_chauthok(2).
For more complete information on how to configure
this application with Linux-PAM, see the Linux-PAM System
Administrators' Guide at
<[Link]
SimplePAMApps 0.50 1996 Dec 14

(END)
Apasand sagetile de la tastatura puteti vedea defiland pagina (in cazul
in care este mai mare decat ecranul). Pentru a termina programul man se
apasa tasta q.
Chiar si comanda man are manual! Acesta poate fi accesat tastand la
prompt "man man" (adica manualul comenzii man).
Exemplu:
[gxg@x gxg]$ man man
Formatting page, please wait...
man(1)
man(1)
NAME
man - format and display the on-line manual pages
manpath - determine user's search path for man
pages
SYNOPSIS
man [-acdfhkKtwW] [-m system] [-p string] [-C
config_file]
[-M path] [-P pager] [-S section_list] [section]
name ...
DESCRIPTION

66

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

man
formats
and displays the on-line manual
pages. This version knows about the MANPATH and (MAN)PAGER
environment variables, so you can have your own set(s) of
personal man pages and choose whatever program you like
...............
Alte comenzi asemanatoare si foarte utile sunt comenzile whatis si
apropos.
5.6. Pornirea si inchiderea sistemului
5.6.1. Pornirea (bootarea)
Probabil multi dintre cei care utilizeaza Linuxul sunt indragostiti de felul
in care are loc pornirea sistemului. Multi dintre noi s-au plictisit privind la
ecranele colorate cu logo-uri ale Windows-ului in loc sa afle ce se intampla in
realitate. Daca un sistem Windows crapa trebuie sa te transformi in Sherlock
Holmes si sa investighezi ce s-a intamplat. Cand Linux-ul nu reuseste sa
porneasca fara probleme utilizatorul are foarte multe sanse sa descopere ce sa intamplat doar privind ecranele ce se desfasoara la incarcarea sistemului,
deoarece sunt afisate virtual toate sarcinile pe care le realizeaza acesta.
Acelasi lucru se intampla si la oprirea sistemului.
Nucleul (kernelul) Red Hat Linux, inima sistemului de operare, este de
obicei pastrat intr-un fisier compresat. Cand kernel-ul este pornit de catre
managerul de boot (LILO, GRUB), se decompreseaza, initializeaza sistemul
video si incepe verificarea celorlalte componente hardware atasate
calculatorului. In timp ce descopera discurile hard, driverele floppy, placile de
retea si asa mai departe, sunt incarcate si modulele driver corespunzatoare.
Pe parcursul acestui proces sunt afisate pe ecran mesaje in format text.
Figurile urmatoare prezinta o parte din aceste mesaje.

67

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 5.10 Mesaje la consola in timpul procesului de incarcare.

Fig 5.10 Mesaje la consola in timpul procesului de incarcare (cont.)


De la consola, in timpul acestui proces, puteti apasa combinatia de
taste Shift+PageUp pentru a derula inapoi mesajele. Puteti sa vedeti
mesajele afisate in timpul procesului de bootare ruland in orice moment

68

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

programul dmesg. Fisierele /var/log/messages vor contine, de asemenea,


multe mesaje din procesul de bootare.
In acest moment, kernelul va monta sistemul de fisiere radacina (/) ca
read-only (doar cu drepturi de citire) si va verifica sistemul de fisiere. Daca
totul este gasit in regula atunci sistemul de fisiere radacina va fi montat cu
drepturi read/write (citire/scriere).
Daca apar probleme si kernel-ul nu reuseste sa monteze partitia
radacina sau sunt descoperite probleme grave, kernelul va intra in panica si
sistemul se va opri. Daca discul devine corupt din anumite motive, kernel-ul va
asigura o optiune de rulare a unui program de verificare a sistemului de fisiere
cum ar fi fsck.ext2 prin intermediul unui shell restrans.
Odata ce sistemul radacina de fisiere a fost montat, kernel-ul porneste
un program numit init. Acest program porneste toate celelalte programe. Odata
ce init a terminat de rulat toate programele necesare, sistemul poate fi
considerat functional iar procesul de incarcare terminat.
Ceea ce ruleaza init ca parte a procesului de bootare este foarte
personalizabil.
In timpul procesului de incarcare a sistemului, init va rula mai intai
scriptul [Link] si apoi scriptul corespunzator nivelului implicit de rulare.
Nivelul de rulare implicit este stabilit in /etc/inittab utilizand o linie precum
urmatoarea:
init:3:initdefault:
In acest caz nivelul implicit este stabilit nivelul 3. Aceasta inseamna ca
init va rula scriptul necesar pentru a pune sistemul in modul de lucru
multiutilizator.
Iata in continuare exemplificate utilizarile nivelelor de lucru (run level),
exemplu obtinut prin editarea fisierului /etc/inittab.

69

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 5.11 Editarea fisierului /etc/inittab (runlevel-urile).


5.6.2. Inchiderea sistemului
Puteti executa manual init manual si sa ii spuneti sa schimbe nivelul de
lucru cu un nivel dorit de dumneavoastra. De exemplu,
init 0
va cere programului init sa schimbe nivelul curent cu nivelul 0. Cu alte cuvinte,
sistemul va fi stins. Daca va aflati in modul multiuser (3), comanda precedenta
nu este foarte recomandabila deoarece nu instiinteaza utilizatorii conectati la
sistem ca acesta se va opri.
In mod obisnuit este utilizata comanda shutdown pentru a opri sistemul.
Aceasta comanda trimite tuturor utilizatorilor conectati la sistem un mesaj de
avertizare cu privire la modificarea nivelului de lucru. Aceasta comanda ofera
si posibilitatea programarii in timp a opririi.
Comanda shutdown cere programului init sa schimbe nivelul curent al
sistemului fie cu cel de oprire (halt=0) fie cu cel de repornire (reboot=6). De
exemplu,

70

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

shutdown h now
Aceasta comanda va cere init sa schimbe nivelul cu 0 (oprirea
sistemului) imediat.
Asa cum am spus comanda shutdown permite programarea opririi
sistemului la un moment viitor. De exemplu,
shutdown +10
Va programa oprirea sistemului peste exact 10 minute dupa ce
comanda a fost introdusa de la tastaura. Daca doriti sa anulati oprirea
programata puteti folosi comanda shutdown impreuna cu optiunea c. De
exemplu,
shutdown c
va anula orice programare de oprire a sistemului.
Puteti executa manual init pentru a reporni calculatorul. De exemplu,
init 6
Daca va aflati in modul de lucru multiuser veti observa faptul ca aceasta
comanda nu instiinteaza utilizatorii sistemului despre eveniment, astfel incat ar
fi de preferat sa utilizati comenzile shutdown sau reboot pentru a ceasta. De
exemplu,
shutdown r +10
Acesta comanda va reporni sistemul in 10 minute. Toti utilizatorii vor
primi un mesaj de instiintare. Acest lucru le va permite sa-si termine munca si
sa-si salveze fisierele daca este cazul.
Pentru a reporni sistemul imediat puteti folosi:
shutdown r now
sau
reboot

71

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

6. Comenzi in Linux
6.1. Sintaxa comenzilor
Sintaxa se refera la structura comenzii si specifica optiunile si argumentele
permise. Forma generala a unei comenzi Linux este:
$ comanda [-optiune(i)] [argument(e)]
Obs.: Ce este in paranteza inseamna elemente optionale, adica nu sunt
intotdeauna necesare.
Comanda: Program executabil (specifica ce doresti sa faca sistemul)
Optiune(i): Modifica executabilul (cum doresti sa ruleze sistemul comanda)
Argument: Fisier sau director, incluzand calea sau un text. Daca nu este
prevazuta calea atunci sistemul de operare va utiliza directorul curent.
Trebuie utilizat un spatiu ca delimitator intre fiecare parte a comenzii
introduse. Comenzile in Linux sunt ntotdeauna scrise cu litere mic (lower
case). Optiunile sunt de obicei formate dintr-o singura litera precedata de o
liniuta (semnul minus). Optiunile multiple pot fi combinate utilizand doar o
singura liniuta. Optiunile pot fi scrise cu litere mari sau litere mici in functie de
ceea ce se doreste sa se faca.
6.2. Lansarea in executie a unui program
Promtul "$" arata ca sistemul este pregatit sa accepte comenzi de la utilizator.
Pentru a lansa in executie un program trebuie sa se tasetze numele fisierului
care contine codul executabil.
Exemplu:
[gxg@x /]$ pine
Informatiile din paranteza au urmatoarea semnificatie:

72

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

gxg@x inseamna utilizatorul "gxg" inregistrat la calculatorul cu numele "x"


"/" inseamna directorul curent (in acest caz este radacina)
Toate aceste informatii impreuna cu semnul $ formeaza promptul.
La unele sisteme, el poate avea mici modificari! Astfel, inainte de semnul "$"
poate aparea numai numele calculatorului, fara numele utilizatorului, dar
acestea sunt setari care se pot schimba.
Aceasta comanda este echivalenta cu:
[gxg@x /]$ /usr/bin/pine
/usr/bin/pine reprezinta calea completa spre fisierul (executabil) pine. In

exemplul precedent este optionala deoarece sistemul cauta fisierul pine intr-o
lista de directoare (specificate dinainte desigur), printre care si /usr/bin.
Exista si comenzi care trebuiesc lansate specificand (numai) numele complet!
In caz contrar pe ecran apare mesajul de eroare "command not found", cu alte
cuvinte sistemul nu stie unde este programul respectiv.
Exemplu:
[gxg@x /]$ /sbin/repquota
Usage:
repquota [-v] [-g] [-u] -a
repquota [-v] [-g] [-u] filesys ...
[gxg@x /]$ repquota
bash: repquota: command not found
De regula principalele comenzi folosite in Linux sunt puse in directorul "/bin"
sau "/usr/bin", iar sistemul este configurat sa caute aceste comenzi in
directoarele amintite.
Acest lucru este foarte convenabil, necesitand efortul minim din partea
utilizatorului.
Un alt mod interesant de a ajuta utilizatorul este tasta "Tab"!
Tastati cateva caractere dintr-o comanda si apoi apasati tasta "Tab". Sistemul
va completa pentru dumneavoastra numele comenzii!

73

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

In cazul in care incep mai multe comenzi cu caracterele precizate, ve-ti auzi un
bip, iar daca mai apasati inca o data veti vedea pe ecran toate posibilitatile.
Exersand, veti observa ca aceasta tasta "Tab" este rapida, si foarte utila in
cazurile in care nu va amintiti exact unele comenzi.
Exemplu:
[gxg@x bin]$ ps2
ps2ascii ps2epsi
[gxg@x bin]$ le
less
lessecho
[gxg@x bin]$

ps2pdf
lesskey

let

lex

6.3. Redirectarea iesirii unei comenzi


In unele cazuri este de dorit ca informatia produsa de o comanda (afisata pe
ecran) sa fie directata intr-un fisier. Pentru aceasta, la sfarsitul comenzii
adaugati semnul ">" urmat de numele fisierului care va fi creat si va contine
aceasta informatie. Pe ecran nu va mai fi afisata aceasta informatie!
Atentie: Daca redirectati output-ul unei comenzi intr-un fisier care deja exista,
tot continutul lui va fi suprascris.
Exemplu:
gxg@x gxg]$ ls -l > [Link]
gxg@x gxg]$
6.4. Lansarea in background a unui program
Datorita posibilitatii de a lucra cu mai multi utilizatori deodata, sistemul poarta
denumirea de sistem multiuser.
Sistemul de operare Linux este si un sistem multitasking, ceea ce inseamna ca
mai multe programe (procese) pot rula simultan.
Acest sistem de procese numit multitasking este utilizat pentru a aloca timpul
de lucru al procesorului mai multor utilizatori in acelasi timp. In realitate nu este
vorba de procese care se ruleaza in acelasi timp ci unele dupa altele la
intervale de timp de ordinul milisecundelor.

74

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Sistemul de operare aloca timpul in asa fel incat sa lase impresia de


continuitate pentru fiecare utilizator. In timp ce unul dintre acestia lucreaza la
terminalul sau el imparte cu ceilalti resursele de calcul.
Exista doua moduri de a lansa in executie un program: foreground (in fata) si
background (in spate). Modul foreground este asociat cu programele
interactive, care necesita interventia utilizatorului (de la tastatura) si ii transmite
informatii pe monitor. De regula, programele lansate de utilizator sunt lansate
in modul acesta.
Opus modului foreground, modul background este asociat de regula cu acele
programe care nu necesita interventia utilizatorului in timpul desfasurarii lor.
Totusi orice program poate fi lansat in executie in fiecare mod.
Un program se lanseaza in backgroung adaugand semnul "&" la sfarsitul
comenzii.
6.4.1. Exemple de programe care pot fi lansate in foreground sau
background
Programul de posta electronica "pine" este un program care prezinta meniuri
utilizatorului, acesta putand alege intre a citi posta primita, a trimite un nou email, a tipari un mesaj, etc. El este exemplul ideal de program care ruleaza in
foreground.
Programul care primeste posta electronica din retea si o distribuie fiecarui
utilizator este un proces care ruleaza in background.
Un program poate fi lansat in background in felul urmator:
Exemplu:
[gxg@x /]$ tar -zcf ~/[Link] /usr/doc/* &
[1] 1119
[gxg@x /]$
Avantajul lansarii unui program in background este posibilitatea utilizarii
calculatorului si in timp ce procesul respectiv ruleaza. In exemplul precedent
am folosit comanda tar (utila pentru arhivare/dezarhivarea fisierelor) (-zcf
~/[Link] /usr/doc/* sunt parametrii comenzii tar iar semnul &
semnifica lansarea in background).

75

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Sistemul raspunde [1] 1119 si apoi afiseaza promptul asteptand alta


comanda (in timp ce prima ruleaza!) ([1] inseamna ca este primul proces
lansat in background iar 1119 este identificatorul de proces).
6.5. Manipularea proceselor. Comenzile "jobs", "fg", "bg", "ps", "kill"
Asupra unui proces, odata pornit, se pot efectua urmatoarele operatii:
Terminarea
Suspendarea
Reluarea unui proces suspendat
Mutarea in background
Aducerea in foreground
Listarea proceselor
Comanda jobs va arata programele lansate in background de la terminalul
curent.
[gxg@x /]$ jobs
[1]- Running
[2]+
Running
usr/doc/* &

yes >/dev/null & (wd: ~)


tar -zcf ~/[Link]

[gxg@x /]$
Pentru a vedea procesele pornite si de la alte terminale puteti folosi comanda
ps: Comanda ps (prescurtare de la Processes Status) este mai tare decat
jobs. Pentru manipularea unui proces este necesara cunoasterea
identificatorului procesului (PID) furnizat de aceasta comanda.
[gxg@x gxg]$ ps
PID TTY STAT TIME
287
1 S
0:00
288
2 S
0:00
329
2 S
0:00
331 p0 S
0:00
335
1 R
0:00
[gxg@x gxg]$

COMMAND
-bash
-bash
/usr/bin/mc -P
bash -rcfile .bashrc
ps

76

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

6.5.1. Terminarea
In unele sitatii este de dorit oprirea fortata a proceselor inainte de terminarea
lor fireasca. Dupa terminarea procesului memoria ocupata se elibereaza.
Pentru aceasta se foloseste comanda kill.
[gxg@x gxg]$ ps
PID TTY STAT TIME COMMAND
287
1 S
0:00 -bash
288
2 S
0:00 -bash
289
3 S
0:00 -bash
329
2 S
0:01 /usr/bin/mc -P
331 p0 S
0:00 bash -rcfile .bashrc
348
1 S
0:01 top
362
3 R
0:00 ps
[gxg@x gxg]$ kill 348
[gxg@x gxg]$ ps
PID TTY STAT TIME COMMAND
287
1 S
0:00 -bash
288
2 S
0:00 -bash
289
3 S
0:00 -bash
329
2 S
0:01 /usr/bin/mc -P
331 p0 S
0:00 bash -rcfile .bashrc
363
3 R
0:00 ps
[gxg@x gxg]$
Daca programul este in foreground (accepta comenzi de la tastatura), atunci el
(de regula) se poate opri folosind combinatia de taste Control+C. Cele doua
metode sunt echivalente pentru ca in fiecare caz sistemul trimite procesului
respectiv semnalul "TERM" pentru incheierea programului.
6.5.2. Suspendarea
Suspendarea unui proces inseamna oprirea lui temporara, cu posibilitatea
continuarii rularii sale. Spre deosebire de terminare, programul "ingheata" in
starea sa la momentul suspendarii, iar memoria ocupata cu acest proces NU
este eliberata.
Pentru suspendarea unui program care ruleaza in foreground se poate apasa
Control+Z. Daca programul ruleaza in background, pentru stoparea sa trebuie
data comanda kill cu parametrul STOP.

77

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

$ kill -STOP 435

435 reprezinta identificatorul procesului care se doreste a fi stopat.


Acest identificator il puteti afla folosind comanda ps.
6.5.3. Reluarea unui proces suspendat
In mod analog cu comenzile anterioare, kill -CONT permite continuarea
unui proces suspendat. Aceasta continuare se va face in background. Doua
comenzi utile sunt fg si bg: Comanda fg continua in foreground un proces
intrerupt, iar comanda bg in background.
6.5.4. Aducerea unui proces in foreground
Daca procesul este stopat sau ruleaza in background, aducerea lui in
foreground se face folosind comanda fg. Daca sunt mai mult de 2 procese in
aceasta stare, comanda fg (sau bg) trebuie urmata de un numar in felul
urmator:
[gxg@x gxg]$ jobs
[1]
Stopped
[2]- Stopped
[3]+ Stopped
[gxg@x gxg]$ fg 3
grep k

yes
yes
grep k

(Ctrl+Z)
[3]+ Stopped
[gxg@x gxg]$

grep k

Dupa cum se vede din exemplul anterior, procesele sunt numerotate in ordine
crescatoare, iar numarul corespunzator fiecarui proces il putem afla folosind
comanda jobs. Acest numar este diferit de PID (identificatorul procesului)
aflat prin comanda ps (Processes Status).
6.5.5. Mutarea unui proces in background
Pentru a muta un proces (care ruleaza in foreground) in background, se poate
proceda in felul urmator: apasati Control+Z pentru a opri procesul. In acest
moment procesul este suspendat. Tastati comanda bg pentru a continua in

78

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

background procesul stopat. Pentru aducerea lui in foregroung, tastati


comanda fg.

79

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

7. Administrare si navigare in sistemul de fisiere


7.1. Deplasarea prin structura de directoare.
Sistemul de fisiere este, asa cum am aratat, organizat cu ajutorul directoarelor
si a subdirectoarelor.
Directorul curent
$ cd /usr/bin [Enter]
$ pwd [Enter]
/usr/bin
7.1.1. Calea absoluta si calea relativa
Calea absoluta porneste din directorul radacina in timp ce calea relativa
porneste din directorul curent.
$ cd /usr/local[Enter]
Aceasta este o cale absoluta deoarece incepe cu /.
$ pwd
[Enter]
/usr/local
$ cd bin [Enter]
Aceasta este o cale relativa deoarece porneste din directorul curent si merge
in jos catre bin.
$ pwd [Enter]
/usr/local/bin
7.1.2. Deplasarea in directoarele anterioare
Fiecare director are doua referinte speciale pentru subdirectoare:
un punct (.) se refera la directorul curent
doua puncte (..) se refera la directorul anterior.
Aceste simboluri sunt nume efective de directoare.

80

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

$ cd .. [Enter]
$ pwd [Enter]
/usr/local
$ cd ../bin [Enter]
$ pwd [Enter]
/usr/bin
Se poate face deplasare inapoi mai mult de un nivel.
$ cd ../../var/tmp [Enter]
$ pwd [Enter]
/var/tmp
$ cd /usr/bin/../local/bin/.. [Enter]
$ pwd [Enter]
/usr/local
7.1.3. Referirea exacta la directorul curent
Directorul current poate fi privit ca un singur punct. In practica toate caile
relative pot incepe cu prefixul ./
$ cd ./bin [Enter]
$ pwd [Enter]
/usr/local/bin
7.1.4. Directorul home
Fiecare utilizator are un director personal, cunoscut sub numele de home
(acasa), el pastreaza toate datele ce apartin utilizatorului respective. Tastand
doar cd, utilizatorul poate ajunge direct in directorul sau home.
$ cd [Enter]
$ pwd [Enter]
/home/john
Unele shell-uri inlocuiesc semnul ~ de la inceputul unei cai cu calea
directorului home a utilizatorului.
$ cd ~ [Enter]
$ pwd [Enter]

81

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

/home/john
In acelasi fel, daca semnul ~ este asezat in fata unui cont de utilizator va fi
inlocuit cu calea catre directorul home al utilizatorului.
$ cd ~mary [Enter]
$ pwd [Enter]
/home/mary
Inapoi la directorul home.
$ cd [Enter]
7.2. Continutul directoarelor
Pentru a lista continutul unui director se foloseste comanda ls.
$ ls /bin [Enter]
arch
dd
gzip
netconf
sleep
ash
df
hostname
netstat
sort
[Link]
dmesg
igawk
nice
stty
aumix-minimal dnsdomainname ipcalc
nisdomainname su
awk
doexec
kill
ping
sync
basename
domainname
linuxconf ps
tar
bash
echo
ln
pwd
tcsh
bash2
ed
loadkeys
red
touch
bsh
egrep
login
remadmin
true
cat
ex
ls
rm
umount
chgrp
false
mail
rmdir
uname
chmod
fgrep
mkdir
rpm
userconf
chown
fsconf
mknod
rvi
usleep
consolechars
gawk
mktemp
rview
vi
cp
gawk-3.0.4
more
sed
view
cpio
grep
mount
setserial vimtutor
csh
gtar
mt
sfxloadypdomainname
date
gunzip
mv
sh
zcat
Comanda ls /bin afiseaza continutul lui /bin/.
O afisare mult mai completa se poate obtine folosind optiunea l (long list).

82

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

$ ls -l /bin [Enter]
-rwxr-xr-x
1 root
root
2612 Mar 7 11:29 arch
-rwxr-xr-x
1 root
root
60592 Feb 3 20:12 ash
-rwxr-xr-x 1 root root
263064 Feb 3 20:12 [Link]
-rwxr-xr-x 1 root root 9968 Feb 3 19:04 aumix-minimal
lrwxrwxrwx
1 root
root
4 Apr 13 23:28 awk -> gawk
-rwxr-xr-x 1 root
root
5756 Mar 7 12:15 basename
-rwxr-xr-x
1 root
root
316848 Feb 27 18:44 bash
... multe linii ...
-rwxr-xr-x
1 root
root
4320 Mar 7 12:15 true
-rwsr-xr-x
1 root
root
26608 Feb 3 15:14 umount
-rwxr-xr-x
1 root
root
6196 Mar 7 12:15 uname
lrwxrwxrwx 1 root root 14 Apr 13 23:49 userconf ->
/bin/linuxco
nf
-rwxr-xr-x
1 root
root
16252 Mar 8 17:26 usleep
-rwxr-xr-x
1 root
root
346352 Mar 7 18:18 vi
lrwxrwxrwx
1 root
root
2 Apr 14 00:00 view -> vi
-rwxr-xr-x
1 root
root
362 Mar 7 18:18 vimtutor
lrwxrwxrwx
1 root root
8 Apr 13 23:51 ypdomainname ->
hostname
-rwxr-xr-x
3 root
root
46384 Feb 15 17:04 zcat
$ cd [Enter]
$ ls [Enter]
Pentru a afisa fisierele ascunse (care incep cu un punct).
$ ls a [Enter]
.
.bash_history
..
.bash_logout
.ICEauthority
.bash_profile
errors
.Xauthority
.bashrc
.Xdefaults
.cshrc

.enlightenment
.gnome
.gnome-desktop

.mc
.tcshrc
.xsession-

.gnome-help-browser
.gnome_private

7.3. Crearea fisierelor


Exista modalitati diferite de a crea un fisier. Cel mai simplu este sa creezi un
fisier gol folosind comanda touch. Mai intai se face deplasarea in directorul
home, ce mai bun loc de joaca.

83

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

$ cd [Enter]
$ touch myfile [Enter]
$ ls -l myfile [Enter]
-rw-rw-r-- 1 john john 0 Dec 23 10:49 myfile
Fisierul a fost creat..
Se poate folosi si comanda cat
$ cat > myfile2 [Enter]
there are better ways to write [Enter]
text.[Enter]
This is a one-way writing. [Enter]
[Ctrl+d]
$ cat myfile2 [Enter]
7.4. Copierea fisierelor
$ cp myfile2 myfile3 [Enter]
Copierea unui grup este posibila doar daca ultimul fisier este un director
existent.
$ cp myfile myfile2 myfile3 /tmp [Enter]
$ cp myfile* /tmp [Enter]
Stergerea fisierelor
Atentie atunci cand stergeti ceva si sunteti administrator.
$ rm myfile myfile2 [Enter]

Nu exista nici o modalitate pentru a recupera fisierele sterse.


Puteti utiliza metacaracterele: * si ?.
$ ls myfile* [Enter]
myfile3
$ rm myfile* [Enter]

84

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

7.5. Crearea directoarelor


$ cd [Enter]
$ mkdir mydir [Enter]
Sa verificam cu ls.
$ ls l [Enter]
...
drwxr-xr-x
8
john
john 1024 Dec 23 12:11 mydir
...
Caracterul d de la inceputul sirului ne spune ca fisierul este un director.
7.6. Copierea directoarelor
Comanda cp cu optiunea -r sau -R.
$ cp -r mydir mydir2[Enter]
7.7. Stergerea directoarelor
Se pot sterge directoare goale utilizand rmdir.
$ rmdir mydir2[Enter]
Iata insa ceva mai complex.
$ mkdir carbon [Enter]
$ mkdir carbon/hydrogen [Enter]
$ mkdir carbon/oxygen [Enter]
$ mkdir carbon/hydrogen/helium [Enter]
$ rmdir carbon [Enter]
rmdir: carbon: Directory not empty
$ rm -r carbon [Enter]
7.8. Mutarea si redenumirea
In mediul Unix redenumirea si mutarea unui fisier inseamna acelasi lucru.
Comanda utilizata este mv.

85

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

$ touch white[Enter]
$ touch green[Enter]
$ mkdir purple[Enter]
Sa verificam:
$ ls -l[Enter]
...
-rw-rw-r-1
john
john
0 Dec 25 12:46 white
-rw-rw-r-1
john
john
0 Dec 25 12:46 green
drwxrwxr-x 2
john
john 1024 Dec 25 12:46 purple
...
Sa redenumim fisierul white si sa-l facem brown.
$ mv white brown[Enter]
$ ls -l[Enter]
...
-rw-rw-r-1
john
...

john

0 Dec 25 12:46

brown

Pentru a muta mai multe fisiere odata destinatia trebuie sa fie un director.
$ mv brown green purple [Enter]
$ ls -l purple [Enter]
-rw-rw-r-- 1 john john 0 Dec 25 12:46 green
-rw-rw-r-- 1 john john 0 Dec 25 12:46 brown
$ mv purple /tmp [Enter]
7.9. Realizarea legaturilor
In locul copierii unui fisier s-ar putea sa dorim sa cream o referinta catre
acesta. Exista doua tipuri de legaturi care pot fi create: hard link-uri si soft linkuri. Comanda pentru o legatura soft este ln cu optiunea -s.
Mai intai cream mediul.
$ touch one[Enter]
$ touch two[Enter]
$ mkdir three[Enter]
Verificam..

86

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

$ ls l [Enter]
...
-rw-rw-r-1 john john
0 Dec 25 12:46 two
drwxrwxr-x 2 john john 1024 Dec 25 12:46 three
-rw-rw-r-1 john john
0 Dec 25 12:46 one
$ ln -s one [Link] [Enter]
$ ls l [Enter]
...
lrwxrwxrwx 1
john
john
3 Dec 25 12:47 [Link] > one
La fel este si pentru directoare.
$ ln -s /tmp miatemp [Enter]
$ ln -s /home/john/one* /home/john/two three [Enter]
$ ls -l three [Enter]
lrwxrwxrwx
1
john
john
15 Dec 25 15:21
two ->
/home/john/two
lrwxrwxrwx
1
john
john
15 Dec 25 15:21
one ->
/home/john/one
lrwxrwxrwx 1
john
john
19 Dec 25 15:21 [Link] ->
/home/john/[Link]

87

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

8. Metacaracterele (Wildcards)
Metacaracterele sunt caractere de la tastatura cu intelesuri speciale pentru
shell. Ele reprezinta o caracteristica puternica a oricarui shell. O definitie
generala a metacaracterului este: orice caracter de la tastatura care nu este
alfanumeric. Metacaracterele sunt utilizate cu multe comenzi Linux pentru a
avea mai multa flexibilitate. Unele dintre acestea folosite in Linux au functii
similare cu cele din DOS. Asterisk-ul (*) si semnul intrebarii (?), de exemplu,
sunt metacaractere, cunoscute si ca wildcard-uri, si sunt utilizate pentru a lucra
mai eficient cu un grup de fisiere.
Este foarte important sa nu se foloseasca metacaractere atunci cand sunt
numite fisierele sau directoarele. Punctul (.) si linia (_) sunt singurele caractere
non-alfanumerice care nu sunt metacaractere. De aceea ele pot fi folosite in
numele fisierelor. O linie de legatura(-), chiar daca este un metacaracter
(utilizat pentru a delimita optiunile intr-o linie de comanda), poate fi si el utilizat
la denumirea fisierelor.
8.1. Completarea automata
Shell-ul poate completa o comanda folosind [Tab], aceasta caracteristica este
utila atunci cand avem fisiere cu nume lungi.
$
$
$
$
$
$
$

touch microprocessor[Enter]
touch microscopic[Enter]
touch supersonic[Enter]
ls sup[Tab]
ls sup[Tab]ersonic[Enter]
ls mic[Tab]ro
ls mic[Tab]rop[Tab]rocessor[Enter]

8.2. Substituirea cu metacaractere


Aceasta este o modalitate alternativa pentru a completa o comanda; shell-ul
este acela care schimba simbolurile cu informatiile corespunzatoare.
8.2.1. Asterisk *
Acest simbol poate fi inlocuit cu o secventa de simboluri, de la zero la infinit.
$ ls [Enter]

88

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

$ ls * [Enter]
Comanda a doua este dferita, shell-ul inlocuieste * cu lista fisierelor si a
subdirectoarelor din directorul current. Aceasta inseamna ca daca exista vreun subdirector, continutul sau va fi afisat.
$ ls micro* [Enter]
microprocessor microscopic
poate fi inlocuit cu un sir nul:
$ touch millimicro [Enter]
$ ls *micro* [Enter]
microprocessor microscopic millimicro
8.2.2. Semnul intrebarii ?
Semnul intrebarii ? poate fi inlocuit doar cu un simbol.
Sa cream niste fisiere.
$ touch xy123j4 [Enter]
$ touch xy456j5 [Enter]
$ touch xy789j111 [Enter]
$ touch xy78j67 [Enter]
$ ls [Enter]
xy123j4
xy456j5
xy789j111
xy78j67
$ ls ?????j? [Enter]
xy123j4
xy456j5
Vom avea un rezultat diferit utilizand *
$ ls *j* [Enter]
xy123j4 xy456j5 xy789j111 xy78j67

89

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

8.2.3. Parantezele patrate [ ]


Parantezele patrate sunt utilizate pentru a dispune de o categorie de simboluri
din care sa alegem simbolurile substituente. Doar un simbol din cele listate
este folosit.
$ ls xy????[4567]* [Enter]
xy123j4 xy456j5
$ ls xy????[4-7]* [Enter]
8.3. Redirectionarea intrarilor/iesirilor si pipeline
Shell-ul permite redirectionarea rezultatelor comenzilor de la monitor
(dispozitivul de iesire standard). Acelasi lucru se intampla cu introducerea
datelor (aici este vorba de tastatura). Pentru redirectionari se folosesc semnele
> sau >> sau < .
8.3.1. Redirectionarea
$ ls -l > mylist [Enter]
$ cat mylist [Enter]
Pentru intrare .. in locul utilizarii intrarii standard (tastaura).
$ cat < mylist [Enter]
Adaugarea la un fisier.
$ ls -l /tmp >> mylist[Enter]
$ cat mylist[Enter]
8.3.2. Pipeline
Pipeline (|) este o modalitate de a redirectiona rezultatul sau intrarea unei
comenzi.
$ cat mylist | sort [Enter]
$ cat < mylist | sort [Enter]
Mai usor fara pipeline.

90

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

$ sort < mylist[Enter]


8.4. Semnul ;
Semnul ; permite introducerea mai multor comenzi pe o singura linie de
comanda.
$ touch xy123j4 ; cat mylist

91

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

9. Comenzi pentru fisiere


Comenzile care urmeaza sunt importante deoarece ele ajuta la descoperirea
informatiilor despre fisiere. Aceste comenzi pot fi folosite pentru a determina
tipul fisierelor si care aplicatie le-a creat. De asemenea, sunt o serie de
comenzi care permit vizualizarea s/sau modificarea continutului fisierelor text
sau compararea acestora.
9.1. Combinatiile cu tasta CTRL
Control-c Intrerupe activitatea curenta; este folosita in mod curent pentru a
intrerupe sau pentru a termina un un proces sau un output pe ecran prea lung
(rezultat de exemplu in urma utilizarii comenziilor man, cat sau ls). Control-c
este util si pentru a recupera promptul atunci cand a fost introdusa o linie de
comanda nerecunoscuta de sistem (de ex. $ls " ) si s-a returnat al doilea
prompt.
Control-d Indica sfarsitul fisierului sau iesire (exit). Secventa Control-d este
utilizata pentru a iesi din anumite programe, dintr-o fereastra terminal. Ca
regula generala, cand va impotmoliti si nu functioneaza Control-c, incercati
Control-d.
Control-u Sterge intreaga linie de comanda. Utilizari frecvente ale
combinatiei Control-u:
O modalitate rapida de a sterge o linie de comanda atunci cand v-ati decis sa
nu o executati
Daca sunteti logati intr-un sistem la distanta iar tasta backspace nu
functioneaza.
Deoarece nu vedeti parola atunci cand o scrieti, puteti folosi Control-u pentru a
o sterge si pentru a o scrie din nou de la inceput daca nu sunteti siguri ca ati
scris-o corect.
9.2. Determinarea tipului fisierului cu comanda file
Intr-un sistem Linux se intalnesc mai multe tipuri de fisiere. Tipul acestora
poate fi determinat utilizand comanda file command. Acest tip de informatie

92

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

poate fi important atunci cand un utilizator incearca sa deschida sau sa


citeasca un fisier.
Determinarea tipului fisierului poate fi de ajutor si pentru a determina
programul sau comanda de utilizat pentru a deschide un fisier. Rezultatul
obtinut de pe urma unei astfel de comenzi este de cele mai multe ori unul
dintre urmatoarele: Text, Executable sau Data.
a. Fisiere Text Exemplele includ text ASCII sau text in englezea, comenzi
text, si scripturi shell executabile. Acest tip de fisier poate fi citit utilizand
cmenzile cat sau more si poate fi editat utilizand un editor de text (precum vi
sau pico).
b. Fisiere executabile sau Binare Exemplele includfisiere ELF sau alte
executabile legate dinamic. Acest tip indica faptul ca fisierul este un program
sau o comada.
c. Fisere de date Aceste fisiere sunt create de aplicatii care ruleaza pe
sistem. In unele cazuri se indica tipul fisierului; de exemplu, document
FrameMaker.
9.3. Vizualizarea continutului unui fisier cu comanda cat
Comanda cat (prescurtarea pentru concatenate) afiseaza pe ecran continutul
unui fisier text. Este utilizat adesea pentru fisiere text scurte precum fisierele
scripturi (similare cu fisierele batch). Daca fisierul ocupa mai mult de un ecran
este de preferat sa se recurga la comanda
9.4. Vizualizarea continutului unui fisier cu comanda more
Comanda more este metoda preferata de afisare a fisierelor text deoarece
continutul apare pe pe rand pe cate un ecran. Daca informatia din fisier nu
incape pe un singur ecran, apare in partea de jos a ecranului urmatorul mesaj
(unde n reprezinta procentul din continutul fisierului deja afisat): --More--(n%).
Apasand tasta Enter se continua afisarea linie cu linie. Dac se apasa Space
atunci se va umple urmatorul ecran.
9.5. Vizualizarea portiunilor de fisier cu comanda head
Comanda head este utilizata pentru a afisa primele n linii dintr-unul sau mai
multe fisiere text. Primele 10 linii sunt afisate automat daca se omite optiunea -

93

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

n. Comanda head este utila atunci cand doriti doar sa verificati primele cateva
linii dintr-un fisier indiferent de cat de lung este acesta.

94

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

9.6. Vizualizarea portiunilor unui fisier cu comanda tail


Comanda tail se foloseste pentru a afisa ultimele n linii ale unui fisier. Ultimele
10 linii sunt afisate atunci cand se omite optiunea -n. Comanda tail este utila
pentru verificarea celor mai recente intrari in fisierele log foarte lungi.
Optiunea -n afiseaza ultimele n linii ale fisierului.
9.7. Determinarea numarului de linii, cuvinte si caractere utilizand
comanda wc
Comanda wc (word count) poate fi utilizata pentru a afisa numarul de linii,
cuvinte, octeti ai unui fisier text.
Aceasta comanda este utila atunci cand se incearca determinarea
caracteristicilor unui fisier sau cand se compara doua fisiere.
9.8. Determinarea diferentelor dintre fisiere cu comanda diff
Comanda diff (difference) este utilizata pentru a compara doua fisiere text si
pentru a determina diferentele dintre ele. Comanda wc poate fi utilizata pentru
a compara fisiere tata timp cat ea numara linii,cuvinte si caractere. Este posibil
ca doua fisiere sa aiba acelasi numar de linii, cuvinte si caractere insa sa aiba
cuvinte si caractere diferite. Comanda diff poate sa descopere aceste
diferente intre fisiere: rezultatul acestei comenzi va afisa diferentele dntra doua
fisiere text linie cu linie.
Exista doua optiuni pentru comanda diff : -i si -c. Optiunea -i ignora tipul
literelor (mari sau mici); de exemplu A este tot una cu a. Optiunea -c
realizeaza o comparatie detaliata si afiseaza o lista a diferentelor cu trei linii de
context. Cu aceasta optiune, afisarea incepe cu identificarea fisierelor
implicate in comparatie si data la care au fost acestea create.

95

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

10. Determinarea si lucrul cu drepturile asupra sistemului de


fisiere
Drepturile asupra fisierelor si directoarelor se pot determina utilizand comanda
ls (list) cu optiunea l (long), asa cum s-a aratat in paginile anterioare.
Nota: Atunci cand se lucreaza cu drepturile, cele mai importante elemente ale
listarii sunt: tipul fisierului, drepturile, proprietarul, grupul si numele fisierului
sau directorului.
Tipul fisierului: O liniuta (-) pe prima pozitie indica un fisier obisnuit. Un d
indica un director.
Drepturile: 3 Seturi de drepturi: pentru Utilizator (proprietar), Grup, Alti
Proprietarul: User (login) ID al utilizatorului care a creat fisierul sau directorul.
Grupul: Numele grupului caruia ii apartine proprietaru, stabilit de catre
administratorul sistemului.
File Name: Numele fisierului sau directorului.
10.1. Interpretarea drepturilor
Read (r)- Fisierul poate fi afisat sau copiat. Continutul poate fi listat cu
comanda ls. (Pentru a afisa o lista lunga (ls l) trebuie sa existe si dreptul de
executie).
Write (w)- Continutul fisierului poate fi modificat. Fisierele pot fi sterse. (Pentru
a adauga sau pentru a sterge fisiere trebuie sa existe si dreptul de executie).
Execute (x)- Fisierul poate fi executat (doar scripturile shell sau cele
executabile). Permite de asemenea comenzii find sa caute printr-un director.
Nu- O liniuta (-) indica faptul ca acel drept nu exista.
Cele noua drepturi sunt divizate in trei seturi care corespund, in ordine,
proprietarului, grupului, altora. Fiecare set de drepturi este alcatuit intotdeauna
din secventa r (read), w (write), si apoi x (execute). Daca nu este permis un
drept atunci apare semnul minus (-) in locul acestuia.

96

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

10.2. Schimbarea drepturilor


Drepturile asupra fisierelor si directoarelor pot fi schimbate utilizand comanda
chmod (change mode). In mod normal drepturile standard pentru un fisier sau
un director sunt adecvate pentru cele mai multe dintre nevoile de securitate. In
mod standard, toate fisierele sunt create cu drepturi care permit categoriei
publicului (altii) sa citeasca fisierul. Aceasta inseamna ca oricine intra in sistem
poate vede continutul fisierului si il poate copia. Pentru fisierele unde nu se
doreste acest lucru, sau in alte situati, se pot modifica drepturile .
Comanda chmod (change mode) este utilizata de proprietarul unui fisier sau
de superuser pentru a modifica drepturile asupra fisierului.
Exista doua moduri de lucru cu comanda chmod: modul simbolic saur relativ)
si modul octal (sau absolut).
Formatul general al comenzii chmod este prezentat in continuare.
chmod modul numefisier
Modul Simbolic utilizeaza combinatii de litere si simboluri pentru a adauga
sau pentru a indeparta anumite drepturi pentru o categorie de utilizatori.
Modul Octal utilizeaza numere pentru a reprezenta drepturile asupra
fisierelor.
10.2.1. Schimbarea drepturilor utilizand Modul Simbolic
Atunci cand se utilizeaza acest mod se lucreaza, de obicei, cu o categorie de
utilizatori, desi se pot atribui drepturi deodata si tuturor categoriilor de
utilizatori.
Portiunea modul din formatul comenzii chmod este formata din trei
parti:
Cine- Categoria de utilizatori cu care se lucreaza: u = user, g = grup, o = altii
sau a = toti
Op - Operatorul sau ce se doreste sa se faca: atribuie (=), indeparteaza (-),
acorda (+)
Drepturile - Dreptul(rile) ce se atribuie r = read, w = write or x = execute

97

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Exemple
Se sterge (-) dreptul de citire (read) (r) pentru fisierul dante din categoria de
utilizatori altii (other) (o). Nu sunt spatii intre o si r.
chmod o - r dante

Urmatorul exemplu adauga permisiunea de scriere (write) (w) fisierului dante


pentru categoriile de utilizatori grup (g) si other (o).
chmod g o + w dante

102.2. Determinarea drepturilor in Modul Octal


Modul Octal asigura un mijloc numeric rapid de modificare a drepturilor pentru
toate categoriile de utilizatori. Exista trei drepturi posibile pentru fiecare set (r,
w, si x) pentru fiecare tip de categorie de utilizatori (user, grup, altii). Fiecare
set de drepturi poate fi atribuit print-o valoare numerica de la 0 la 7, in functie
de cate drepturi sunt permise.
Dreptul r (read) are atribuita valoarea 4, w (write) valoarea 2 si x (execute)
valoarea 1. Prin adunarea numerelor se obtine un total al celor trei drepturi
care sunt atribuite categoriei respective de utilizatori (User, Grup sau Altii). De
exemplu, daca proprietarul (user) are pentru un fisier drepturile r w x, vom
aduna 4 (read) + 2 ( write) + 1 (execute) egal cu 7. Daca grupul are drepturilev
r w vom avea 4 + 2 + 0 (fara execute) si un total de 6. Daca altii (other) au
doar dreptul r vom avea 4 + 0 + 0 (fara write sau execute) si un total de 4.
Modu octal pentru acest fisier sau director este 764.
7 6 4
r w x r - - r w 4+2+1 4+2+0 4+0+0

Folosind modul octal nu este nevoie a se specifice categoria de utilizatori atata


timp cat fiecare pozitie reprezinta una din cele trei categorii. Modul octal este
alcatuit din trei numere, fiecare repezentand suma drepturilor pentru una din
cele trei categorii de utilizatori (User, Grup, si Altii).

98

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

11: Comenzi pentru procesarea fisierelor


Comanda find poate fi utilizata pentru a gasi fisiere anume oriunde in structura
de directoare. Comanda grep este utilizata pentru gasi siruri de caractere
specifice in fisiere si pentru a lista fisierele si liniile in care au fost gasite.
11.1. Gasirea fisierelor
Comanda find poate fi utilizata pentru a descoperii fisiere pe baza anumitor
criterii. Atunci cand un fisier sau grup de fisiere s-a potrivit cu criteriul se poate
executa alta comanda asupra fisierelor [Link] find poate fi utilizata
in multe scopuri, inclusiv pentru stergrerea, salvarea sau printarea fisierelor.
Comanda find poate localiza fisiere atat pe sistemul propriu cat si pe un
sistem la distanta. Cautarea incepe din punctul specificat din ierarhia de
directoare catre subdirectoarele aflate sub acel punct. O cautare care incepe
din root poate dura foarte mult timp.
11.2. Cautarea unui sir de caractere in fisiere
Comanda grep (Global Regular Expression Print) este utilizata pentru a cauta
un sir de caractere intr-un fisier sau in rezultatul unei comenzi. Comanda grep
cauta in fisier sirul specificat s afiseaza toate liniile care contin modelul
respectiv. Aceasta comanda este utilizata in mod frecvent ca filtru impreun
acu alte comenzi. De exemplu, puteti executa comanda ps (process status) si
in rezultatul executiei sa cautati toate potivirile cu un anume proces. Comanda
grep este case sensitive.
grep [optune(i)] sir cale/numefisier

In examplul urmator, comanda grep este folosita pentru a cauta in toate


fisierele din directorul curent (indicat prin ./) pentru a gasi acele fisiere care
contin sirul de caractere xyz.
grep xyz ./*

11.3. Sortarea fisierelor cu comanda sort


Comanda sort asigura un mijloc rapid si simplu pentru a putea organiza datele
fie in ordine afabetica fie in ordine numerica. Comanda sort lucreaza numai cu
fisiere text ASCII. Exista un numar de optiuni disponibile pentru comanda sort.

99

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Acestea permit operatorului sa defineasca tipul de sortare care trebuie


executata precum si campul din care sa inceapa sortarea.
sort [options] [input_filename]

In examplul urmator, comanda sort va fi utilizata pentru a produce un tip de


sortare ASCII , incepand cu primul caracter al fiecarei linii pentru file2.
Exemplu:
sort file2

In exemplul urmatorare loc o sortare numerica (n) in al doilea camp al unui


fisier (sort sae un separator folosind +1 in sintaxa).
Exemplu:
sort +1n fileX

Arhivarea (comprimarea) si dezarhivarea:


Linux-ul include in orice distributie utilitarele de arhivare/dezarhivare ca tar,
gzip, gunzip.
Mai intai cateva cuvinte: Ce este arhivarea si de ce este utila ?
Arhivarea este procesul prin care un anume fisier este "codat" astfel incat sa
ocupe mai putin spatiu pe mediul de stocare ( de regula harddisk sau floppydisk, dar si banda magnetica si alte medii).
Aplicatiile folosirii acestei tehnici sunt numeroase, dintre care cele mai des
folosite sunt in primul rand economia de spatiu de stocare:
1. CDrom-ul cu distributia Linux (si nu numai) are fisierele arhivate, pentru a
folosi mai eficient spatiul disponibil.
2. Daca vreti sa copiati pe discheta (1.44 Mb) un fisier mai mare decat spatiul
disponibil, tebuie mai intai sa arhivati (comrimati) fisierul.
3. Toate programele si documentatiile disponibile pe internet sunt arhivate
pentru a diminua folosirea retelei si timpul de copiere!

100

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Tehnicile de compresie sunt foarte complexe si specializate pe tipuri de fisiere.


Astfel exista compresie pentru imagini, pentru videoclipuri, pentru audio, dar si
pentru fisiere "normale", care nu se incadreaza in aceste tipuri.
Cand aveti nevoie sa folositi comprimarea/decomprimarea fisierelor:
Cand obtineti intr-un fel sau altul fisiere comprimate,
Cand aveti nevoie de spatiu pe disk, sau un anume fisier nu incape pe
discheta,
Ca sa pastrati ordine in fisierele dvs (de ce nu ?),
Cand trimiteti un fisier prin email este politicos intai sa-l comprimati ...
etc ...
11.5. Compresia
Comanda pentru compresia unui fisier este "gzip", iar sintaxa este foarte
simpla:
$ gzip fisier

Comprima "fisier". La sfarsitul acestei operatii fisierul va avea extensia .gz si


bineinteles o lungime mai mica!
Se pot folosi si wildcards (metacaracterele). In exemplul urmator,
$ gzip *.txt

comprima toate fisierele cu extensia ".txt". La sfarsitul acestei operatii fisierele


vor fi inlocuite cu fisiere cu extensia ".[Link]"!
Atentie: Aceasta comanda va crea pentru fiecare fisier existent cate un fisier
corespunzator cu extensia "gz".
Daca vreti sa reuniti intr-o singura arhiva mai multe fisiere trebuie sa folositi
comanda "tar".
11.6. Decompresia
Opusul comenzii gzip este comanda "gunzip".

101

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Exemplu:
$ gunzip [Link]

La sfarsitul acesti operatii fisierul "[Link]" va fi inlocuit cu versiunea


decomprimata "[Link]"
Sau:
$ gunzip *.gz

Aceasta comanda decomprima toate arhivele din directorul curent.


Cum comprimati/decomprimati mai multe fisiere/directoare intr-o singura
arhiva: comanda "tar" se foloseste pentru comprimarea/decomprimare mai
multor fisiere dintr-o singura arhiva.
Comanda tar are urmatoarea sintaxa:
$ tar optiuni arhiva fisiere

Pentru arhivare se pot folosi optiunile "-cvf", iar pentru dezarhivare optiunile "xvf"
Exemple:
$ tar -cvf [Link] *.txt

Arhiveaza toate fisierele cu extensia ".txt"


$ tar -xvf [Link]

Dezarhiveaza toate fisierele din "[Link]"


De retinut ca aceasta arhivare nu comprima fisierele. Astfel, dupa arhivare,
lungimea arhivei este egala cu suma lungimii fisierelor din arhiva. Totusi,
aceasta arhiva o puteti comprima ca pe un fisier obisnuit:
Exemplu:
$ gzip [Link]

La sfarsitul acestei comenzi in directorul curent veti avea un fisier cu numele


"[Link]"

102

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

11.7. Compresia si arhivarea automata


In unele cazuri este practic sa arhivati si comprimati anumite fisiere/directoare
folosind doar o singura comanda ("tar"). Acest lucru se poate face foarte
simplu adaugand optiunea z printre optiunile comenzii tar.
Exemple:
$ tar -zcvf [Link] *.doc

Arhiveaza si comprima toate fisierele cu extensia ".doc"


$ tar -zxvf [Link]

Decomprima si dezarhiveaza "[Link]"


Extensia ".tgz" este echivalenta cu ".[Link]" si/sau cu "tar.Z" iar extensia ".gz"
este echivalenta cu ".Z".
11.8. RPM
11.8.1. Managementul pachetelor cu RPM
RPM (Red Hat Package Manager) este un sistem open, disponibil pentru
oricine, sistem care ruleaza pe Red Hat Linux dar si pe alte versiuni Linux sau
Unix. RPM este distribuit sub termenii GPL.
Pentru utilizatorul final, RPM-ul face viata mai simpla. Instalarea, dezinstalarea
sau upgrade-ul pachetelor RPM pot fi relizate prin comenzi scurte. RPM
mentine o baza de date a pachetelor instalate astfel incat pot fi relizate
interogari si verificari puternice asupra sistemului vostru .
In timpul upgrade-ului, RPM are grja de fisierele de configurare, astfel incat
niciodata nu se pierd personalizarile (Customizations)- situatie cu care nu ne
intalnim in cazul fisierelor obisnuite .[Link].
Deoarece RPM face modificari in sitemul de operare, trebuie sa aveti drepturi
de administrator pentru a instala, dezinstala sau upgrada un pachet RPM.
11.8.2. Utilizarea RPM
RPM are cinci modalitati de operare: instalare, dezinstalare, upgrade,
interogare, verificare. In continuare sunt tratate, pe scurt, fiecare dintre ele.
Pentru detalii si obtiuni folositi comanda rpm help.
Inainte de a folosi un pachet RPM trebuie sa stiti unde il gasiti. O cautare pe
internet va ofera nenumarate pachete, insa daca vreti pachete RPM pentru
Red Hat, ele se gasesc in cateva locuri:

103

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

pe CD-urile Red Hat Linux;


pe site-urile: [Link] si
[Link]
11.8.3. Instalarea
Pachewtele RPM au de obicei nume de forma [Link].
Numele fisierului include numele pachetului (foo), versiunea (1.0), versiunea
minora (1) si arhitecura (i386). Instalarea unui pachet este foarte simpla:
# rpm ivh [Link]
foo
###############
#
Dupa cum se vede, RPM afiseaza numele pachetului si apoi o succesiune de
semne # pentru vizualizarea progresului instalarii.
Desi comanda rpm ivh [Link] este utilizata in mod
obisnuit pentru instalarea unui pachet RPM, ar fi bine sa aveti in vedere
folosirea comenzii rpm Uvh [Link] in locul ei. U este
folosit pentru upgrad-area unui pachet, insa poate si sa instaleze pachete noi.
Instalarea este simpla, uneori pot apare erori:
a) pachet deja instalat. Daca pachetul cu aceeasi versiune a programului este
deja instalat veti vedea un mesaj:
# rpm ivh [Link]
foo
package foo-1.0 1 is already installed
#
Daca vreti sa instalati un pachet, indiferent daca mai aveti aceea versiune,
trebuie folosita optiuneareplacepkgs, care spune RPM-ului sa ignore
eroarea:
# rpm ivh replacepkgs [Link]
foo
###############
#
Aceasta optiune este utila daca fisierele instalate de RPM au fost sterse sau
daca vreti sa fie instalate fisierele de configurare originale ale pachetului RPM.
b) fisiere in conflict. Daca incercati sa instalati un pachet care contine un fisier
ce a fost deja installat de un alt pachet sau de o versiune anterioara a
aceluiasi pachet, veti vedea mesajul:
# rpm ivh [Link]
foo
/usr/bin/foo conflicts with file from bar-1.0-1

104

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

#
Pentru ca RPM sa ignore aceasta eroare,
replacefiles:

se foloseste optiunea

# rpm ivh replacefiles [Link]


foo
###############
#
c) dependente nerezolvate. Pachetele RPM pot depinde de alte pachete,
ceea ce inseamna ca au nevoie ca aceste pachete sa fie instalate pentru a
rula corespunzator. Daca incercati sa instalati un pachet care are dependente
nerezolvate, veti vedea:
# rpm ivh [Link]
failed dependencies:
bar is needed bai foo-1.0-1
#
Pentru a trata aceasta eroare trebuei sa instalati pachetele corespunzatoare.
Daca vreti sa fortati totusi instalarea (ideea nu e buna deoarece pachetul
probabil nu va rula cum trebuie), folositi optiunea --nodeps.
11.8.4. Dezinstalarea
Dezinstalarea unui pachet se face folosin comanda:
# rpm e foo
#
Nota: Observati ca am folosit numele pachetului foo, nu numele original al
fisierului pachet [Link].
Puteti intampina erori de dependenta daca dezinstalati un pachet de care
depin alte pachete instalate. De exemplu:
# rpm e foo
removing these packages would break deopendencies:
foo is needed by bar-1.0-1
#

105

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Pentru ca RPM sa ignore eroarea aceasta si sa dezinstaleze pachetul (nu este


o idee buna deoarece pachetul care are nevoie de el nu va mai rula
corespunzator), folositi optiunea nodeps.
11.8.5. Upgrade-ul
Upgrade-ul unui pachet este similar cu instalarea. Scrieti comanda urmatoare:
# rpm Uvh [Link]
foo
###############
#
Ceea ce nu vedeti deasupra este faptul ca RPM dezinstaleaza in mod automat
versiunile vechi ale apchetului foo. In realitate, puteti folosi intotdeauna pentru
instalare optiunea U deoarece aceasta instaleaza pachetul chiar daca nu
exista versiuni anterioare.
Deoarece RPM realizeaza un upgrade inteligent al pachetelor, pastrand
fisierele de configurare, puteti vedea un mesaj de forma urmatoare:
Saving /etc/[Link] as /etc/[Link]
Acest mesaj inseamna ca modificarile pe care le-ati facut la fisierul de
configurare s-ar putea sa nu fie compatibile in totalitate cu noul fisier de
configurare al pachetului, astfel incat RPM salveaza fisierul original si
instaleaza unul nou.
Upgrade-ul este in realitate o combinatie intre dezinstalare si instalare, astfel
ca in timpul upgrade-ului RPM puteti intampina erorile de instalare sau pe cele
de dezinstalare, plus inca una noua. Daca RPM considera ca incercati sa
upgrad-ati un pachet cu un numar al versiunii mai vechi decat cel prezent in
sistem, va apare mesajul:
# rpm Uvh [Link]
foo package foo-2.0-1 (which
installed
#

is

newer)

is

already

Pentru a forta RPM sa faca upgrade-ul oricum, folositi optiunea


oldpackage:

106

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

# rpm Uvh oldpackage [Link]


foo
###############
#
11.8.6. Interogarea
Folositi comanda rpm q pentru a interoga baza de date a pachetelor
instalate. Comanda rpm q foo va afisa numele pachetului, versiunea si
numarul versiunii minore a pachetului instalat foo:
#rpm q foo
foo-2.0-1
#
In loc sa specificati numele pachetului, puteti sa folositi impreuna cu optiunea
q alte optiuni pentru a specifica pachetele pe care vreti sa le interogati:
-a interogheaza toate pachetele instalate;
-f <file> interogheaza pachetul care detine <file>. Cand specificati un
fisier trebuie sa ii amintiti calea absoluta (de exemplu, /usr/bin/ls);
-p <packagefile> interogheaza pachetul <packagefile>.
Exista si optiuni referitoare la informatiile ce vor fi afisate in urma interogarii:
-i afiseaza informatii care includ numele, descrierea, versiunea minora,
dimensiunea, data realizarii pachetului, data instalarii si alte informatii diverse;
-l afiseaza lista fisierelor pe care le contine pachetul;
-s afiseaza starea tuturor fisierelor din pachet;
-d afiseaza o lista a fisierelor marcate ca documentatie;
-c afiseaza o lista a fisierelor marcate ca fisiere de configurare. Acestea sunt
fisierele pe care le modificati dupa instalare pentru a adapta pachetul la
sistem.
11.8.7. Verificarea
Verificarea unui pachet comparainformatiile despre fsierele instalate dintr-un
pachet cu aceleasi informatii despre pachetul original. Printre alte lucruri,
verificarea compara dimensiunea, permisiunile, tipul, proprietarul.
Comanda rpm V verifica un pachet. Puteti oricare dintre optiunile a, -f, -p.
Pentru a verifica un pachet care contine un fisier particular:
Rpm Vf /bin/vi

107

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Pentru a verifica toate pachetele instalate:


Rpm Va
Daca verificarea este in regula, nu exista nici un output. Daca exista
discrepante ele vor fi anuntate. Formatul output-ului este un string de opt
caractere (c reprezinta un fisier de configurare) si apoi numele fisierului.
Fiecare dintre cele opt caractere se refera la rezultatul unei comaratii:
5 MD5 checksum
S file size
L symbolic link
T file modification time
D device
U user
G group
M mode (inclusiv permisiunile si tipul fisierului)
? unreadable file.

11.8.8. UTILIZAREA EDITORULUI v I


Utilizarea editorului v I
Cu siguranta unul dintre lucrurile pe care le veti face in UNIX este de a edita
fisiere [Link] poate varia de la banala adaudare a unui director in cale in
comanda PATH continuta in fisierul dumneavoastra , profile sau .login ,la
realizarea completa a unor proiecte de documentare .De fapt ,majoritatea
paginilor man din UNIZ au fost scrise utilizindu-se editorul v I .
De departe, v I este cel mai popular editor de text din UNIX. Este un editor de
tip ecran (full-screen) si exista in toate versiunile UNIX. Exista chiar variante
pentru DOS. Printre celelalte editoare UNIX se numara picoed si emacs (alt
editor de tip ecran ), de care ne vom ocupa ceva mai tirziu.
CONTACT-testul de conducere v i
Dupa cum am spus, v i nu se invata prea usor. Este , de fapt, atat de greu,
incat probabil ca cel mai usor lucru de facut cu el este pornirea. Nu trebuie
decat sa tastati v I . Veti fi intimpinati de un ecran gol cu doar citeva liniute
serpuitoare, cunoscute sub numele de tilda (~), in partea lui stanga.
Liniile ce contin tilda sunt linii inca neutilizate de v I .Cind incepeti sa folositi o
linie, semnul tilda aflat pe ea dispare.
Puteti lansa de asemenea v I cu un nume de fisier. De exemplu, puteti tasta v
I mypoem .Daca fisierul nu exista deja, veti obtine acelasi ecran gol cu un

108

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

mesaj, insa, in partea de jos, indicind faptul ca tocmai creati un fisier [Link]
exemplu, daca tastati v I my p o e m si nu exista ,veti vedea urmatorul mesaj:
mypoem [ New file]
NOTA: Textul introdus cu editorul v I , in momentul introducerii lui, este
memorat doar in memoria [Link] este memorat ca fisier pe hard disc
pana ce nu este salvat prin tastarea succesiunii: w sau zz.
Daca fisierul exista deja, veti vedea continutul acestuia, desigur, plus un mesaj
in partea de jos a ecranului anuntandu-va numarul de linii si de caractere pe
care le contine fisierul (vezi figura 5.5.).
Odata pornit editorul v I , nu puteti introduce pur si simplu noul text, deoarece
va aflati in modul [Link] necesar sa activati modul de introducere
(input mode ) pentru a putea introduce text.
Comutarea intre cele doua moduri este pentru noi utilizatorii cel mai incurcat
aspect al editorului vi. Daca intelegeti acest lucru, restul merge de la sine.
Ce este cu modurile acestea?.
Pentru a putea introduce text utilizand editorul vi, trebuie sa activati modul de
introducere (sau modul input). Pentru aceasta, apasati una din urmatoarele
taste: a, A, I, o sau O. Acestea reprezinta, de fapt, comenzi ale
editorului, deoarece comanda executia de catre vi a unei actiuni. Comanzile
functioneaza in vi atunci cand va aflati in modul comanda.
Nota
Comenzile din vi tin cont de diferenta dintre literele mari si literele mici.
Introducerea unei litere sub forma de majuscule difera de litera mica (a este
altceva decit A). pentru a nu produce confuzii, voi indica tipul de caracter
utilizand majuscule sau litere mici, si nu prin mentionarea apasarii tastei Shift
atunci cind trebuie introdusa o majuscula.
Comanda de activare a modului input depinde de locul in care aveti de gand
sa introduceti noul text. Daca ecranul dumneavoastra este gol, acest lucru nu
conteaza prea mult. Insa, daca editati un fisier deja existent, veti dori sa
apasati acea litera care sa va introduca textul exact acolo unde intentionati sa-l
inserati. Tabelul urmator arata ce face fiecare din aceste comenzi (desi trabuie
sa le incercati pe fiecare in parte pentru a intelege cum functioneaza):

109

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Ce reprezinta
a

Ce face
Adauga text imediat dupa cursor (append). La apasarea lui
a,cursorul se deplaseaza cu o pozitie spre dreapta, iar
textul dumneavoastra este introdus in fata caracterului in
dreptul caruia se gaseste cursorul la momentul respectiv.
Adauga un text la sfarsitul unui rand. La apasarea lui A,
cursorul se deplaseaza pina in dreptul ultimului caracter de
pe rind, iar textul dumneavoastra este introdus dupa
ultimul caracter.
Introduce un text in locul in care se gaseste cursorul. La
apasarea lui i, cursorul ramane in locul in care era, iar
textul este introdus in fata caracterului in dreptul caruia se
gaseste cursorul la momentul respectiv.
Introduce un test la inceputul unui rand. La apasarea lui
I, cursorul se deplaseaza pana in dreptul primului
caracter al rindului, iar textul este adaugat in fata acestui
caracter.
Creeaza un rand nou sub randul curent de text si introduce
textul in acel loc. Cursorul sare la randul urmator, mutand
toate celelalte linii deja existente cu un rand mai jos. Textul
este introdus pe aceasta noua linie.
Creeaza un rand nou deasupra randului curent de text si
introduce textul in acel loc. Cursorul ramane pe aceeasi
linie, dar textul de pe randul respectiv este mutat cu un
rand mai jos. Aceasta produce deci introducerea unui text
deasupra randului curent.

Daca ati apasat una din aceste comenzi, va aflati in modul input si puteti deci
introduce text. Pentru a parasi (sau a dezactiva) modul input si a activa modul
comanda, apasati tasta Esc.
Sfat
Daca vi se intampla sa va incurcati si sa nu mai stiti in ce mod sunteti, apasati
tasta Esc. Acest lucru va produce activarea modului comanda sau un scurt
semnal sonor (beep) daca sunteti deja in modul comanda. Oricum ar fi, stiti ca
acum sunteti in modul comanda si puteti continua din acest punct.
Comenzi de editare si de deplasare a cursorului
In modul comanda, puteti apasa tot felul de taste pentru a-I comunica
editorului ce are de facut; puteti deplasa cursorul, puteti sterge caractere,

110

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

cuvinte si randuri sau puteti inlocui un text. Unele dintre cele mai obisnuite
comenzi sunt j, k, h si l (pentru deplasarea cursorului), x si d (pentru
stergere) si ZZ (pentru a salva ceea ce ati lucrat si a parasi editorul). Vom
discuta in continuare despre toate aceste comenzi, plus inca alte cateva.
Consultati tabelul urmator in care veti gasi o lista de comenzi vi.
Nota:
Pentru vi (si pentru aceasta discutie), un document este ceva pentru care
crearea caruia utilizati vi. Poate fi o poezie de doua randuri sau o explicatie
de 1000 de randuri despre modul de utilizare a editorului vi (sper ca nu).
Intr-un document, in general, va deplasati inainte sau inapoi. Daca va
deplasati spre sfarsitul fisierului, spunem ca va deplasati inapoi. Daca va
miscati intr-o parte si alta, probabil ca o sa cadeti de pe scaun.
Ce reprezinta
j
k
h
l
H
G
1G

Ctrl-f
Ctrl-b
$
O
w
b

Ce face
Deplaseaza cursorul cu un rand mai jos. Puteti utiliza, de
asemenea, tasta sageata-in-jos.
Deplaseaza cursorul cu un rand mai sus. Puteti utiliza, de
asemenea, tasta sageata-in-sus.
Deplaseaza cursorul cu un caracter spre stanga. Puteti
utiliza de asemenea tasta sageata-stanga.
Deplaseaza cursorul cu un caracter spre dreapta. Puteti
utiliza, de asemenea, tasta sageata-dreapta.
Deplaseaza cursorul in coltul stanga-sus al ecranului.
Deplaseaza cursorul la sfarsitul documentului (primul
caracter al ultimului rand).
Deplaseaza cursorul la inceputul documentului (primul
caracter de pe primul rand). Puteti utiliza un alt numar de
rand cu G. De exemplu, 27G deplaseaza cursorul pe
randul 27.
Deplasare inainte cu un ecran. (Tineti apasata tasta Ctrl si
apasati tasta f).
Deplasara inapoi cu un ecran. (Tineti apasata tasta Ctrl si
apasati tasta b).
Deplasare la sfarsitul randului curent.
Deplasare inceputul randului curent.
Deplasare inainte cu un cuvant (la primul caracter al
urmatorului cuvant).
Deplasare inapoi cu un cuvant (la primul caracter al

111

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

e
r
R
u
X
dW
dd
cw
C
D
/
ZZ

cuvantului anterior).
Deplasare la ultimul caracter al cuvantului curent.
Inlocuieste (scrie peste) caracterul aflat in draptul
cursorului cu caracterul atasat.
Inlocuieste textul pe masura ce tastati altul pana la
apasarea tastei Esc.
Anuleaza ultima modificare efectuata. Puteti apasa din nou
u pentru a anula operatia de anulare.
Sterge caracterul aflat in dreapta cursorului.
Sterge cuvantul curent.
Sterge randul curent.
Inlocuieste cuvantul curent. Cuvantul curent este inlocuit
de ceea ce tastati pana la apasarea tastei Esc.
Modifica tot din dreptul cursorului pana la sfarsitul randului.
Ceea ce tastati ia locul continutului randului, pana in
momentul in care apasati Esc.
Sterge toate caracterele din dreptul cursorului pana la
sfarsitul randului.
Cauta un text.
Salveaza toate modificarile si paraseste vi.

Un exemplu
N-ar avea nici un rost sa cititi despre vi daca n-aveti de gand sa-l folositi. Nu
are nici un sens pana cand nu-l incercati.
Sa cream un document. Tastati vi [Link] obtinut un ecran gol cu
semne tilda. Pasati a pentru a activa modul input. In continuare, tastati
urmatoarele randuri incluzand erorile de dactilografiere (le veti corecta ceva
mai tarziu). Daca in timp ce tastati doriti sa reevniti la o litera de pe acelasi
rand, folositi tasta backspace.
Acesta este primul meu dcument scris in vi.
Voi invata despre modul comanda si si modul input.
In scurt timp voi deveni vrajitor al vi.
Cand ati terminat de tastat, apasati Esc pentru a aparasi modul de introducere
si a intra in modul comanda. Cursorul ar trebui sa se gaseasca in dreptul
ultimei litere din rand (I-ul din vi).
Corectarea fisierului

112

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Recitind fisierul, observati ca ati mancat litera o din cuvantul document, de pe


primul rand. Pentru a corecta greseala, apasati de doua ori tasta k pentru a
muta cursorul pe primul rand. Apasati apoi tasta b de suficiente ori pentru a
muta cursorul in dreptul literei d din document. Tastati a si apoi o (a
reprezinta comanda, iar o litera pe care o adaugati). Pentru a parasi modul
input, apasati din nou tasta Esc.
Vrati apoi sa adaugati cuvantul totul in fata cuvantului despre din linia a doua.
Apasati tasta j pentru a muta cursorul cu un rand mai jos. Cursorul se gaseste
intre cuvintele invata si despre. Apasati I pentru a putea introduce text
incepand din dreptul cursorului, apasati tasta spatiu si introduceti cuvantul
totul. Apasati inca o data tasta Esc pentru a parasi modul input.
Constatati ca, pe acelasi rand, ati introdus cuvantul si de doua ori. Apasati
tasta w de trei ori pentru a muta cursorul in dreptul primului si. Apasati d si
apoi w (pentru a sterge cuvantul ). Stergerea unui cuvant se face fara a
comuta in modul input, nu trebuie deci sa apasati tasta Esc. Apasati-o insa
pentru a vedea ce se intampla. Ar trebui sa auziti un scurt semnal sonor
(beep).
Sa inlocuim cuvantul vrajitor, de pe ultimul rand,, cu expert. Apasati
slash (/) si observati cum se muta cursorul in partea de jos a ecranului. Dupa
slash, tastati vra si apasati Enter. Cursorul se deplaseaza instantaneu la
inceputul cuvantului vrajitor. Apasati cw (change word) pentru a inlocui
cuvantul. Tastati expert si apasati Esc.
In final, observati lipsa punctului de la sfarsitul randului. Apasati A si apoi tasta
punct pentru a adauga punctul la sfarstiul liniei; apasati apoi tasta Esc.
Salvarea fisierului
A sosit momentul sa salvati fisierul si sa parasiti programul de editare. Apasati
ZZ si textul dumneavoastra va fi salvat in fisierul myfile, iar dumneavoastra
veti reveni la invitatia UNIX.
In afara de ZZ mai exista si alte moduri de a iesi din vi. Pentru a incheia
programul salvandu-va fisierul, tastati: wq si apasati Enter. Ca urmare, va
aparea in partea de jos a ecranului succesiunea: wq.
Nota
Pentru a iesi dintr-un fisier fara a-l salva, utilizati: q urmat de Enter. Daca insa
ati adus modificari textului din fisier si incercati sa incheiati editarea cu ajutorul

113

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

comenzii: q veti obtine un mesaj de avertizare asupra faptului ca de la ultima


modificare nu s-a mai facut nici o operatie de scriere. Daca intr-adevar doriti sa
incheiati fara a salva modificarile facute, tastati q! si apasati Enter. Aveti insa
grija cand folositi aceasta comanda. O data ce ati parasit programul prin
comanda: q!, pierdeti orice modificare pe care ati facut-o si nu ati salvat-o.
Editorul vi contine destule comenzi pentru a putea umple o carte intreaga
numai cu ele. Exista, de fapt, multe cartibune ce se ocupa doar de vi. Daca
incepeti sa va acomodati cu vi si simtiti nevoia de a va perfectiona, incercati
sa cititi una dintre ele. Veti ramane uimiti de cat de multe lucruri puteti face cu
vi.

114

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

12. Utilitare Linux


Midnight Commander
Comenzi de baza:
Pornirea programului
Help
Navigarea
Vizualizarea unui fisier.
Editarea unui fisier (text)
Copierea fisierelor
Mutarea fisierelor
Crearea unui director
Stergerea fisierelor si directoarelor
Terminarea programului
Comenzi avansate:
Schimbarea permisiunilor asupra fisierelor
Cautarea unui fisier
Fisierele arhivate
Copierea fisierelor prin ftp
Posta electronica: Utilitarul Pine
Lansarea in executie
Help
Terminarea programului
Trimiterea unui mesaj
Citirea unui mesaj
Stergerea unui mesaj
Address Book
Utilitarul Telnet
Browserul Netscape Navigator
WWW, HTML, HTTP
Lansarea in executie
Help
Navigarea
Inchiderea

115

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

[Link] Commander
Midnight Commander este o "clona" a programului Norton Commander. Este
un program de tip "shell" care asigura o interfata bazata pe meniuri. De regula
este folosit pentru manipularea fisierelor si directoarelor, dar poate fi folosit si
pentru transferuri prin ftp sau cautarea unui fisier pe disk.
Lansarea in executie:
La promptul "$" tastati "mc"
$ mc

Fig 12.1. Pornirea MC


Pe ecran vor aparea cele 2 panouri ca in FIG. Cele doua panouri reprezinta
continutul a doua directoare.
Primul ajutor
Apasand tasta "F1" in orice moment veti primi un ajutor sumar din care puteti
afla cum sa navigati cu ajutorul tastelor, combinatii de taste sau alte informatii

116

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

utile. De asemeni tasta "F9" urmata apoi de tastele sageti va permite


accesarea meniului. Totusi pentru majoritatea operatiunilor exista scurtaturi
care, de altfel, sunt afisate chiar in meniu.
Navigarea
Este foarte simpla: folosind tastele sageti "sus" si "jos" puteti pozitiona cursorul
pe fisierul (directorul) dorit. Pentru a schimba directorul curent se procedeaza
in felul urmator: se pozitioneaza cursorul pe directorul dorit si se apasa tasta
"Enter".
Nota: Directorul ".." reprezinta parintele directorului curent.
Vizualizarea unui fisier
Midnigt Commander poate sa vizualizeze fisiere text, html si fisiere
comprimate. Pentru a vizualiza continutul unui fisier se procedeaza in felul
urmator: se pozitioneaza cursorul pe fisierul dorit si se apasa tasta "F3". Daca
fisierul este mai mare decat un ecran, atunci puteti folosi tastele sageti "sus" si
"jos" pentru a naviga in interiorul fisierului. Pentru a parasi modul "vizualizare"
apasati "Esc" sau "F10".
Editarea unui fisier (text)
Midnight Commander are editor incorporat astfel incat pozitionand cursorul pe
fisierul (text) dorit si apasand tasta "F4" ii puteti modifica continutul.
Crearea unui director
Apasand tasta "F7" puteti crea un director (nou) in directorul curent. Daca doriti
sa-l creati in alta parte, trebuie mai intai sa schimati directorul curent. Dupa
apasarea tastei "F7" va apare un dialog in care sunteti intrebat care va fi
numele noului director. Tastati numele noului director si apasati "Enter"

117

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 12.2. Crearea unui director


Manipularea fisierelor
Atentie: Pentru utilizatorii obisnuiti manipularea fisierelor este guvernata de
permisiunile fisierelor si directoarelor. Astfel utilizatorii nu pot copia fisiere in
directoare "read-only" sau nu pot sterge fisiere din aceste directoare. De
regula, directorul in care au TOATE drepturile este directorul personal al
fiecarui utilizator (si subdirectorii acestuia)
1. Copierea fisierelor si directoarelor
Pentru copierea fisierelor cu ajutorul acestui program este necesara folosirea
ambelor panouri: unul represinta (fisierul sau directorul) sursa, iar celalalt
directorul destinatie.
Copierea are loc astfel: se pozitioneaza cursorul pe fisierul (directorul) care se
doreste a fi copiat. Daca se doreste copierea mai multor fisiere, acestea se
selecteaza mai intai folosind tasta "Insert". Ca urmare a selectarii numele
fisierelor va apare colorat in galben, iar in partea de status a panoului va scrie
ceva asemanator cu "1,453 bytes in 4 files". Se apasa tasta "F5". Pe ecran va
apare un dialog care cere confirmarea copierii.
Dupa confirmarea cu "Enter" in panoul corespunzator directorului destinatie va
apare fisierul copiat.

118

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 12.3. Copierea fisierelor


Atentie: Inainte de copiere este necasara "pregatirea" panoului destinatie
schimband in directorul dorit. Pentru schimbarea panoului se tasteaza "Tab"
2. Mutarea fisierelor si directoarelor
Este asemanatoare cu copierea cu deosebirea ca se foloseste tasta "F6".
Aceasta operatiune poate fi folosita si pentru redenumirea fisierelor, pentru
aceasta fiind necesar completarea in casuta de dialog noul nume.

119

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 12.4. Mutarea fisierelor


3. Stergerea fisierelor si directoarelor
Se pozitioneaza cursorul pe fisierul (directorul) dorit. In cazul stergerii mai
multor fisiere se selecteaza fisierele dorite folosind tasta "Insert". Se apasa
tasta "F8", iar apoi se confirma stergerea cu ajutorul tastei "Enter".

Fig 12.5. Stergerea fisierelor

120

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Midnight Commander - comenzi avansate:


Permisiuni asupra fisierelor si directoarelor
De data aceasta combinatia de taste este putin mai dificila. Dupa ce se
pozitioneaza cursorul pe fisierul dorit, se apasa "Ctrl" si "x" simultan. Apoi se
elibereaza aceste taste si se apasa imediat tasta "c". Deci "Ctrl"+"x" apoi "c".
O alternativa pentru aceasta operatie este urmatoarea: In meniul (se deschide
cu tasta "F9") "File" se alege comanda "cHmod".
In caz de reusita, pe ecran va apare un dialog in care sunteti invitat sa
modificati permisiunile asupra fisierului selectat. Selectarea se face cu
mousele sau pozitionand cursorul pe permisiunea dorita si apasand "space".
La sfarsit se apasa "[<set>]"

Fig 12.6. Permisiunile in MC


Reamintesc ca in Linux (Unix) permisiunile sunt "r" (read), "w" (write) si "x"
(execute). Pentru directoare permisiunea "x" inseamna dreptul de a lista
continutul.
Aceste permisiuni sunt aplicate pentru 3 cazuri diferite ("rwxrwxrwx"):

121

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

1. Proprietarul fisierului.
2. Grupul din care face parte.
3. Restul lumii.
Astfel drepturile "rw-r-----" asupra unui fisier are urmatoarea semnificatie
("-" simbolizeaza absenta unei permisiuni):
1. Proprietarul fisierului are drept de scriere si de citire
2. Grupul din care face parte proprietarul are drept numai de citire
3. Restul lumii nu are nici un drept asupra fisierului
Cautarea unui fisier
Cu ajutorul tastei "F9" se deschide meniul de unde la "Command" se alege
"Find file". In dialogul urmator se specifica de unde sa inceapa cautarea ("."
inseamna directorul curent) si ce fisiere sa caute ("*" inseamna toate).
Campul "Content" este folositor in unele cazuri pentru a cauta fisiere (text)
care contin un anume cuvant.
Fisierele arhivate
Pot fi vazute din acest program intr-un mod foarte practic: ca un director !
Pentru aceasta trebuie apasata tasta "Enter" cand cursorul este pozitionat pe
fisierul-arhiva. Mai mult decat atat, sunt permise unele operatii ca vizualizarea
unui fisier din arhiva, sau copierea (dezarhivarea) lui.
Copierea fisierelor prin ftp
FTP (File Transfer Protocol) este protocolul cel mai raspandit in lume pentru
transferarea fisierelor prin retea (Internet). Midnight Commander are un mod
foarte util de a-l folosi: Puteti accesa un site intr-un mod asemanator cu un
director local.
Aceasta operatiune se poate executa in felul urmator: se deschide meniul (cu
ajutorul tastei "F9"), si din sub-meniul "Left" (sau "Right") se alege comanda
"FTP link".

122

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 12.7. MC si FTP


In dialogul care apare "Enter machine name" se introduc urmatoarele
informatii, dupa cum urmeaza:
1. Daca se doreste o conexiune de tip anonymous ftp -> numele calculatorului
(Exemplu "[Link]")
2. Daca utilizatorul are un cont pe calculatorul aflat la distanta se introduce
numele utilizatorului urmata de numele calculatorului (Exemplu:
"gxg@[Link]")
In acest caz, calculatorul va cere o parola inainte sa faca conexiunea ! Odata
conexiunea stabilita, intr-unul din panouri se vor vedea directoarele din
calculatorul accesat prin retea.
Sunt posibile toate operatiile iar copierea/mutarea fisierelor se face intre
calculatoare.
12.2. Sistemul de posta electronica. Programul PINE
Posta electronica ("electronic mail" sau "e-mail") este un sistem prin care un
utilizator trimite mesaje la unul sau mai multe recipiente (de regula cutiile
postale (electronice) ale altor utilizatori. Acest sistem este foarte raspandit si
utilizat in internet.

123

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Pine (Program for Internet News and Email) este un client de posta electronica
care (de regula) exista pe toate calculatoarele care au instalat Linux si nu
numai. Exista versiuni atat pentru alte "arome" Unix, cat si pentru alte sisteme
de operare cum ar fi DOS sau Windows.
Lansarea in executie:
[gxg@xanadu gxg]$ pine

Fig 12.8. Posta electronica PINE


Pe ecran va aparea un meniu foarte simplu si intuitiv ca in figura de mai sus.
Navigarea in acest meniu se poate face cu ajutorul tastelor sageti.
Help

124

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Apasand tasta "?" puteti accesa help-ul acestui program. Aici puteti afla
diverse informatii: de la copyright pana la configurarea programului.
Exemplu:

TABLE OF CONTENTS
1. Introduction
2. Pine Help
3. Giving Commands in Pine
4. Status Line
5. Main Menu Commands
6. Command Line Options
7. Pine Configuration
8. Reading News
9. Reporting Problems
In orice moment in ultimele doua randuri ale ecranului sunt afisate posibile
comenzi, precum si combinatiile de taste respective !
Inchiderea programului
Din meniul principal se apasa tasta "Q". Inainte de terminare este posibil ca
programul sa va ceara confirmarea. Pentru revenirea in meniul principal se
apasa tasta "M".
Trimiterea unui mesaj
Pentru trimiterea unui mesaj electronic este necesar ca destinatarul sa aiba o
"cutie postala electronica" adica un cont de e-mail pe un calculator care este
conectat intr-un mod sau altul cu calculatorul dvs. (de exemplu prin intermediul
Internetului). Apoi este necesar sa cunoasteti aceasta "adresa" a
destinatarului. Exemple de adrese e-mail: "gxg@[Link]",
"bill_gates@[Link]", etc...
Din meniul principal se alege "Compose message" (sau se apasa tasta "C"). In
urmatorul ecran trebuie specificata adresa electronica a destinatarului, si
(optional) un cateva cuvinte cheie in scopul de a ajuta destinatarul sa identifice
mesajul dvs dintre sute de alte mesaje.

125

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Atentie: Daca doriti abandonarea mesajului (inainte de a-l trimite,desigur)


apasati combinatia de taste "Ctrl+C"
Exemplu:
PINE
4.04
Folder: INBOX No Messages

COMPOSE

MESSAGE

To
: gxg@[Link]
Cc
:
Attchmnt:
Subject :Test email
----- Message Text ----Acesta este un test. Te rog trimite-mi raspuns daca il
primesti.
Multumesc.
Dupa ce ati scris mesajul, il trimiteti apasand combinatia de taste "Ctrl+X". In
meniul din josul ecranului puteti vedea optiunea "Send" asociata cu aceasta
combinatie de taste. Dupa ce va cere confirmarea, programul trimite mesajul.
Citirea unui mesaj
Din meniul principal se alege comanda "Message Index" (sau se apasa tasta
"I"). Daca cutia postala contine mai multe mesaje le puteti vedea numerotate,
sortate (de regula in ordinea sosirii), si chiar subiectul fiecarui mesaj.
Mesajele noi (necitite) vor avea litera "N" in dreptul lor. Dupa ce pozitionati
cursorul asupra mesajului dorit, apasand "Enter" puteti vedea mesajul. Dupa
ce l-ati citit, apasand tasta "I" va puteti intoarce la cutia postala, sau apasand
tasta "M" la meniul principal.
Stergerea unui mesaj
Din cutia postala ("Message index") pozitionati cursorul pe mesajul dorit si
apasati tasta "D". In dreptul mesajului va apare litera "D". Mesajul va fi sters in
momentul terminarii programului si dupa confirmarea dvs..
Address book (carnetelul de adrese)
Este un concept util care consta in asocierea unei (sau mai multor) adrese
email cu o porecla (nickname). Apoi, in momentul compunerii unui mesaj,
puteti scrie numai "porecla" (in loc sa tastati toata adresa, iar programul o va
inlocui cu adresa e-mail.

126

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Pentru a vedea "carnetelul cu adrese", din meniul principal alegeti "Address


Book" sau apasati tasta "A". Daca doriti sa adaugati o noua adresa in carnetel
apasati "@" ("Shift+2"), completati campurile cerute, apoi apasati "Ctrl+X"
(Exit/Save). Daca doriti sa stergeti o adresa, selectati-o cu cursorul, apasati
"D" si confirmati stergerea adresei.
12.3. Utilitarul Telnet
Unul dintre serviciile cele mai interesante pentru sistemele Unix este
conectarea de la distanta prin retea (Internet). Acesta ofera posibilitatea
lucrului de la distanta in acelasi mod ca si cum utilizatorul ar lucra local.
Pentru a realiza aceasta conexiue este necesar ca:
- Cele doua calculatoare sa fie conectate fizic (de regula prin intermediul
Internetului)
- Utilizatorul sa stie adresa electronica a calculatorului la care doreste sa se
conecteze, si sa aiba un cont pe acesta.
- Calculatorul aflat la distanta sa accepte conexiuni de tip "telnet"
Conectarea se realizeaza astfel:
$ telnet nume_host

127

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 12.9. Telnet


(unde nume_host este numele (sau adresa numerica) calculatorului aflat la
distanta).
Dupa ce calculatorul de la distanta va "intreaba" numele de utilizator si parola,
puteti lansa orice comanda sau program pe calculatorul respectiv, sau
modifica fisierele dvs de acolo.
La incheierea sesiunii de lucru, folositi comanda "logout" pentru a va
disconecta.

12.4. Browserul Netscape Navigator


WWW, HTML, HTTP
Sistemul WWW (World Wide Web) este cel mai popular protocol (HTTP) din
internet.

128

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

HTML = HyperText Markup Language este tipul acestor documente Web


HTTP = HyperText Transfer Protocol este protocolul prin care sunt transferate
aceste documente
Aspectul major al Web-ului, care atrage utilizatorii si il face asa de puternic
sunt capabilitatile multimedia si folosirea hyper-linkurilor. O pagina Web este
un document electronic, alcatuit din text, grafica, multimedia, si linkuri.
Link-urile contin adrese ale altor documente (Web) si, odata activate, provoaca
incarcarea in navigator a paginii respective.
Puteti recunoaste un link astfel: de regula textele sunt subliniate si colorate
diferit; in momentul cand pozitionati pointerul mouse-lui deasupra unui link,
forma pointerului se schimba, iar in partea de jos a ferestrei (status-bar) apare
adresa la cre pointeaza link-ul.
Lansarea in executie
Pentru a lansa in executie browserul Netscape trebuie mai intai sa aveti pornit
sistemul X Window. Daca nu este printr-un meniu (aceasta optiune difera cu
configuratia managerului de ferestre din X) il puteti lansa astfel: lansati dintr-un
terminal comanda:
$ netscape &

129

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Fig 12.10. Browser-ul Netscape


Cateodata este posibil sa fiti nevoiti sa tastati calea completa spre acest
program (de exemplu "/usr/bin/netscape").
Primul ajutor
Cu ajutorul mouselui se alege din meniul "Help" -> "Help Contents". Astfel
puteti afla nu numai cum sa navigati cu ajutorului browserului, ci si alte lucruri
interesante cum ar fi cum sa va cititi posta (electronica) cu ajutorul Acestui
program, cum sa participati la listele de discutii sau cum sa va creati o pagina
Web personala (de ce nu ?).
Navigarea
Este extrem de simpla: Cu ajutorul mouse-lui se face "click" pe linkurile dorite.

130

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Daca doriti sa vedeti o anume pagina Web (si cunoasteti adresa ei) tastati-o in
campul "Location:". Exemplu de adrese Web: "[Link]
"[Link]/linux-info/ldp", etc ...
"[Link] inseamna ca documentul respectiv sa fie accesat prin protocolul http.
Acest lucru este optional, el fiind subinteles.
Inchiderea
Din meniul "File" se alege comanda "Exit".

131

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

13. Sistemul de ferestre X window


Ce este X Window System ?
X Window System este o interfata grafica care a fost dezvoltata la Institutul de
tehnologie din Massachusetts (MIT). Firmele comerciale au facut din X
interfata standard [entru sistemele UNIX. Practic orice sistem UNIX ruleaza un
fel de X.
Pentru Linux acesta este "XFree86" - o versiune gratis dezvoltata de un grup
de programatori.
Pornirea mediului X Window
Pornirea este foarte simpla: tastand la prompt comanda "startx".
Dar pentru aceasta, X Window trebuie sa fie corect configurat de catre
administratorul sistemului .

Fig 13.1. Mediul X Windows


Ce sunt ferestrele

132

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Pentru sistemele care pot rula mai multe programe simultan (multitasking)
sistemul de ferestre poate fi foarte util afisand pe acelasi ecran mai multe
programe, fiecare intr-o fereastra.
Ferestrele deci sunt portiuni din ecran ale carar continut sunt controlate de
aceste programe. Ele se pot suprapune si pot fi mutate si redimesionate.
O fereastra este alcatuita din suprafata client, bara-titlu + butoane sistem,
margine + colturi.

Fig 13.2. X Windows


Operatii cu mousele
Mousele este indispensabil in lucrul cu ferestrele. El are 2 (sau 3) butoane si
de regula este responsabil de miscarea pointerului pe ecran. Pointerul este o
mica sageata de regula, dar poate avea si alte forme: clepsidra, ceas, linie, x,
etc...
Pe langa operatiile banale de "miscare" a mouselui si "click" (adica apasarea si
eliberarea butonului mouselui), exista una mai complexa si anume operatia
"Drag and Drop" (taraste si arunca). Aceasta consta in 3 etape:

133

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

"Apucarea" : Se pozitioneaza poinetrul mouse-lui deasupra "obiectului" dorit, si


se apasa butonul (stang) al mouselui.
"Tararea" : Se misca mouse-ul fara a i se elibera butonul, pana in punctul
dorit.
"Aruncarea": Se elibereaza butonul mouselui.
Operatii cu ferestre: mutare, redimensionare, inchidere
Mutarea si redimensionarea ferestrelor se bazeaza pe operatiunea "drag and
drop" (taraste si arunca) efectuata cu mousele. Astfel mutarea ferestrelor se
face executand drag and dop cu bara-titlu a ferestrei, iar redimensionarea lor
se face executand drag and drop cu marginile (sau coltul) acesteia.
Deschiderea unui terminal
Linia de comanda este foarte puternica in sistemele Unix si de aceea chiar din
mediul grafic X poate fi necesara. Petru aceasta este necesar un terminal
ruland intr-o fereastra a sistemului X. Exista multe moduri de a porni un
terminal, depinzand de regula de configurarea managerului de ferestre.
Pentru o distributie Red Hat, cu un manager de ferestre "clasic" (FVWM)
pornirea unui terminal se face in felul urmator: se executa un "click" pe
suprafata libera a ecranului (nu intr-o fereastra). Din meniul care va apare se
alege optiunea "New Shell". Dupa executarea comenzii, pe ecran va apare o
noua fereastra, in care este afisat promptul sistemului.
Lansarea in executie a unui program
Aici exista doua cazuri: Daca programul respectiv exista in meniul pornit de
"click" pe suprafata libera a ecranului (sau prin alte meniuri, depinzand de
managerul de ferestre) se lanseaza de acolo. Daca nu, programul dorit se
poate lansa de la linia de comanda (dintr-un terminal), la fel ca un program in
modul text.
Atentie: Daca lansati programul in modul obisnuit (foreground) terminalul va
astepta programul sa se termine inainte sa afiseze promptul din nou! Daca nu
doriti acest lucru, luati in considerare lansarea programului in background
(adaugand "&" la sfarsitul comenzii).

134

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Inchiderea sistemului X
Daca nu gasiti prin meniuri o comanda "Logout", sau "Exit" iata o combinatie
de taste care face acelasi lucru: "Ctrl+Alt+BackSpace".
De regula este bine sa inchideti toate programele care ruleaza, pentru ca altfel
vor fi inchise automat.
Atentie: A nu se confunda combinatia "Ctrl+Alt+BackSpace" (care provoaca
inchiderea sistemului X) cu combinatia "Ctrl+Alt+Delete" care provoaca
resetarea calculatorului !

135

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Linux si retelele
1. Desemnarea adreselor IP
In cazul retelelor ethernet, o statie poate sa se conecteze la o retea va trebui
sa aiba o adresa IP asignata de catre administratorul de retea sau un server
specializat.
Cand veti seta o astfel de retea singuri va trebui sa determinati adresele IP la
toate statiile din retea. Statile din cadrul unei retele vor impartasi adrese din
cadrul aceleisi clase logice de IP-uri. In cazul in care aveti mai multe retele
fizice va trebui sa dati IP-uri de retea diferite pentru fiecare retea in parte sau
sa faceti subretele pentru a imparti reteaua in mai multe segmente
independente.
Cand alegeti o adresa de retea aceasta depinde de scopul retelei: daca veti
folosi reteaua doar intern fara a avea acces la internet atunci veti putea alege
una din clasele private de IP-uri dar in cazul ca doriti ca reteaua
dumneavoastra sa poata fi vizibila din exterior va trebui sa obtineti o adresa de
retea oficiala. Pentru a obtine o astfel de adresa va trebui sa depuneti o cerere
la Network Information Center in cazul Romaniaei la RNC si sa obtineti o
adresa oficiala libera.
Daca reteaua dumneavoastra nu este conectata la internet puteti alege ce IPuri doriti dar va trebui sa aveti grija ca nici un pachet din reteaua
dumneavoastra sa nu ajunga in Internet.
Pentru a fi sigur ca nu cauzati nici o problema chiar si in cazul ca unele din
pachetele din reteaua interna ajung in exterior ar trebui sa folositi pentru
statiile din reteaua dumneavoastra IP-uri interne rezervate de catre IANA
(Internet Assigned Numbers Authority) acest scop. IANA a rezervat pentru uz
intern clase de IP-uri de clasa A, B, si C ca dumneavoastra sa va puteti
organiza reteaua in funtie de necesitati. Aceste numere sunt definite in RFC
1597 si sunt descrise in tabelul ??????

136

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

2. Configurarea accesului la retea


Accesul la retea se face cu ajutorul unor dispozitive numite placi de retea.
Integrarea acestora in kernel am discutat-o in capitolul 3, dar pentru ca
aceasta placa sa fie pe deplin functionala adica sa conecteze sistemul la
retea, ea trebuie sa fie configurata.
2.1 Configurarea placiilor ethernet
Partea software a kernelului cuprinde mai multe comenzi necesare pentru
configurarea si administrarea placilor de retea si initializa tabela de routare.
Aceste responsabilitati le preiau scripturile de initializare care se executa la
fiecare bootare.
Instrumentele de baza pentru aceste procese sunt ifconfig si route.
ifconfig este folosit pentru a face I interfata accesibila de catre nivelul de
network al kernelului, desemnarea unei adrese IP si a altor parametrii si
activarea interfetei operatie cunoscuta sub numele de bringing up . Fiind
activa kernelul va putea sa trimita si sa primeasca pachete IP de date prin
acea interfata.
Cea mai simpla metoda de a face acest lucru este prin invocarea comenzii:

ifconfig <interface> <ip-address>

Acesta comanda va desemna adresa IP indicata acelei interfate si activarea ei


dar toti ceilalti parametrii raman la valorile lor implicite.
De exemplu subnetmask-ul implicit care va fi asignat IP-ului interfetei va fi cel
al unei clase de tip C, deci in cazul in care nu ati optat pentru un IP de clasa C
sau ati facut subretele atunci va trebui sa desemnati maska corecta pentru
acel IP.
route va permite sa adaugati sau sa stergeti rute di tabela de routare a
kernelului comanda cea mai simpla este:

route [add|del] [-net|-host] target [if]


Argumentele add si del determina daca vreti sa adaugati sau sa stergeti ruta
catre destinatie.
Argumentele -net si -host vor introduce in comanda faptul ca destinatia este o
retea sau o statie.

137

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Argumentul if este din nou obtional si va permite sa specificati catre ce


interfata sa fie trimisa ruta. In cazul ca nu introduceti acest argument kernelul
va determina automat acest lucru in funtie de IP pe care le are atribuite pe
placi.
2.1.1 Interfata loopback
Prima interfata care trebuie activata este cea interna l0 numita si loopback:

# ifconfig lo [Link]

Ocazional veti vedea si numele de localhost aparand in locul IP-lui acestei


interfete. Comanda ifconfig va cauta numele localhost in fisierul
/etc/hosts , sub forma urmatorului rand: hostname pentru [Link]:

# Exemplu de /etc/hosts pentru localhost


localhost [Link]
Pentru a vedea configuratia unei interfete executati comanda ifconfig, si
introduceti ca argument numele interfetei:

$ ifconfig lo
lo Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Collisions:0
Dupa cum vedeti intefetei loopback I s-a atribuit mask de [Link], deoarece
[Link] este o adresa de clasa A . Acum aproape aveti o mica retea, ceea
ce mai lipseste este o intrare in tabela de rutare a unei rute catre reteaua
[Link].
Aceasta se face prin comada:

# route add [Link]

Primu lucru care il faceti dupa acest pas este testare interfetei l0, pentru a
verifica configuratia pe care ati facut-o, folosind pentru aceata comanda ping.
Ping este echivalentul in retel ea sonarului fiind folosit pentru a verifica da o
anumita adresa este acesibila si pentru a masura intarzierea care apare la
trimiterea unui pachet de date. Timpul necesar pentru acest proces este numit
si round-trip time:

138

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

# ping localhost
PING localhost ([Link]): 56 data bytes
64 bytes from [Link]: icmp_seq=0 ttl=255 time=0.4
64 bytes from [Link]: icmp_seq=1 ttl=255 time=0.4
64 bytes from [Link]: icmp_seq=2 ttl=255 time=0.4
^C (Ctrl+C)
--- localhost ping statistics --3 packets transmitted, 3 packets received, 0% packet
round-trip min/avg/max = 0.4/0.4/0.4 ms
#

ms
ms
ms
loss

In cazul sitemului Linux la executarea comenzii ping sitemul va emite pachete


la nesfarsit. Pentru a intrrup acesta succesiune de pachete va trebui sa
apasati Ctrl-C.
Din exemplu anterior s- a observat ca pachetele sunt trimise corect catre
destinatia [Link] si s-a primit un raspuns din partea acele statii. Se mai
poate observa ca aceste pachete au ajuns la destinatie aproape instantaneu
acesta dovedind in final ca interfata este corect setata.
In cazul in care raspunsul statiei nu este de genu celui de mai sus
configurarea interfetei nu este corecta.
Verificati erorile si daca acestea indica ca unele fisiere nu au fost instalate
corect verificati integritatea acestora. Apoi verificati daca binarele ifconfig si
route pe care le foloseste modulul de retea sunt compatibile cu kernelul care
ruleaza , si mai presus de toate , daca kernelul a fost compilat corespunzator
cu modulul de retea (vedeti asta din prezenta sau absenta directorului
/proc/net). In cazul in care primiti un mesaj care spune Network unreachable,
probabil ati configurat gresit ruta. Vedeti daca daca interfata are aceeasi
adresa pe care i-ati atribuit-o cu comanda ipconfig.
Pasii descrisi anterior sunt in deajuns pentru a rula aplicatii de retea pe o
statie individuala fara ca aceasta sa fie conectata la o retea (standalone
host).
Dupa adaugarea liniilor mentionate anterior in scriptul de initializare a retelei si
aveti grija ca acesta sa se execute la bootare tot ce mai aveti de facu este sa
restartati sistemul iar dupa bootare sa faceti cateva teste..De exemplu, telnet
localhost ar trebi sa initializeze o conetiune telnet cu statia dumneavoastra
aparand promptul login: pe ecran.

139

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Interfata l0 nu este in deajuns pentru a conecta un sistem in retea , va trebui


configurata si placa fizicade retea (ethx).
2.1.2 Interfata ethernet
Configurarea interfetei ethernet este foarte asemanatoare cu configurarea
interfetei loopback doar ca mai necesita si alti parametrii atunci cand se
folosesc.
Pentru a configura interfata eth se foloseste aceeasi comanda ca si pentru l0,
adica ifconfig. Pentru ca interfata sa fie utilizabila va mai trebui sa adaugati si
[Link] comanda va arata astfel:

# ifconfig eth0 [Link] netmask [Link]


Aceasta comanda atribuie interfatei eth0 adresa IP [Link] cu
subnetmask-ul de [Link] . Pentru a verifica configuratia interfetei vom
folosi tot comanda ifconfig astfel
# ifconfig eth0
eth0 Link encap 10Mps Ethernet HWaddr [Link]
inet addr [Link] Mask [Link]
UP BROADCAST RUNNING MTU 1500 Metric 1
RX packets 0 errors 0 dropped 0 overrun 0
TX packets 0 errors 0 dropped 0 overrun 0
Dupa cum observati comanda ifconfig seteaza automat adresa de broadcast
ca fiind adresa de clasa B . De asemenea valoarea MTU (maximum
transmision unit) care este marimea maxima a pachetului de date (datagram)
care strabate intefatam, este de 1500 byti.
In general se folosesc aceste valori implicite dar acestea se pot modifica in
cazul in care este nevoie.
Dupa desemnarea adresei IP si a subnetmask-ului va trebui instalata si o ruta
in kernel pentru reteaua care este conectata la eth0:

# route add -net [Link] netmask [Link]


S-ar putea sa vi se para putin ciudat cum determina kernelul pe ce interfata
este atasata acesta ruta acest lucru este foarte simplu, kernelul verifica toate
interfetele care sunt configurate
si compara adresele in acest caz

140

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

[Link] cu partea de network a adresei iar prin operatia de AND va


determina interfata care in acest caz corespunde cu eth0.
Vedeti ca apare parametrul -net acesta este folosit deoarece comada route nu
poate sa determine daca este vorba despre o retea sau despre o statie
Cand se da adresa in forma decimala comanda route incearca sa determine
daca este vorba de o retea sau de o statie cautand in partea de host a
[Link] partea de host este zero atunci kernelul va determina ca
destinatia este o retea iar daca nu este asa atunci este statie.
In cazul ca avem subneturi este necesara folosirea argumentului net pentru
ca exista posibilitatea de a se face greseli in determinarea destinatiei. Deci va
trebui sa spunem explicit rutei ca este network sau host prin acest argument
net.
Un alt mod de a indica retelele este scrierea in fisierul /etc/networks unde totul
este mult mai simplu ne fiind nevoie de argumentul net deoarece se stie
implicit ca este vorba de retele si nu de hosturi.

# route add brew-net


Acum ca am terminat configurarea de baza pentru interfata ethernet va trebui
sa testati configuratia. Acest lucru se face cu ajutorul comenzii ping. Din linia
de comanda tastati:

# ping vlager
PING vlager: 64 byte packets
64 bytes from [Link]: icmp_seq=0. time=11. ms
64 bytes from [Link]: icmp_seq=1. time=7. ms
64 bytes from [Link]: icmp_seq=2. time=12. ms
64 bytes from [Link]: icmp_seq=3. time=3. ms
^C
----[Link] PING Statistics---4 packets transmitted, 4 packets received, 0
round-trip (ms) min/avg/max = 3/8/12
In cazul ca nu primiti un raspuns asemanator inseamna ca configuratia
interfetei nu a fost facuta corect.
In cazul ca nu primiti nici un raspuns atunci verificati configuratia interfetei cu
comanda nebstat pe care o vom descrie mai tarziu. Raspunsul primit dupa
comanda ifconfig veti vedea daca au fost trmise si primite pachete pe interfata
respectiva.

141

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Ar mai trebui verificat si daca rutele au fost corect introduse in tabela de rutare
a kernelul folosind comanda route (cu argumentul n):

# route -n
Kernel routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
[Link] * [Link] UH 1 0 112 lo
[Link] * [Link] U 1 0 10 eth0
In acest mesaj apar mai multi parametrii:
U pentru interfetele active
H ruta catre o destinatie care reprezinta o retea (s-a introdus conadad route
cu argumentul net )

Fisierul network se afla in cazul distributiei Red Hat in directorul urmator


/etc/sysconfig. In acest fisier se afla inscrise detalii privind numele statiei,
default gateway si daca sistemul porneste componenta de network.
Un exemplu de astfel de fisier se obtine prin comanda:

# cat /etc/sysconfig/network iar outputul comenzii este urmatorul:


NETWORKING=yes
HOSTNAME=gw
GATEWAY=[Link]
Configuratia placilor de retea este salvata in fisierul ifcfg-eth [0-x] in functie de
numarul placii de retea din directorul /etc/sysconfig/network-scripts.
Eceste fisiere contin informatii despre adresa IP a interfetei, subnetmask-ul,
gateway-ul, adresa de network, tipul de adresare (static, dinamic) si daca
interfata porneste la bootare.
Continutul unui astfel de fisier este ca in urmatorul:

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=[Link]
BROADCAST=[Link]
NETMASK=[Link]
NETWORK=[Link]

142

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

unde device este numele interfetei (eth0), onboot = daca interfata este ridicata
la bootare, bootproto = tipul de adresare, ipaddr = adresa IP, netmask =
subnetmask-ul, broadcast = adresa de broadcast iar network = adresa de
retea.
Cand introduceti in system o placa de retea mai adaugati un astfel de fisier cu
datele despre acea placa si restartati servicieul de network prin comanda

[root@gw root]# /etc/rc.d/init.d/network restart

si noua placa se va activa. In cazul ca aceasta nu se activeaza verificati


setarile si rebootati calculatorul.
3. Setarea numelui statiei
Majoritatea, daca nu chiar toate aplicatiile se bazeaza pe dumneavoastra sa
setati numele statiei sub forma rezonablila.
Aceste setari sunt de obicei vacut in cursul instalatiei sau a procedurii de
bootare executand comanda hostname . Pentru a seta numele statiei station
1 scrieti comanda:
# hostname station1
De obicei numele statiei se pune in functie de numele domeniului dar fara ca
acesta sa fie inclus in el. De exemplu numele real al statieie este
[Link] dar el va fi scris doar station1. Numele complet cu care
apare oficial in fully qualified domain names (FQDNs) va fi [Link].
Numele local pe care il veti da va fi primul component al numelui iar al doilea
component este numel domeniului. Numel elocal este folosit frecvent pentru a
determina IP-ul statiei de aceea trebuie sa fiti suguri ca numel si adresa sunt
trcute in fisierul /etc/hosts pentru ca resolverul sa poata determina corect
adresa.
Se mai poate folosi si comansa domainname pentru determina kernelul sa
accepte numel domeniului ca fiind parte din FQDN.
In acest mod se va reusi combianrea intre hostname si domainname pentru a
obtine FQDN. Aceasta metoda este doar pe jumatate corecta pentru ca
domainname este in general folosit pentru a determina domenil NIS al statiei
care este total diferit de domeniul DNS de care apartine statia dumneavostra.
Se poate folosi comanda hostname cu argumentul --fqdn si se va printa
intrgul nume de fully qualifed domain name.

143

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

4. Serverul de Web Apache


Apache este cel mai cunoscut si folosit server de web din lumea Open Source.
Acest server este unul foarte stabil si rapid si contine o serie de facilitati
necesare rularii oricaror situri web.
Cele mai importante facilitati sunt:
suport pentru limbaje de programare web: html, asp, php, cgi, perl si
asapi
compatibilitate cu serverele de jsp Tom Cat
suport SSL/TSL
Pentru mai multe detalii vizitati site-ul [Link] .
4.1 Instalarea Apache
Pentru a putea instala un pachet sub linux trebuie sa aveti in prealabil
drepturile necesare daci va trebui sa va logati ca root. Aceasta operatie se
poate face asta din terminal daca nu esti logat ca root prin comanda:
$ su root
Presupunad ca ati downloadat deja sursele de la Apache
decompresa intai cu comanda:

acestea se vor

# tar xzpf apache-1.x.x


iar apoi schimbati directorul de lucru:
cd apache-1.x.x
Vom instala Apache in /usr/local/.
4.2 Structura Apache-ului
Acum este timpul sa explic putin structura lucrurilor instalate de Apache Toate
binarele si fisierele specifice versiunii vor fi instalate in:
/usr/local/apache1
Toate fisierele care nu sunt specifice versiunii cum ar fi cele de configurare, log
sau paginile web ale site-urilor ce vor fi gazduite le vom pune intr-un director

144

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

/www
Pentru efiecienta vom organiza astfel acest director:
/www
/www/conf
-- fisierele de configurare
/www/logs
-- logurile serverului web
/www/logs/site1
-- logurile pentru site1
/www/logs/site2
-- logurile pentru site2
/www/sites
-- site-urile gazduite
/www/sites/site1
-- paginile web pentru site1
/www/sites/site2
-- paginile web pentru site2
4.3 Configurare si compilare
Configurarea serverului inainte de compilare se face prin comanda:
./configure --prefix=/usr/local/apache1
module=rewrite --enable-module=status

--sysconfdir=/etc/conf

--enable-

Unde:
prefix= locul de instalare a serverului
sysconfig= locul unde se vor afla fisierele de configurare
enable= se vor activa modulele de care este nevoie
Urmatorul pas dupa configurare este compilarea programului si realizarea
[Link] lucru poate lua ceva timp pe masini mai vechi:
Se vor executa urmatoarele comenzi:
# make
# make install
4.4 Setarea serverului web Apache
In anumite cazuri serverul apache poate sa fie instalat si chiar sa ruleze pe
acea masina.
Se va verifica daca acesta ruleaza in acel moment prin comanda:
# ps ef | grep httpd

145

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Daca ai Apache instalat si deja il folosesti penru a indica unele site-uri atunci
probabil vei prefera sa pastrezi fisierle de configurare. de obicei aceste fisiere
se gasesc in:
/etc/httpd/conf
actualele versiuni de Apache instaleaza implicit si directorul conf in prefix in
cazul de fata noi am definit prefizul ca fiind
/usr/local/apache1
Daca faci un upgrade si vrei sa pastrezi aceleasi configurari (pornind de la
ideea ca este o versiune Apache compatibila) atunci copiaza peste cea noua:
cp /etc/httpd/conf/[Link] /usr/local/apache1/conf/
Deasemenea s-ar putea sa ai nevoie de existentele fisiere de configurare
pentru acces si srm:
cp /etc/httpd/conf/[Link] /usr/local/apache1/conf/
cp /etc/httpd/conf/[Link] /usr/local/apache1/conf/
Daca configurezi pentru prima data pe sistemul respectiv va trebui sa editezi
fisierul [Link]. Urmatoarele linii vor fi editate.
Daca vrei ca apache sa ruleze pe alt port decat cel obisnuit(80) atunci vei
schiba la linia unde este definit acel lucru. Porturile mai mici de 1024 pot fi
pornite numai de root. Port-ul 80 este cel mai convenabuil de folosite pentru ca
toate celelalte porturi trebuic explicate in browser, eg: [Link]
Port 80
Se poate schimba adresa de mail al administratorului in general folosindu-se
adresa webmaster@[Link]:
ServerAdmin remus@[Link]
Va trebui sa specifici numele calculatorului, s-ar putea sa trebuiasca sa stergi
semnul # . Daca vei configura "virtual hosts" cum vor fi descrise mai jos atunci
Apache va folosi "the virtual server" pe care il numesti aici ca default pentru
site.

146

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

ServerName [Link]
Vei modifica "document root" (va indica adresa unde sunt tinute site-urile):
DocumentRoot "/home/httpd/www"
si la linia 310:
<Directory "/www/sites">
Daca vrei sa poti schimba configuratiile apache pentru diferite directoare
atunci va trebui sa dai voie fisierelor .htaccess .
Pentru a face asta seteaza AllowOverride ca All
AllowOverride All
Fisierul default va fi [Link]. Poti modifica sau adauga alte fisiere:
DirectoryIndex [Link] [Link]
Daca nu ai prea multi vizitatori si vrei sa stii de unde sunt ei atunci seteaza la
linia 450 ca fiind on. Setandu-l on va incarca mai mult serverul pentru a afla ip
calculatoarelor care se conecteaza .
HostnameLookups On
4.5 Rularea programului Apache
In cazul care pe server ruleaza o alta versiune aceasta va trebui sa fie oprita
pentru a merge mai departe.. Exista multe modalitati pentru a face asta, insa o
cale mai rapida ar fi:
killall httpd
Pornirea noului tau server este simpla:
cd /usr/local/etc/httpd/bin
./apachectl start
apachectl este cea mai simpla cale pentru a porni sau opri serverul manual.
Ajuta-te de help-ul sau daca te incurci pe undeva:
./apachectl help
5. SAMBA
Samba foloseste protocolul SMB pentru a oferi acces la fisiere si imprimante
printr-o retea. Sistemele de operare care suporta acest protocol includ si
Microsoft Windows (prin Network Neighborhood), OS/2 si Linux.
5.1. Pentru ce se foloseste Samba?

147

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Instrumentul Samba este util daca aveti intr-o retea atat masini Windows cat si
Linux. Samba permite fisierelor si imprimantelor sa fie folosite in comun de
catre toate sistemele din retea. Daca vreti sa accesati fisiere numai intre
sisteme Red Hat Linux atunci aveti nevoie de NFS (Network File System).
5.2. Configurarea Samba
Samba foloseste /etc/samba/[Link] ca fisier de configurare. Daca schimbati
informatia din acest fisier, modificarile nu vor avea efect pana cand nu
restartati daemonul Samba cu comanda service smb restart.
Fisierul de configurare default ([Link]) in Red Hat Linux 7.2 permite
utilizatorilor sa-si vada directoarele Linux home ca un share Samba pe o
masina Windows dupa ce s-au logat folosind username-ul si parola. De
asemenea, imprimantele configurate pe Linux apar ca imprimante share
Samba. Cu alte cuvinte, puteti sa atasati o imprimanta sistemului Red Hat
Linux si sa tipariti la ea de pe o masina Windows prin retea.
Pentru a specifica workgroup-ul Windows si sirul de caractere de descriere,
editati urmatoarele linii in fisierul [Link]:
workgroup = WORKGROUPNAME
server string = BRIEF COMMENT ABOUT SERVER
Inlocuiti WORKGROUPNAME cu numele workgroupului Windows caruia ii
apartine sistemul respectiv. BRIEF COMMENT ABOUT SERVER este
optional, reprezinta comentariul Windows despre sistemul Samba.
Pentru a crea un director accesaibil in retea Samba pe un sistem Linux,
adaugati urmatoarea sectiune fisierului [Link] (in functie de nevoile si
sistemul vostru):
[sharename]
comment = Introduceti un comentariu aici
path = /home/share/
valid users = dan elena alex
public = no
writable = yes
printable = no
create mask = 0765

148

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Exemplul de mai sus permite utilizatorilor dan, elena si alex sa citeasca si sa


scrie in directorul /home/share, pe un server Samba, printr-un client Samba.
5.3. Conectarea la un share Samba
Pentru a realiza conectarea la un share Linux Samba de pe o masina
Microsoft Windows folositi Network Neighborhood sau Windows Explorer.
Pentru a realiza conectarea la un share Samba de pe un sistem Linux, scrieti
urmatoarea comanda:
smbclient //hostname/sharename U username
Va trebui sa inlocuiti hostname cu numele sau adresa IP a serverului Samba la
care vreti sa va conectati, sharename cu numele directorului share pe care
vreti sa-l rasfoiti iar username cu numele utilizatorului Samba pentru sistem.
Introduceti parola corect sau apasati Enter daca nu este ceruta nici o parola
pentru user.
Daca vedeti promptul smb:\> v-ati logat cu succes. Odata ce sunteti conectati,
tastati help pentru a obtine o lista de comenzi.
Pentru a iesi din smbclient, tastati exit la promptul smb:\>.
5.4. Folosirea Samba cu Windows NT 4.0 si Windows 2000
Protocolul Microsoft SMB folosea parole plaintext. Cu toate acestea, Windows
2000 si Windows NT 4.0 cu Service Pack 3 sau mai mare folosesc parole
Samba incriptate. Pentru a folosi Samba intre un sistem Red Hat Linux si un
sistem Windows 2000 sau Windows NT 4.0 Service Pack 3 +, puteti fie sa
editati registrii Windows sa foloseasca parole plaintext sau sa configurati
Samba pe sistemul Linux sa foloseasca parole incriptate. Daca va hotarati sa
modificati registrii, trebuie sa faceti acest lucru pentru toate masinile Windows
NT sau 2000- este riscant si poate cauza conflicte.
Pentru a cofigura Samba pe Linux pentru a folosi parole incriptate, urmatii
pasii:
1. Creati un fisier de parole separat pentru Samba. Pentru a crea unul pe baza
fisierului prezent /etc/passwd, scrieti in linia de comanda:

149

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

cat /etc/passwd | [Link] > /etc/samba/smbpasswd


Scriptul [Link] este instalat in directorul /usr/bin odata cu pachetul
samba.
2. Folositi comanda chmod 600 /etc/samba/smbpasswd pentru a schimba
permisiunile asupra fisierului de p[arole Samba astfel incat doar root sa aiba
drept de scriere si citire.
3. Scriptul nu copiaza parolele utilizatorilor in noul fisier. Pentru a seta fiecare
parola a utilizatorilor Samba, folositi comanda smbpasswd username (inlocuiti
username cu username-ul fiecarui utilizator). Un cont de utilizator Samba nu
va fi activ pana cand o parola Samba nu este setata pentru el.
4. Urmatorul pas consta in activarea parolelor incriptate in fisierul de
configurare Samba. In fisierul [Link], eliminati comentariul pentru liniile
urmatoare:
encrypt password = yes
smb passwd file = /etc/samba/smbpasswd
5. Pentru ca modificarile sa aiba efect, reporniti Samba cu comanda service
smb restart.
6. Network File System (NFS)
NFS reprezinta o modalitate de a utiliza in comun fisiere intre masini intr-o
reta, ca si cum fisierele s-ar afla pe pe hard-ul local. Red Hat Linux poate fi
atat un server NFS cat si un client NFS, ceea ce inseamna ca poate sa
exporte sisteme de fisiere catre alte sisteme si poate monta sisteme de fisiere
exportate de alte masini.
6.1. Utilizarea NFS.
NFS este util pentru a utiliza in comun directoare si fisiere de catre mai multi
utilizatori de pe aceeasi retea. De exemplu, un grup de utilizatori care lucreaza
la acelasi proiect pot avea acces la fisierele acelui proiect folosind o portiune
comuna din filesystem-ul NFS (cunoscut in mod obisnuit ca NFS share) montat
in directorul /myproject. Pentru a accesa fisierele share, utilizatorul intra in
directorul /myproject de pe masina sa. Nu exista parole de introdus sau

150

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

comenzi speciale de tinut minte. Utilizatorul lucreaza ca si cum directorul ar fi


pe calculatorul sau.
6.2. Montarea sistemului de fisiere NFS
Folositi comanda mount pentru a monta un sistem de fisiere NFS de pe o alta
masina:
mount big:/mnt/export /mnt/local
Atentie: directorul in care se monteaza pe masina locala (/mnt/local in
exemplul de mai sus) trebuie sa existe.
In aceasta comanda, big este numele serverului de fisiere NFS, /mnt/export
este sistemul de fisiere pe care big il exporta iar /mnt/local este directorul de
pe calculatorul local in care vrem sa montam sistemul de fisiere. Dupa ce
ruleaza comanda mount (daca avem drepturile corespunzatoare de la big)
putem tasta comanda ls /mnt/local si obtinem un listing cu fisierele din
/mnt/export de pe big.
6.3. Montarea sistemelor NFS folosind /etc/fstab
O cale alternativa pentru a monta un share NFS de pe o alta masina consta in
adaugarea unei linii la fisierul /etc/fstab. Linia trebuie sa declare hostname-ul
serverului NFS, directorul de pe server care se exporta si directorul de pe
masina locala in care se monteaza sistemul de fisiere. Trebuie sa fiti
administrator pentru a modifica fisierul /etc/fstab.
Sintaxa generala pentru o linie in /etc/fstab este urmatoarea:
server:/usr/local/pub
rsize=8192,wsize=8192,timeo=14,intr

/pub

nfs

Punctul de montare /pub trebuie sa existe pe calculatorul vostru. Dupa


adaugarea liniei la /etc/fstab, puteti executa comanda mount /pub iar mount
point-ul /pub va fi montat de pe server.
6.4. Montarea sistemelor de fisiere NFS folosind autofs

151

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

O alta optiune pentru montarea unui share NFS este folosirea autofs. Autofs
foloseste daemonul automount pentru a gestiona punctele de montare prin
montarea lor automata cand sunt accesate.
Autofs consulta fisierul de configurare a master map /etc/[Link] pentru a
determina care mount point-uri sunt definite. Porneste apoi un un proces
automount cu parametrii corespunzatori pentru fiecare mount point. Fiecare
linie in master map defineste un mount point si un fisier separat map care
defineste sistemele de fisiere care trebuie montate sub acest mont point. De
exemplu, fisierul /etc/[Link] poate defini punctele de montare in directorul
/mnt; aceasta relatie va fi definita in fisierul /etc/[Link].
Fiecare inregistrare in [Link] are trei campuri. Primul camp este mount
point-ul. Al doilea camp este locatia fisierului map, al treilea camp este
optional. Acesta poate contine informatii precum o valoare timeout.
De exemplu, pentru a monta directorul /project11 de pe masina din retea
[Link] in mount point-ul /mnt/myproject pe calculatorul vostru, adaugati
urmatoarea linie in [Link]:
/mnt

/etc/[Link] timeout 60

Adaugati urmatoarea linie in /etc/[Link]:


myproject -rw,soft,intr,rsize=8192,wsize=8192 [Link]:/project11
Primul camp in /etc/[Link] este numele subdirectorului /mnt. Acest director
este creat dinamic de automount. Ar putea sa nu existe pe masina client. Al
doile camp contine optiuni de montare precum rw pentru drepturi de citire si
scriere. Al treilea camp reprezinta locatia exportului NFS care include
hostname-ul si directorul.
Atentie: directorul /mnt trebuie sa existe in sistemul de fisiere local. Ar putea sa
nu existe subdirectoare in /mnt pe sistemul local.
Autofs este un serviciu. Pentru a porni acest serviciu tastati urmatoarele
comenzi:
service autofs restart
Pentru a afisa mount point-urile active, tastati urmatoarea comanda:

152

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

service autofs status


Daca modificati fisierul de configurare /etc/[Link] in timp ce autofs
ruleaza, trebuie sa cereti daemonului automount sa reporneasca prin
comanda:
service autofs reload
Folositi ntsysv (cu optiuni sau fara) pentru a controla serviciile care pornesc la
bootare. Cititi manualul ntsysv.
6.5. Exportulsistemelor de fisiere NFS
Fisierul /etc/exports controleaza care sisteme de fisiere vreti sa fie exportate.
Formatul sau este urmatorul:
directory

hostname(options)

Optiunile nu sunt obligatorii. De exemplu:


/mnt/export

[Link]

va permite utilizatorilor din [Link] sa monteze /mnt/export cu


permisiunile implicite read-only, insa:
/mnt/export

[Link](rw)

va permite utilizatorilor din [Link] sa monteze /mnt/export cu


privilegiile read-write.
Atentie la spatii in fisierul /etc/exports. Daca nu sunt spatii intre hostname si
optiunile din paranteze acestea se aplica doar hostname-ului respectiv. Daca
exista spatii acestea se aplica tuturor (restul lumii).
6.6. Pornirea/oprirea serverului
Pe serverul care exporta sistemele de fisiere NFS trebuie sa ruleze serviciul
nfs. Afisati starea daemonului NFS cu comanda:
/sbin/service nfs status

153

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Porniti daemonul NFS cu comanda:


/sbin/service nfs start
Opriti daemonul NFS cu comanda:
/sbin/service nfs stop
Pentru a porni serviciul nfs la bootare folositi comanda:
/sbin/chkconfig level 345 nfs on
Acelasi rezultat se poate obtine si folosind ntsysv pentru a configura serviciile
care pornesc la bootare.

154

Copyright CREDIS 2005

Remus Grobei
Mircea Florescu

Sistemul de operare LINUX

Managerul de studii st la dispoziia dumneavoastr pentru informaii,


consiliere i suport.

155

Copyright CREDIS 2005

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