237524694 linux carte de baza

157
Introducere in Sistemul de Operare Linux Universitatea din Bucureşti Editura CREDIS

Upload: morgoci-igor

Post on 18-Jan-2016

104 views

Category:

Documents


17 download

TRANSCRIPT

Page 1: 237524694 Linux Carte de Baza

Introducere in Sistemul de Operare Linux

Universitatea din Bucureşti Editura CREDIS

Page 2: 237524694 Linux Carte de Baza
Page 3: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

1 Copyright © CREDIS 2005

Acest material este destinat uzului studenţilor Departamentului de Învăţământ la Distanţă CREDIS. Reproducerea integrală sau parţială a acestui material este posibilă doar cu acordul scris al Departamentului ID – CREDIS.

Universitatea din Bucureşti Editura CREDIS Bd. Mihail Kogălniceanu, Nr. 36-46, Corp C, Etaj I, Sector 5 Tel: (021) 315 80 95; 031 405 79 40 Fax: (021) 315 80 96 Email: [email protected]

Page 4: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

2 Copyright © CREDIS 2005

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.

Page 5: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

3 Copyright © CREDIS 2005

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?

Page 6: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

4 Copyright © CREDIS 2005

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 PC-urile compatibile Intel insa ruleaza la fel de bine pe numeroase alte platforme hardware, de la jucarii la mainframe-uri.

Page 7: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

5 Copyright © CREDIS 2005

- 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 X-Windows, 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 non-comerciala); - WordPerfect (cunoscutul procesor de text, disponibil si sub Linux); - Netscape Navigator, Opera (browsere Web); - Oracle (baze de date); - Mathematica (calcul simbolic, etc.).

Page 8: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

6 Copyright © CREDIS 2005

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: http://www.linux.org http://www.linuxhq.com http://www.boutel.com/lsm http://sunsite.unc.edu/LDP/ Informatii despre distributii Linux: http://www.infomagic.com http://www.cdrom.com http://www.redhat.com htttp://www.caledra.org http://www.debian.org http://www.suse.com

Page 9: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

7 Copyright © CREDIS 2005

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 CD-ROM-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.

Page 10: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

8 Copyright © CREDIS 2005

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\boot.img. 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 boot.img 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=boot.img 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) boot.img cu supp.img (if=supp.img).

Odata ce aveti discheta puteti instala Red Hat Linux de pe CD.

Page 11: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

9 Copyright © CREDIS 2005

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 rescue.img. 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.

Page 12: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

10 Copyright © CREDIS 2005

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.

Page 13: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

11 Copyright © CREDIS 2005

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.

Page 14: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

12 Copyright © CREDIS 2005

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

Page 15: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

13 Copyright © CREDIS 2005

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).

Page 16: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

14 Copyright © CREDIS 2005

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 Boot Start End Blocks Id System /dev/sda1 * 1 505 524916 83 ext2 /dev/sda2 506 1014 529105+ 5 ext2 /dev/sda5 506 886 396018 83 ext2 /dev/sda6 887 1011 129906 82 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:

Page 17: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

15 Copyright © CREDIS 2005

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 heads, 63 sectors, 1014 cylinders Units = cylinders of 2079 * 512 bytes Device Boot

Start End Blocks Id System

/dev/sda1 1 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

Page 18: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

16 Copyright © CREDIS 2005

Boot /dev/sda1 1 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

Page 19: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

17 Copyright © CREDIS 2005

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 efax program pentru trimis si primit faxuri, cu o interfata grafica

acceptabila, care il face mai usor de folsit lrzsz o colectie de comenzi (rz, sz, etc) folosite pentru download si

upload de fisiere. Multe dintre comenzi sint folosite de catre alte programe (e.g. minicom)

minicom program de comunicatii foarte util (comunica cu dispozitive 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. postgresql pachetul principal, incluzind si serverul de PostgreSQL postgresql-clients

include doar clientii si librariile necesare pentru accesarea serverului de PostgreSQL. Daca vreti doar sa va conectati la un alt server, acest pachet contine tot ce aveti nevoie

postgresql-data

este recomandat sa instalati acest pachet deoarece contine structura bazei de date initiala. Daca totusi va veti hotari sa nu-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. emacs editor cu facilitati de mail, news, etc, poate rula si sub X emacs-el contine sursele folosite in pachetul de mai sus. Nu aveti nevoie

de el decit daca doriti sa modificati acel pachet. emacs-nox o varianta mai mica a emacs-ului, fara suport pentru X emacs-X11 o varianta a emacs-ului conceputa special pentru X jed editor relativ mic si rapid ce contine facilitati speciale de editare

a surselor in C, C++ si alte limbaje de programare. Poate emula Emacs, WordStar, etc.

jed-xjed jed pentru X Windows

Page 20: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

18 Copyright © CREDIS 2005

joe editor prietenos si usor de folosit, o alegere buna pentru incepatori.

vim-color versiune imbunatatita a vi-ului, editor care vine odata cu marea 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. dosemu emulator de MS-DOS dosemu-freedos

emulator mai performant decit dosemu, fiind compatibil cu versiuni mai noi ale DOS-ului.Contine utilitare de FreeDos.

xdosemu emulator de DOS sub X, cu suport pentru grafica si mouse Applications/Engineering units converteste diferite unitati de masura in echivalentul lor in

Sistemul International Applications/Graphics ghostscript intelege fisiere PostScript, formate grafice uzuale, suport

pentru imprimante color ghostscript-fonts

fonturi folosite de ghostscriptgiftrans - poate converti si lucra cu imagini de la linia de comanda, fiind foarte folosit la realizarea imaginilor transparente pe paginile de web

libgr-progs utilitare pentru lucrul cu jpeg-uri 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. fetchmail program pentru POP3, IMAP, etc. pine este programul de posta cel mai des folosit, mai ales de

incepatori. Pachetul contine si un editor, pico, la fel de usor de folosit.

Applications/Math gnuplot program de trasat grafice, pe ecran sau intr-un fisier Applications/Networking arpwatch utilitar ce urmareste activitatea placii de retea. libpcap ofera o interfata independenta de sistem ce urmareste traficul

pachetelor prin placa de retea. Este folosit de alte utilitare cum

Page 21: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

19 Copyright © CREDIS 2005

ar fi tcpdump si arpwatch lynx browser de web in mod text. Nu poate vizualiza imaginile, dar

este foarte folosit pentru navigare pe Internet de la consola Linux.

ncftp client de ftp mult imbunatatit. Dintre facilitati mentionam: recursivitate, login automat, istoria comenzilor, etc. Incercati si veti simti diferenta)

tcpdump afiseaza headerele pachetelor pe interfata corespunzatoare 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 groff-gxditview

pachetul contine programul gxditview, care este folosit la formatarea si vizualizarea documentelor groff in X. De exemplu paginile de manual pot fi citite cu acest program.

sgml-tools program de formatare a textului care va permite sa obtineti o varietate de formate: PostScript,dvi, HTML, etc

tetex utilitar folosit pentru obtinerea fisierelor .dvi tetex-xdvi ruleaza sub X si permite un preview a fisierelor .dvi texinfo program de formatare a textului folosit de GNU foarte mult la

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 aumix controleaza mixerul placii de sunet (CD Player, volume,

microphone, etc) cdp CD Player pentru consola. sox convertor intre diferite formate de sunet Base/Kernel kernel-headers

fisierele header in C care definesc structurile si constantele care sint necesare la compilarea unui program. Acest program 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 sendmail-cf contine fisierele de configurare necesare generarii fisierului

sendmail.cf. Aveti nevoie de acest pachet daca doriti sa reconfigurati sendmail-ul, ceea ce se intimpla destul de des

sendmail-doc documentatie pentru sendmail

Page 22: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

20 Copyright © CREDIS 2005

uucp (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. autoconf utilitar de configurare a surselor automake utilitar pentru generarea fisierelor Makefile libtool scripturi de configurare automata in vederea construirii unei

librarii make compilare si linkeditarea surselor pmake versiune imbunatatita a lui make 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

gdb unul din cele mai eficiente debuggere pentru C/C++ strace afiseaza pe ecran toate apelurile de sistem ale unui proces in

executie Development/Languages basic interpretor pentru Basic, un limbaj mai vechi de programare bin86 assambler de care aveti neaparata nevoie daca doriti sa va

recompilati kernelul ctags utiliatare pentru programatorii ce folosesc limajul C egcs experimantal GNU Compiler System, folosit de multe aplicatii,

de obicei merita sa fie instalat egcs-c++ suport C++ pentru pachetul gcc care va fi prezentat mai jos.

Pachetul nu include o librarie C++ standard, care trebuie selectata mai jos.

egcs-g77 suport Fortran 77 pentru gcc egcs-oblc alte faciltati pentru gcc f2c converteste surse de Fortran in surse de C fort77 driver pentru f2c gcc complilator de C, care nu at trebui sa lipseasca de pe nici un

sistem Linux guavac compilator de Java, scris complet in C, si deci portabil pe mai

Page 23: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

21 Copyright © CREDIS 2005

multe platforme guile-devel librarii si headere pentru guile kaffe o masina virtuala construita pentru a executa cod Java p2c-devel programe si headere pentru p2c (transforma surse Pascal in C

) python-devel librarii si headere pentru python(limbaj de programare) python-docs documentatie pentru python tcl Tool Command Language. Un limbaj pentru scripturi foarte

popular, folosit pentru a scrie mici aplicatii grafice tkinter interfata garfica pentru Python, bazata pe tcl/tk, si folosita de

foarte multe programe de configurare cu interfata grafica umbscheme interpretor pentru Scheme Programming Language, un limbaj

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 e2fsprogs-devel

utilitare pentru crearea, verificarea si repararea sistemului de fisiere ext2

faces-devel contine librarii statice pentru xface, un utilitar folosit de programul de mail exmh pentu vizualizarea unor attachmenturi.

gd-devel librarii pentru gd, program de manipulat imagini gdbm-devel librarii pentru development-ul bazelor de date. glibc-debug librarii folosite de debuggere atunci cind urmaresc apelurile de

sistem dintr-o librarie, nu un program in sine. glibc-devel pachet absolut necesar in cazul in care doriti sa compilati

programe cu ajutorul gcc-ului. In general acest pachet trebuie instalat.

glibc-profile Alte librarii necesare gcc-ului, de obicei bine de instalat. gmp-devel Librarii, headere si documentatie pentru gmp libjpeg-devel Pachetul include tot ce aveti nevoie pentru a putea dezvolta

propriile dumnevoastra aplicatii pentru manipulat jpeg-uri. libpng-devel Headere si librarii folosite doar pentru dezvoltarea programelor

ce folosesc PNG (program pentru crearea si manipularea imaginilor PNG - format asemnator gif-ului)

libstdc++-devel

Implemantarea GNU a librariilor standard C++, folosite pentru dezvoltarea limbajului C++

Page 24: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

22 Copyright © CREDIS 2005

libungif-devel Analog libjpeg-ului, dar pentru formate grafice gif postgresql-devel

Librarii si headere necesare compilarii aplicatiilor ce comunica direct cu serverul de PostgreSQL

rpm-devel Include o librarie C care face mai usoara pentru utilizator manipularea pachetelor rpm, precum si scrierea unor aplicatii grafice pentru instalarea acestora.

svgalib-devel Necesar dezvoltarii aplicatiilor ce utilizeaza libraria SVGAlib. Ea este asemanatoare lui graph din C pentru DOS, permitind utilizarea ecranului in mod grafic (nu text) fara a fi nevoie de X Windows

xpm-devel Permite realizarea aplicatiilor ce pot vizualiza BMP-uri in X zlib-devel Folosit de programele ce utilizeaza zlib (librarie pentru

arhivare) Development/System linuxconf-devel

Pachetul ofera componente necesare dezvoltarii modulelor linuxconf-ului in afara acestuia. Pachetul este de asemenea utilizat in dezvoltarea aplicatiilor ce folosesc interfata asemanatoare linuxconf-lui (utilitar folosit pentru configurarea linux-ului, cu o grafica prietenoasa)

Documentation faq Frequently Asked Questions. Este una din cele mai bune surse

de informatii despre Linux howto Cea mai buna documentatie de Linux howto-chinese, etc.

Aceste pachete contin HOWTO-urile in diferite limbi, precum si cele in limba engleza, dar celelalte formate disponibile sint intr-un alt format decit cel text: dvi html ps sgml

indexhtml pagina de index install_guide generalitati despre instalarea Linuxului si citeva idei de inceput man_pages paginile de manual indispensabile unui utilizator de linux nag Network Administrator's Guide rhl_install-guide_en

ghid de instalare pe i386

sag System Administrator's Guide Libraries gpm suport pentru mouse, permite cut si paste, etc gpm-devel va permite realizarea propriilor aplicatii care sa utilizeze

mouse-ul. gsl GNU Scientific Library. Contine functii cu un caracter stiintific. libjpeg librarii si clienti pentru manipularea jpeg-urilor

Page 25: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

23 Copyright © CREDIS 2005

ligkpeg60 idem libtermcap-devel

librarii si headere ce permit scrierea aplicatiilor ce acceseaza baza de date termcap.

libtiff permite lucrul cu imagini tiff libungiff la fel, pentru gif-uri ncurses3 alta librarie ncurses, de obicei se instaleaza. p2c transforma o sursa Pascal in C svgalib libraria ce permite lucrul cu ecranul in mod grafic 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. bootparamd permite incarcarea sistemului pe statii fara hard-disk direct de

pe server finger protocol care pune la dispozitia utilizatorilor informatii despre

ceilalti utilizatori, de pe reteaua locala, sau de pe alte retele ftp client de ftp pentru linia de comanda. Ftp( File Transfer

Protocol) este un protocol folosit pentru transferul de fisiere, foarte des utilizat

netkit-base include ping si ietd, doua programe foarte des folosite pe retele.

ntalk contine un client si un daemon de talk. (cu ajutorul lui puteti 'vorbi' pe internet cu alti utilizatori)

pidentd daemon care afla numele utilizatorului care a deschis o anumita conectie TCP

routed folosit pentru intretinerea routelor pe o retea. Routele sint reguli, sau 'cai de acces' a pachetelor intre 2 calculatoare.

rsh o colectie de programe ce permite logarea pe alt server rusers serverul si clientul de rusers (ambele incluse in acest pachet)

permit utilizatorilor sa afle cine este logat pe diferite calculatoare din reteaua locala

rwall clientul de rwall permite trimiterea unor mesaje utilizatorilor de pe un calculator-destinatie. Serverul de rwall nu este initial

Page 26: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

24 Copyright © CREDIS 2005

pornit pe sistemele RedHat, asa ca daca veti dori sa folositi acest serviciu, va trebui sa il porniti dumnevoastra

rwho va arata toti utilizatorii de pe toate calculatoarele de pe reteaua interna care ruleaza daemonul de rwho

samba client si server de SMB - serviciu foarte important oferit de 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

telnet client si server pentru logarea pe alte retele. Este foarte popular pe toate retelele, cu toate ca nu este sigur din punct de vedere al securitatii.

tftp Trivial File Transfer Protocol - folosit de obicei pentru a boot-a de pe statiile fara hard-disk. Masurile de securitate sint slabe, si nu ar trebui folosit decit daca este neaparata nevoie.

Networking/Admin anonftp Pachetul contine fisierele necesare pentru a permite accesul

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)

caching-nameserver

include fisiere de configurare pentru a va face sistemul sa se comporte ca server de nume (acest lucru poate duce la marirea vitezei, prin rezolvarea mai rapida a unor nume (transformarea lor in ip-uri)

nfs-server-clients

Client de NFS (Network File System)

tcp-wrappers Cu ajutorul acestui pachet puteti monotoriza si filtra cereri sin afara pentru anumite servicii de retea: talk, telnet,ftp, finger, etc

Networking/Daemons amd-utils contine amd-ul si citeva pachete aditionate. Amd este varianta

Berkeley(distribuie de Unix) a daemonului de automount apache Server de web, foarte popular. apache-devel Contine sursele de Apache si librarii necesare dezvoltarii

aplicatiilor care il folosesc autofs permite montarea automata a unor device-uri si demontarea lor

automata daca nu mai sint folosite dupa un anumit timp bind contine serverul de named - folodit pentru a transforma

Page 27: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

25 Copyright © CREDIS 2005

adresele de IP in nume, si invers bootp Server pentru protocolul bootp care permitem obtinerea

automata a unui IP de catre un calculator de la un server de DHCP

cleanfeed filtru pentru serverul INN (stiri) dhcp serverul de dhcp (Dynamic Host Control Protocol) gated demon de rouatare care poate lucra cu mai multe protocoale imap server de POP3 (Post Office Protocol) cu ajutorul caruia va

puteti citi posta de pe alte servere, fara a avea un cont de shell inn Server de stiri, probabil nu veti avea nevoie de el intimed server care 'spune' tuturor calculatoarelor de pe acea retea

data. Este folosit pentru a sincroniza data tuturor statiilor. mars_nwe emulator de server Novell. mod_perl modul pentru serverul Apache cu ajutorul caruia puteti folosi

limbajul perl in fisierele html mod_php idem, pentru php mod_php3 idem, pentru php3 nfs_server server de nfs, cu ajutorul caruia puteti exporta diferite sisteme

de fisiere pe alte calculatoare portmap se ocupa de conectiile RPC, folosite de diferite protocoale

cum ar fi NFS, NIS ppp daemon si documantatie de ppp (Point to Point Protocol) -

aveti nevoie de el in cazul cind doriti sa va conectati la un alt calculator prin modem

squid proxy server pentru clienti de web. Nu aveti nevoie de el decit daca stiti cu adevarat ce faceti ;)

squid-novm versiune de squid care foloseste mai putina memorie novm=No Virtual Memory.

ucd-snmp Derivat al SNMP (Simple Network Management Protocol) folosit uneori pentru administrarea retelei si a conturilor

wu-ftpd server de ftp. xntp3 daemon si utiliare pentru a va sincroniza calculatorul cu

standardul de data UTC ypserv server de NIS ce permite distribuirea pe retea a hostname-ului

si alte informatii de acest gen Networking/Development bind-devel include fisiere si librarii necesare dezvoltarii pachetului bind. Networking/Utilities bind-utils utilitare care va permit sa aflati ip-ul unui host si alte programe

de interogare a unui server de nume

Page 28: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

26 Copyright © CREDIS 2005

comanche COnfiguration MANager apaCHE - program de configurare a serverului de web Apache

dip utilizat pentru a stabili o conexiune prin modem fwhois aflati informatii despre utilizatori din intreaga lume ltrace 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

mgetty permite logarea prin intermediul unei linii seriale mgetty-sendfax

include suport pentru fax (la trimitere si primire)

nc NetCat este un client pentru retea ce poate deschide o conectie tcp pe un port arbitrar, asculta pe un anumit port, etc

ncpfs program de configurare a sistemului de fisiere ncpfs (NCP este protocolul folosit de clientii Novell NetWare pentru a se conecta la servere de NetWare)

rdate puteti accesa data si ora de pe alt calculator din retea. rdist pastrati copii identice ale unor fisierepe mai multe host-uri traceroute afiseaza 'drumul' packetelor TCP/IP pina la destinatie pe

interfata specificata ucd-snmp-devel

librarii pentru aplicatii pe baza de ucd (administrare de retea)

ucd-snmp-utils

utilitare pentru ucd-snmp

yp-tools o implementare a clientilor de NIS pentru linux 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 command.com-ului. mc (Midnight Commander) un shell grafic, seamana foarte mult cu

Norton Commander din Dos, cu multe alte facilitati cum ar fi: ftp, lucrul cu fisiere html, pachete rpm, etc

zsh o versiune modificata a sh-ului. Include facilitati din alte shelluri 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 lsof listeaza fisierele deschise de procese mtools utilitare pentru accesarea disketelor ms-dos fara a fi montate. sharutils utilitare pentru codarea si decodarea fiserelor text sau binare

Page 29: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

27 Copyright © CREDIS 2005

intr-un format text special, folosite mai ales acolo unde trimiterea attachment-urilor prin mail este mai dificila sau nu este posibila deloc

smbfs programe pentru montarea fisierelor de sistem de pe un server de SMB

symlinks verifica posibilele probleme ale linkurilor simbolice tree echivalentul comenzii dos 'tree' Utilities/System control-panel un meniu din care se lanseaza utiliatare grafice de configurare dump folosit pentru a face backup la o partitie ext2 glint Graphical Linux INstalation Tool – utilitar grafic pentru

instalarea rpm-urilor helptool interfata grafica pentru man-uri si celelate documente din

/usr/doc ipfwadm 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

kernelcfg utilitar grafic pentru configurarea kernelului lpr server pentru lucrul cu imprimanta netcfg interfata grafica pentru configurarea retelei popt librarie C folosita de programele care isi iau parametri de la

linia de comanda, probabil veti avea nevoie de ea . printtool interfata grafica pentru configurarea imprimantei procinfo pachet care va permite sa aflati informatii importante de cele

mai multe ori din /proc rhbackup puteti face backup-uri locale sau pe alte calculatoare rsh-printfilters filtru pentru tiparirea la imprimanta a diferitelor formate sliplogin folosit pentru stabilirea unei conexiuni SLIP (pe portul serial) timetool interfata grafica pentru setarea datei si a orei tksysv interfata grafica ce va permite sa alegeti ce servicii trebuie

pornite automat in fiecare runlevel usernet aplicatii pentru controlul intefetelor de retea. Utilizatorul poate

da jos o astfel de interfata, sau o poate 'ridica' Utilities/Text diffstat statistici asupra unui patch generat de diff m4 interpretor de scripturi mawk program pentru procesare text nenscript filtru pentru tiparire. Poate converi un document ASCII in

PostScript

Page 30: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

28 Copyright © CREDIS 2005

patch este folosit la patch-uirea programelor perl-MD5 modul de perl X11/Applications gimp program profesional de grafica cu nenumarate posibilitati de

tranformare, retusare si prelucrare a imaginilor. Merita incercat :)

gimp-devel librarii pentru scrierea de plugin-uri si extenstii pentru GIMP gimp-libgimp librarii ce permit comunicarea dintre GIMP si alte aplicatii ImageMagick Program pentru vizualizat si convertit imagini sub X netscape-common

fisiere folosite atit de Netscape Navigator cit si de Netscape Communicator

netscape-communicator

Cel mai bun browser de Web, suporta cele mai noi standarde HTML, Java, JavaScript.

netscape-navigator

la fel ca si N. Communicator, fara a avea clienti de stiri si de mail

usermode citeva utilitare garfice pentru a ajuta utilizatorii sa acceseze discheta, sa-si schimbe numele, numarul de telefon, etc

xanim viewer de gifuri animate xfm file manager pentru X, ideea de baza este asemanatoare

Explorerului din Win95 xloadimage incarca imagini in ferestre de X, le poate pune ca background,

etc xpdf viewer mic si eficient pentru documente PDF xv viewer de imagini in numeroase formate, mic si usor de folosit,

cu rezultate deosebite . Merita incercat X11/Libraries gnome-core librarii si programe de baza necesare instalarii GNOME-ului

(vezi ultima sectiune) gtk+ librarii pentru X scrise initial pentru GIMP (program de grafica),

acum folosite si de alte aplicatii gtk+-devel librarii di headere pentru development ImageMagick-devel

Include librarii pentru a va permite sa realizati propriile aplicatii folosind ImageMagick-ul

imlib librarie folosita de X pentru lucrul cu imagini imlib-cfgeditor va permite sa controlati modul in care imlib-ul foloseste culorile imlib-devel Librarii, headere si documentatie pentru imlib nls folosit de programe mai vechi(eg Netscape 3.0) xpm Vizualizeaza bitmap-uri X11/Utilities ee Electric Eyes - image viewer

Page 31: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

29 Copyright © CREDIS 2005

gnome-linuxconf

Interfata grafica pentru linuxconf

procps-X11 utilitare pentru monotorizarea proceselor rxvt emuleaza un terminal in X Windows Xconfigurator Program de configuare a X-ului. De obicei acesta este

programul pe care il rulati inainte de a lansa pentru prima data X-ul

xosview un grafic ce indica nivelul de utilizare a resurselor sistemului la un moment dat: CPU, RAM, placa de retea, etc

xscreensav screen-savere xsysinfo grafic ce va arata cum evolueaza gradul de folosire a

resurselor fizice xtoolwait lanseaza un program si asteapta sa i se aloce o fereastra, fiind

folosit in scripturi ce ruleaza programe sub X X11/Window Managers fvwm Window Manager mic si rapid, asemanator la interfata cu

Win95 fvwm2 citeva utilitare in plus fata de fvwm fvwm2-icons iconitze si bitmap-uri pentru fvwm si fvwm2 WindowMaker Manager de X11, asemanator la aspect cu AfterStep-ul Este

rapid si relativ mic, usor de configurat, cu o interfata simpla si eleganta.

wmaker_conf Utilitar scris in gtk++ pentru configurarea WindowMaker-ului, usor de folosit, oferind un control destul de mare asupra aspectului managerului

wmconfig (Window Manager Configurator) - va creaza fisierele de 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.

XFree86 o intefata grafica complexa, punind la dispozitia utilizatorilor un 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.

XFree86-100dpi-fonts

Fonturi folosite pe sistemele Linux, in special pe cele a caror componente hardware permit rezolutii mari.

Page 32: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

30 Copyright © CREDIS 2005

XFree86-75dpi-fonts

Fonturi pentru rezolutii mai mici

XFree86-devel Librarii si documentatie pentru dezvoltarea aplicatiilor ce ruleaza ca un client de X

XFree86-ISO8859-2

Colectie de Fonturi (Central European)

XFree86-libs contine librariile de care au nevoie cele mai multe aplicatii X XFree86-XF86Setup

program grafic pentru configurarea serverului XFree86

XFree86-Xnest server de X care ruleaza intr-o singura fereastra X11/gnome GNOME - GNU Network Object Model Environment gnome-libs Librarii necesare daca vreti sa rulati GNOME gnome-libs-devel

Librarii pentru dezvoltarea aplicatiilor GNOME

Page 33: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

31 Copyright © CREDIS 2005

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

Page 34: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

32 Copyright © CREDIS 2005

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

Page 35: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

33 Copyright © CREDIS 2005

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.

Page 36: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

34 Copyright © CREDIS 2005

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).

Page 37: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

35 Copyright © CREDIS 2005

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.

Page 38: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

36 Copyright © CREDIS 2005

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

Page 39: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

37 Copyright © CREDIS 2005

• 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.

Page 40: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

38 Copyright © CREDIS 2005

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.

Page 41: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

39 Copyright © CREDIS 2005

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.

Page 42: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

40 Copyright © CREDIS 2005

/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.

Page 43: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

41 Copyright © CREDIS 2005

/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/csh.login, /etc/csh.cshrc 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

Page 44: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

42 Copyright © CREDIS 2005

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

Page 45: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

43 Copyright © CREDIS 2005

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 1.Fiecare 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.

Page 46: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

44 Copyright © CREDIS 2005

/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.

Page 47: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

45 Copyright © CREDIS 2005

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

Dispozitive

Device Description /dev/fd0 Primul dispozitiv floppy /dev/fd0u1440 Primul floppy disk /dev/hda1 Prima partitie pe primul hard disk IDE/EIDE /dev/hdb Al doilea hard disk IDE/EIDE /dev/sda Primul disk SCSI /dev/sda1 Prima partitie pe primul disk SCSI /dev/lp0 Primul port paralel GNU/Linux /dev/lp1 Al doilea port paralel GNU/Linux /dev/ttyS0 Port serial

Page 48: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

46 Copyright © CREDIS 2005

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.

Page 49: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

47 Copyright © CREDIS 2005

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]

Page 50: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

48 Copyright © CREDIS 2005

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 Descriere 0 Oprit: utilizat pentru a opri sistemul 1 Single-user (utilizator unic): utilizat pentru a rula

sistemul cu o configuratie minima, potrivita pentru un singur utilizator

2 Neutilizat 3 Multi-user (utilizatori multipli): utilizat pentru a

rula sistemul cu o configuratie care suporta mai multi utilizatori la un moment dat

4 Neutilizat 5 Utilizat pentru a porni sistemul XWindow 6 Repornire: utilizat pentru a reporni sistemul S sau s Utilizat intern de catre scripturi pentru a rula la

nivelul 1 A,b,c 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: id:13:actiune:proces [argumente]

Page 51: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

49 Copyright © CREDIS 2005

Tabelul urmator prezinta o serie de actiuni posibile: Actiuni posibile pentru un runlevel Actiune Descriere respawn Procesul este repornit de cate ori se termina wait Procesul este rulat o data iar apoi init va astepta pana cand

se termina once Procesul este rulat o data boot Procesul este rulat in timpul boot-arii iar init ignora campul

runlevel bootwait Procesul este rulat in timpul boot-arii iar init va astepta ca

procesul sa se termine off 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 “#”

ondemand 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.

initdefault Stabileste nivelul implicit de lucru al sistemului la pornire. Campul procesului este ignorat.

sysinit Procesul este rulat o data la incaracre (boot-are). O actiune sysinit este executata inaintea actiunilor boot sau bootwait

powerwait 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

powerfail La fel ca powerfail, insa init nu asteapta ca procesul sa se termine

powerokwait 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

ctrlaltdel Procesul este rulat atunci cand init primeste un semnal SIGINT

kbrequest Procesul este rulat atunci cand init primeste un semnal (Keyboard Signal) de la tastatura

Page 52: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

50 Copyright © CREDIS 2005

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/rc.sysinit

Asa cum am aratat, atunci cand sistemul RedHat Linux se incarca, kernelul executa init care la randul sau ruleaza scriptul /etc/rc.d/ec.sysinit 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/rc.sysinit

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 rc.sysinit 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

Page 53: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

51 Copyright © CREDIS 2005

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: 10:0:wait:/etc/rc.d/rc 0 …… 16:6: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

Page 54: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

52 Copyright © CREDIS 2005

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/rc.local

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/rc.serial

Ca si scriptul /etc/rc.d/rc.local, rc.serial 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:

Page 55: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

53 Copyright © CREDIS 2005

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 username.group . 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:

Page 56: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

54 Copyright © CREDIS 2005

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.

Page 57: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

55 Copyright © CREDIS 2005

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 !)

Page 58: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

56 Copyright © CREDIS 2005

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: UserID: GroupID: GeneralInfo: HomeDirectory: Shell UserName (numele utilizatorului) Este un sir de caractere unic, care identifica, defineste contul. Pentru conturile personale este asemenea cu numele folosit la login.

Page 59: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

57 Copyright © CREDIS 2005

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

Page 60: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

58 Copyright © CREDIS 2005

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 ?

Page 61: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

59 Copyright © CREDIS 2005

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-default-John

Numele directorului home este "/home/no-default-John"

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.

Page 62: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

60 Copyright © CREDIS 2005

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.

Page 63: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

61 Copyright © CREDIS 2005

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.

Page 64: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

62 Copyright © CREDIS 2005

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 x.ro 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).

Page 65: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

63 Copyright © CREDIS 2005

. |-- 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 etc lost+found root usr bin cdrom home mnt sbin var boot dev lib proc tmp 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 root 1024 Jan 7 08:58 Office50 drwxr-xr-x 2 root root 2048 Jan 7 12:54 bin

Page 66: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

64 Copyright © CREDIS 2005

drwxr-xr-x 2 root root 1024 Jan 10 18:42 boot lrwxrwxrwx 1 root root 4 Jan 8 20:41 c -> /w95 drwxr-xr-x 2 root root 1024 Jan 6 03:25 cdrom drwxr-xr-x 3 root root 21504 Jan 10 16:43 dev drwxr-xr-x 26 root root 3072 Jan 10 16:43 etc drwxr-xr-x 8 root root 1024 Jan 10 14:41 home drwxr-xr-x 4 root root 2048 Jan 6 05:10 lib drwxr-xr-x 2 root root 12288 Jan 6 05:00 lost+found drwxr-xr-x 4 root root 1024 Jan 6 05:01 mnt dr-xr-xr-x 5 root root 0 Jan 10 18:42 proc drwxr-xr-x 13 root root 1024 Jan 10 16:49 root drwxr-xr-x 3 root root 2048 Jan 7 09:09 sbin drwxrwxrwt 3 root root 1024 Jan 10 18:44 tmp drwxr-xr-x 20 root root 1024 Jan 6 05:06 usr drwxr-xr-x 16 root root 1024 Jan 6 05:14 var drwxr-xr-x 16 root 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

Page 67: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

65 Copyright © CREDIS 2005

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 non- expired 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 appli- cation to function correctly. 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 (Pluggable Authentication modules for Linux). FILES /etc/pam.conf - the Linux-PAM configuration file

Page 68: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

66 Copyright © CREDIS 2005

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 <http://parc.power.net/morgan/Linux-PAM/index.html> SimplePAMApps 0.50 1996 Dec 14 1 (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

Page 69: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

67 Copyright © CREDIS 2005

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 s-a 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.

Page 70: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

68 Copyright © CREDIS 2005

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

Page 71: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

69 Copyright © CREDIS 2005

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 rc.sysinit 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.

Page 72: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

70 Copyright © CREDIS 2005

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,

Page 73: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

71 Copyright © CREDIS 2005

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

Page 74: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

72 Copyright © CREDIS 2005

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:

Page 75: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

73 Copyright © CREDIS 2005

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!

Page 76: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

74 Copyright © CREDIS 2005

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 ps2pdf [gxg@x bin]$ le less lessecho lesskey let lex [gxg@x bin]$ 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 > ls.txt 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.

Page 77: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

75 Copyright © CREDIS 2005

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 e-mail, 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 ~/test.tgz /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 ~/test.tgz /usr/doc/* sunt parametrii comenzii tar iar semnul & semnifica lansarea in background).

Page 78: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

76 Copyright © CREDIS 2005

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 yes >/dev/null & (wd: ~) [2]+ Running tar -zcf ~/test2.tgz usr/doc/* & [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 COMMAND 287 1 S 0:00 -bash 288 2 S 0:00 -bash 329 2 S 0:00 /usr/bin/mc -P 331 p0 S 0:00 bash -rcfile .bashrc 335 1 R 0:00 ps [gxg@x gxg]$

Page 79: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

77 Copyright © CREDIS 2005

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.

Page 80: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

78 Copyright © CREDIS 2005

$ 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 yes [2]- Stopped yes [3]+ Stopped grep k [gxg@x gxg]$ fg 3 grep k (Ctrl+Z) [3]+ Stopped grep k [gxg@x gxg]$ 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

Page 81: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

79 Copyright © CREDIS 2005

background procesul stopat. Pentru aducerea lui in foregroung, tastati comanda fg.

Page 82: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

80 Copyright © CREDIS 2005

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.

Page 83: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

81 Copyright © CREDIS 2005

$ 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]

Page 84: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

82 Copyright © CREDIS 2005

/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 ash.static 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).

Page 85: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

83 Copyright © CREDIS 2005

$ 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 ash.static -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 .enlightenment .mc .. .bash_logout .gnome .tcshrc .ICEauthority .bash_profile .gnome-desktop .xsession-errors .Xauthority .bashrc .gnome-help-browser .Xdefaults .cshrc .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”.

Page 86: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

84 Copyright © CREDIS 2005

$ 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]

Page 87: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

85 Copyright © CREDIS 2005

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.

Page 88: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

86 Copyright © CREDIS 2005

$ 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 link-uri. Comanda pentru o legatura soft este ln cu optiunea -s. Mai intai cream mediul. $ touch one[Enter] $ touch two[Enter] $ mkdir three[Enter] Verificam..

Page 89: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

87 Copyright © CREDIS 2005

$ 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 one.bis [Enter] $ ls –l [Enter] ... lrwxrwxrwx 1 john john 3 Dec 25 12:47 one.bis -> 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 one.bis -> /home/john/one.bis

Page 90: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

88 Copyright © CREDIS 2005

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]

Page 91: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

89 Copyright © CREDIS 2005

$ ls * [Enter] Comanda a doua este dferita, shell-ul inlocuieste * cu lista fisierelor si a subdirectoarelor din directorul current. Aceasta inseamna ca daca exista vre-un 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

Page 92: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

90 Copyright © CREDIS 2005

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.

Page 93: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

91 Copyright © CREDIS 2005

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

Page 94: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

92 Copyright © CREDIS 2005

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

Page 95: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

93 Copyright © CREDIS 2005

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 -

Page 96: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

94 Copyright © CREDIS 2005

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

Page 97: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

95 Copyright © CREDIS 2005

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.

Page 98: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

96 Copyright © CREDIS 2005

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.

Page 99: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

97 Copyright © CREDIS 2005

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

Page 100: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

98 Copyright © CREDIS 2005

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).

Page 101: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

99 Copyright © CREDIS 2005

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 gasite.Comanda 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.

Page 102: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

100 Copyright © CREDIS 2005

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 floppy-disk, 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!

Page 103: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

101 Copyright © CREDIS 2005

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 ".txt.gz"! 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".

Page 104: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

102 Copyright © CREDIS 2005

Exemplu: $ gunzip doc1.txt.gz

La sfarsitul acesti operatii fisierul "doc1.txt.gz" va fi inlocuit cu versiunea decomprimata "doc1.txt" 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 arhiva.tar *.txt

Arhiveaza toate fisierele cu extensia ".txt" $ tar -xvf arhiva.tar

Dezarhiveaza toate fisierele din "arhiva.tar" 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 arhiva.tar

La sfarsitul acestei comenzi in directorul curent veti avea un fisier cu numele "arhiva.tar.gz"

Page 105: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

103 Copyright © CREDIS 2005

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 arhiva.tgz *.doc

Arhiveaza si comprima toate fisierele cu extensia ".doc" $ tar -zxvf arhiva.tgz

Decomprima si dezarhiveaza "arhiva.tgz" Extensia ".tgz" este echivalenta cu ".tar.gz" 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 .tar.gz. 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:

Page 106: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

104 Copyright © CREDIS 2005

pe CD-urile Red Hat Linux; pe site-urile: http://www.redhat.com/support/errata si http://www.redhat.com/mirrors.html 11.8.3. Instalarea Pachewtele RPM au de obicei nume de forma foo-1.0-1.i386.rpm. Numele fisierului include numele pachetului (foo), versiunea (1.0), versiunea minora (1) si arhitecura (i386). Instalarea unui pachet este foarte simpla: # rpm –ivh foo-1.0-1.i386.rpm foo ############### # Dupa cum se vede, RPM afiseaza numele pachetului si apoi o succesiune de semne # pentru vizualizarea progresului instalarii. Desi comanda rpm –ivh foo-1.0-1.i386.rpm este utilizata in mod obisnuit pentru instalarea unui pachet RPM, ar fi bine sa aveti in vedere folosirea comenzii rpm –Uvh foo-1.0-1.i386.rpm 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 foo-1.0-1.i386.rpm foo package foo-1.0 –1 is already installed # Daca vreti sa instalati un pachet, indiferent daca mai aveti aceea versiune, trebuie folosita optiunea—replacepkgs, care spune RPM-ului sa ignore eroarea: # rpm –ivh –replacepkgs foo-1.0-1.i386.rpm 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 foo-1.0-1.i386.rpm foo /usr/bin/foo conflicts with file from bar-1.0-1

Page 107: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

105 Copyright © CREDIS 2005

# Pentru ca RPM sa ignore aceasta eroare, se foloseste optiunea –replacefiles: # rpm –ivh –replacefiles foo-1.0-1.i386.rpm 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 foo-1.0-1.i386.rpm 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 foo-1.0-1.i386.rpm. 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 #

Page 108: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

106 Copyright © CREDIS 2005

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 foo-1.0-1.i386.rpm 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/foo.conf as /etc/foo.conf.rpmsave 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 foo-1.0-1.i386.rpm foo package foo-2.0-1 (which is newer) is already installed # Pentru a forta RPM sa faca upgrade-ul oricum, folositi optiunea –oldpackage:

Page 109: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

107 Copyright © CREDIS 2005

# rpm –Uvh –oldpackage foo-1.0-1.i386.rpm 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

Page 110: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

108 Copyright © CREDIS 2005

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 text.Aceasta 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

Page 111: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

109 Copyright © CREDIS 2005

mesaj, insa, in partea de jos, indicind faptul ca tocmai creati un fisier nou.De 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 temporara.Nu 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 comanda.Este 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):

Page 112: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

110 Copyright © CREDIS 2005

Ce reprezinta Ce face a 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.

A 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.

i 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.

I 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.

o 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.

O 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,

Page 113: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

111 Copyright © CREDIS 2005

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 Ce face j Deplaseaza cursorul cu un rand mai jos. Puteti utiliza, de

asemenea, tasta sageata-in-jos. k Deplaseaza cursorul cu un rand mai sus. Puteti utiliza, de

asemenea, tasta sageata-in-sus. h Deplaseaza cursorul cu un caracter spre stanga. Puteti

utiliza de asemenea tasta sageata-stanga. l Deplaseaza cursorul cu un caracter spre dreapta. Puteti

utiliza, de asemenea, tasta sageata-dreapta. H Deplaseaza cursorul in coltul stanga-sus al ecranului. G Deplaseaza cursorul la sfarsitul documentului (primul

caracter al ultimului rand). 1G 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.

Ctrl-f Deplasare inainte cu un ecran. (Tineti apasata tasta Ctrl si apasati tasta f).

Ctrl-b Deplasara inapoi cu un ecran. (Tineti apasata tasta Ctrl si apasati tasta b).

$ Deplasare la sfarsitul randului curent. O Deplasare inceputul randului curent. w Deplasare inainte cu un cuvant (la primul caracter al

urmatorului cuvant). b Deplasare inapoi cu un cuvant (la primul caracter al

Page 114: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

112 Copyright © CREDIS 2005

cuvantului anterior). e Deplasare la ultimul caracter al cuvantului curent. r Inlocuieste (scrie peste) caracterul aflat in draptul

cursorului cu caracterul atasat. R Inlocuieste textul pe masura ce tastati altul pana la

apasarea tastei Esc. u Anuleaza ultima modificare efectuata. Puteti apasa din nou

u pentru a anula operatia de anulare. X Sterge caracterul aflat in dreapta cursorului. dW Sterge cuvantul curent. dd Sterge randul curent. cw Inlocuieste cuvantul curent. Cuvantul curent este inlocuit

de ceea ce tastati pana la apasarea tastei Esc. C Modifica tot din dreptul cursorului pana la sfarsitul randului.

Ceea ce tastati ia locul continutului randului, pana in momentul in care apasati Esc.

D Sterge toate caracterele din dreptul cursorului pana la sfarsitul randului.

/ Cauta un text. ZZ 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 myfile.Ati 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

Page 115: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

113 Copyright © CREDIS 2005

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

Page 116: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

114 Copyright © CREDIS 2005

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.

Page 117: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

115 Copyright © CREDIS 2005

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

Page 118: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

116 Copyright © CREDIS 2005

12.1.Midnight 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

Page 119: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

117 Copyright © CREDIS 2005

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"

Page 120: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

118 Copyright © CREDIS 2005

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.

Page 121: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

119 Copyright © CREDIS 2005

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.

Page 122: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

120 Copyright © CREDIS 2005

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

Page 123: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

121 Copyright © CREDIS 2005

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"):

Page 124: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

122 Copyright © CREDIS 2005

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".

Page 125: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

123 Copyright © CREDIS 2005

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 "ftp.pub.ro") 2. Daca utilizatorul are un cont pe calculatorul aflat la distanta se introduce numele utilizatorului urmata de numele calculatorului (Exemplu: "[email protected]") 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.

Page 126: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

124 Copyright © CREDIS 2005

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

Page 127: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

125 Copyright © CREDIS 2005

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: "[email protected]", "[email protected]", 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.

Page 128: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

126 Copyright © CREDIS 2005

Atentie: Daca doriti abandonarea mesajului (inainte de a-l trimite,desigur) apasati combinatia de taste "Ctrl+C" Exemplu: PINE 4.04 COMPOSE MESSAGE Folder: INBOX No Messages To : [email protected] 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.

Page 129: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

127 Copyright © CREDIS 2005

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

Page 130: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

128 Copyright © CREDIS 2005

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.

Page 131: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

129 Copyright © CREDIS 2005

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 &

Page 132: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

130 Copyright © CREDIS 2005

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.

Page 133: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

131 Copyright © CREDIS 2005

Daca doriti sa vedeti o anume pagina Web (si cunoasteti adresa ei) tastati-o in campul "Location:". Exemplu de adrese Web: "http://www.linux.org" "www.redhat.com/linux-info/ldp", etc ... "http://" 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".

Page 134: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

132 Copyright © CREDIS 2005

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

Page 135: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

133 Copyright © CREDIS 2005

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:

Page 136: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

134 Copyright © CREDIS 2005

"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).

Page 137: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

135 Copyright © CREDIS 2005

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 !

Page 138: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

136 Copyright © CREDIS 2005

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 IP-uri 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 ??????

Page 139: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

137 Copyright © CREDIS 2005

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.

Page 140: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

138 Copyright © CREDIS 2005

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 127.0.0.1 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 127.0.0.1: # Exemplu de /etc/hosts pentru localhost localhost 127.0.0.1 Pentru a vedea configuratia unei interfete executati comanda ifconfig, si introduceti ca argument numele interfetei: $ ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 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 255.0.0.0, deoarece 127.0.0.1 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 127.0.0.0. Aceasta se face prin comada: # route add 127.0.0.1 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”:

Page 141: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

139 Copyright © CREDIS 2005

# ping localhost PING localhost (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.4 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.4 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=255 time=0.4 ms ^C (Ctrl+C) --- localhost ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 0.4/0.4/0.4 ms # 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 127.0.0.1 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.

Page 142: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

140 Copyright © CREDIS 2005

Interfata l0 nu este in deajuns pentru a conecta un sistem in retea , va trebui configurata si placa “fizica”de 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 subnetmask-ul.Intreaga comanda va arata astfel: # ifconfig eth0 193.226.53.2 netmask 255.255.255.0 Aceasta comanda atribuie interfatei eth0 adresa IP 193.226.53.2 cu subnetmask-ul de 255.255.255.0 . Pentru a verifica configuratia interfetei vom folosi tot comanda ifconfig astfel # ifconfig eth0 eth0 Link encap 10Mps Ethernet HWaddr 00:00:C0:90:B3:42 inet addr 193.226.53.2 Mask 255.255.255.0 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 193.226.53.0 netmask 255.255.255.0 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

Page 143: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

141 Copyright © CREDIS 2005

193.226.53.2 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 adresei.Daca 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 172.16.1.1: icmp_seq=0. time=11. ms 64 bytes from 172.16.1.1: icmp_seq=1. time=7. ms 64 bytes from 172.16.1.1: icmp_seq=2. time=12. ms 64 bytes from 172.16.1.1: icmp_seq=3. time=3. ms ^C ----vstout.vbrew.com 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.

Page 144: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

142 Copyright © CREDIS 2005

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 127.0.0.1 * 255.255.255.255 UH 1 0 112 lo 172.16.1.0 * 255.255.255.0 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=212.93.133.1 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=80.96.49.254 BROADCAST=80.96.49.255 NETMASK=255.255.255.0 NETWORK=80.96.49.0

Page 145: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

143 Copyright © CREDIS 2005

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 station1.credis.ro dar el va fi scris doar station1. Numele complet cu care apare oficial in fully qualified domain names (FQDNs) va fi station1.credis.ro. 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.

Page 146: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

144 Copyright © CREDIS 2005

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 www.apache.org . 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 acestea se vor decompresa intai cu comanda: # 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

Page 147: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

145 Copyright © CREDIS 2005

/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 --sysconfdir=/etc/conf --enable-module=rewrite --enable-module=status 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 binarelor.Acest 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

Page 148: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

146 Copyright © CREDIS 2005

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/httpd.conf /usr/local/apache1/conf/ Deasemenea s-ar putea sa ai nevoie de existentele fisiere de configurare pentru acces si srm: cp /etc/httpd/conf/access.conf /usr/local/apache1/conf/ cp /etc/httpd/conf/srm.conf /usr/local/apache1/conf/ Daca configurezi pentru prima data pe sistemul respectiv va trebui sa editezi fisierul http.conf. 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: http://localhost:81. Port 80 Se poate schimba adresa de mail al administratorului in general folosindu-se adresa [email protected]: ServerAdmin [email protected] 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.

Page 149: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

147 Copyright © CREDIS 2005

ServerName www.credis.ro 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 index.html. Poti modifica sau adauga alte fisiere: DirectoryIndex index.html index.htm 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?

Page 150: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

148 Copyright © CREDIS 2005

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/smb.conf 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 (smb.conf) 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 smb.conf: 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 smb.conf (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

Page 151: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

149 Copyright © CREDIS 2005

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:

Page 152: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

150 Copyright © CREDIS 2005

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd Scriptul mksmbpasswd.sh 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 smb.conf, 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

Page 153: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

151 Copyright © CREDIS 2005

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 /pub nfs rsize=8192,wsize=8192,timeo=14,intr 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

Page 154: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

152 Copyright © CREDIS 2005

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/auto.master 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/auto.mnt poate defini punctele de montare in directorul /mnt; aceasta relatie va fi definita in fisierul /etc/auto.master. Fiecare inregistrare in auto.master 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 altus.host.net in mount point-ul /mnt/myproject pe calculatorul vostru, adaugati urmatoarea linie in auto.master: /mnt /etc/auto.mnt –timeout 60 Adaugati urmatoarea linie in /etc/auto.mnt: myproject -rw,soft,intr,rsize=8192,wsize=8192 altus.host.net:/project11 Primul camp in /etc/auto.mnt 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:

Page 155: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

153 Copyright © CREDIS 2005

service autofs status Daca modificati fisierul de configurare /etc/auto.master 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 alvaro.redhat.com va permite utilizatorilor din alvaro.redhat.com sa monteze /mnt/export cu permisiunile implicite read-only, insa: /mnt/export alvaro.redhat.com(rw) va permite utilizatorilor din alvaro.redhat.com 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

Page 156: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

154 Copyright © CREDIS 2005

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.

Page 157: 237524694 Linux Carte de Baza

Sistemul de operare LINUX

Remus Grobei Mircea Florescu

155 Copyright © CREDIS 2005

Managerul de studii stă la dispoziţia dumneavoastră pentru informaţii,

consiliere şi suport.