| Referate | Director web | Adauga link | Contact |











Introducere in Sistemul de Operare Linux



























Universitatea din Bucuresti

Departamentul Credis, Bucuresti,

2002 



 

                                                                                                                       














































CREDIS, 2002



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.





Continut:


  1. Introducere
  2. Instalarea
  3. Componentele SO Linux
  4. Cele mai importante directoare Linux
  5. Operatii de baza
  6. Administrare si navigare in sistemul de fisiere
  7. Metacaracterele (Wildcards)
  8. Comenzi pentru fisiere
  9. Lucrul cu drepturile asupra sistemului de fisiere
  10. Comenzi pentru procesarea fisierelor
  11. Utilitare Linux
  12. Sistemul de ferestre XWindows









































































Capitolul 1: Introducere






Ce este Linux. Copyright


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


Scurt istoric. Cum a aparut Linux


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.


Ce tip de calculator poate rula Linux ?


Pentru a rula Linux aveti nevoie de minim un calculator i386 cu 4 Mb RAM si 50 Mb spatiu liber pe harddisk.

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.


De unde puteti obtine Linux ? Cat costa ?


Exista mai multe distributii Linux (Slakware, RedHat, Debian, SuSe, ...)

O distributie reprezinta nucleul Linux impreuna cu anume fisiere de configurare si anume programe.

Ele nu difera decat prin modul de instalare si intetinere.

Aceste distributii pot fi descarcate gratuit de pe Internet. Totusi pentru cei care nu au acces la Internet, pot fi cumparate CD-uri continand aceste distributii la preturi intre 30$ -50$. Aceste preturi reprezinta costul procesarii CD-ului, taxe de expediere, etc.


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

  1. Staroffice (foarte asemanator cu MS-Office, gratuit pentru folosire non-comerciala)
  2. WordPerfect (Cunoscutul procesor de text, disponibil si sub Linux)
  3. Netscape Navigator, Opera (browsere Web)
  4. Oracle (baze de date)
  5. Mathematica (calcul simbolic si nu numai)















Fig. 1: StarOffice


Adrese 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:

  1. http://www.linux.org
  2. http://www.linuxhq.com
  3. http://www.boutel.com/lsm
  4. http://sunsite.unc.edu/LDP/


Informatii despre distributii Linux:

  1. http://www.infomagic.com
  2. http://www.cdrom.com
  3. http://www.redhat.com
  4. htttp://www.caledra.org
  5. http://www.debian.org
  6. http://www.suse.com






Capitolul 2: Instalarea






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.



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

       


Crearea dischetelor de bootare

       

Crearea unei dishete de boot sub sistemul de operare Windows se face in felul urmator:


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


  1. Utilitarul rawrite va afisa urmatoarele:


Enter disk image source file name:


Please insert a formated diskette into drive A: and press the enter key


  1. Introduceti ca sursa \images\boot.img. Rawrite va afisa urmatorul prompt:


Enter target diskette drive:


  1. Introduceti litera corespunzatoare (A: sau a:)
  2. Acum ar trebui sa introduceti o discheta goala, formatata si sa apasati tasta Enter ca sa continue scrierea dischetei.
  3. Utilitatea rawrite va scrie fisierul boot.img pe discheta.


Crearea unei dishete de boot sub sistemul de operare Linux se face in felul urmator:


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



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.


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.

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, hda 1 este partitia numarul 1 de pe primul disc IDE, hda, si, similar, sda 1 este prima partitie de pe primul disc SCSI. Va trebui sa va decideti singuri cum va veti partitiona discurile. In continuare sunt prezentate 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 512 MB sau mai mult. (In conditiile in care creati si alte partitii este de ajuns ca partitia / (root) sa aiba 256 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



       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, +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, si o partitie cat mai mare (+512 MB),
  • /var pentru cozile si log-urile sistemului. (FIG 2.2, FIG 2.3 , FIG 2.4).



FIG 2.2. Disk Druid: partitionarea hard disk-ului



FIG 2.3. Disk Druid: partitionarea hard disk-ului




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 puteti introduce litera m pentru a obtine un ecran help (de ajutor) (FIG 2.5).

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:


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 Boot

Start

End

Blocks

Id

System

/dev/sda1

1

505

524916

82

Linux swap


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

Selectarea optiunilor referitoare la 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.



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

Asa cum am promis vom face aici o scurta prezentare a pachetelor disponibile in majoritatea distributiilor, utilizatorii urmind apoi a alege doar pe acelea de care au nevoie, dar fara sa omita pachete esentiale.



Applications/Communications

efax

program pentru trimis si primit faxuri, cu o interfata grafica acceptabila, care il face mai usor de folsit

ircii

client de IRC (Internet Relay Chat)

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 asemanator cu MSDOS Telix

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 dumnevoastra, fiind o chestie de 'gust'.

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

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

vim-enhaced

la fel ca si vim-color, avind in plus interpretoare de perl si python

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

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

spice

simuleaza un circuit electric cu rezistente,condensatori,etc

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

xfig

program rudimentar de desen sub X

zgv

utilitar de consola, capabil sa inteleaga un mare numar de formate grafice.

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.

elm

mic si rapid, dar rar folosit

exmh

interfata grafica, interfata pentru PGP (Pretty Good Privacy), rar folosit

fetchmail

program pentru POP3, IMAP, etc.

metamail

o implementare a MIME (Multipurpose Internet Mail Extensions)

mutt

utilitar mic, color, cu suport pentru POP3. Va permite compunerea mesajelor in editorul pe care l-ati ales ca default

nmh

permite lucrul doar la linia de comanda

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

rsync

permite sincronizarea rapida si eficienta pe retea a fisierelor si directoarelor pe diferite calculatoare, transferind doar diferentele dintre acele directoare intr-o forma compresata.

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)

wget

browser de web des folosit datorita facilitatilor sale deosebite: poate lucra in background, face download recursiv, poate lucra cu protocoalele http si ftp

Applications/News

Aceste pachete sint utile doar in cazul in care aveti nevoie de utilitare pentru grupurile de stiri. Dat fiind faptul ca acest serviciu este mai putin folosit, cel putin la noi, voi trece mai repede peste aceasta sectiune.

slrn

cel mai folosit utilitar pentru newsgroups

tin

utilitar ce poate fi folosit si pentru remote-login

trn

un simplu utilitar

Applications/Productivity

ical

calendar pentru X, cu diferite facilitati (alarma, etc)

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.

lout

program de formatare a textului asemanator cu LaTeX, cu ajutorul caruia se pot obtine fisiere PostScript

lout-doc

include documentatia completa pentru lout

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-afm

fonturi pentru tetex

tetex-doc

documantatie completa pentru tetex

tetex-dvilj

converteste fisierele .dvi in HP PCL (Printer Control Language ) pentru a putea fi tiparite pe imprimante laser HP si compatibile

tetex-dvips

converteste un fisier .dvi in PostScript si-l trimite direct imprimantei (laser)

tetex-latex

contine macroul LaTeX, care urmareste eliminarea pe cit posibil a comenzilor de formatare a textului

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.

mikmod

player pentru fisier .MOD

playmidi

player de .midi-uri pentru consla

playmidi-X11

player de .midi-uri pentru X

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-ibcs    

permite Linuxului sa ruleze executabile de pe SCO

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

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 realizate de dumneoastra, fie ca sint 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

xxgdb 

interfata grafica pentru X a gdb-ului

Development/Languages

basic

interpretor pentru Basic, un limbaj mai vechi de programare

bin86

assambler de care aveti neaparata nevoie daca doriti sa va recomplilati kernelul

blt       

contine comenzi pentru aplicatile scrise in tk (vezi mai jos)

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

tclx

extensii pentru tcl si tk, oferind suport pentru fisiere, lucru pe retea, liste, etc

tix

un set de aplicatii pentru tk

tk

colectie de programe facute sa lucreze impreuna cu tcl, care va permite sa scrieti aplicatii garfice intr-un timp foarte scurt. Acestea vor putea fi folosite si sub Windows si Macintosh

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

xlispstat

implementare a limajului Lisp pentr X Windows

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

inn-devel         

Librarii folosite de programe care comunica cu INN (server de stiri)

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++

libtiff-devel     

Analog libjpeg-ului, dar pentru formate grafice tiff,

libungif-devel    

respectiv gif

ncurses-devel     

Folosit pentru dezvoltarea aplicatiilor bazate pe ncurses(echivalentul librarii conio.h din C pentru dos)

newt-devel        

Librarii pentru newt development

postgresql-devel  

Librarii si headere necesare compilarii aplicatiilor ce comunica direct cu

serverul de PostgreSQL

readline-devel    

Dezvolatrea librarii readline

rpm-devel         

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

slang-devel       

Dezvoltarea librarii slang

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)

Development/Tools

bison

generator de analizoare gramatical

byacc

generator de analizoare gramatical

cdecl

Traduce din limba engleza in cod -sursa C/C++ declaratii de functii

cproto

Genereaza prototipurile functiilor definite in fiserul sursa

flex  

generator de analizoare lexical

gettext

Librarii si utilitare folosite pentru crearea si modificarea unor cataloage in diferite limbi

gperf

Generator de functii hash (functii care recunosc un cuvint  cheie dintr-un set de cuvinte)

indent

Aranjarea frumoasa a unui codului sursa C

xwpe   

Contine de fapt 4 programe (we, xwe, wpe, xwpe), toate                  versiuni ale aceluiasi program care pune la dispozitia utilizatorului obisnuit cu scrierea aplicatiilor in Win95 un mediu de programare oarecum familiar)

Development/Version

cvs

Revision Control System

rcs

Revision Control System. Este util in cazul unor texte care sint revizuite des, cum ar fi programe, documentatie,  imagini, etc

Documentation

faq

Frequently Asked Questions. Este una din cele mai bune surse de informatii despre Linux

gimp-manual    

Manualul Gimp-ului (program de grafica sub X)

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

lpg   

LDP Programmers's Guide

man_pages              

paginile de manual indispensabile unui utilizator de linux

nag

Network Administrator's Guide

rhl_alpha_install_addend_en    

ghid de instalare pe calculatoare cu procesor Alpha

rhl_install-guide_en           

ghid de instalare pe i386

sag  

System Administrator's Guide

Extensions/Japanese

kterm

Kanji Terminal Emulator. Foloseste setul de caractere Kanji in locul celor din limga engleza.

Games

Jocuri pe consola Linux. Instalarea lor nu influenteaza cu nimic buna functionare a sistemului. Daca aveti timp, incercati-le.

Libraries

aout-libs      

Librarie care va permite rularea executabilelor in format mai vechi a.out (in prezent executabilele sint in format ELF)

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 functi cu un caracter stiintific.

libelf

permite accesul direct la diferite portiuni din fisierele executabile in format ELF

libgr

librarie ce permite lucrul cu diferite formate grafice (PGM,PPM,etc);

libjpeg

librarii si clienti pentru manipularea jpeg-urilor

ligkpeg60

idem

libpng 

o colectie de rutine ce permite lucrul cu fisierele in format grafic PNG

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

sox-devel      

librarii folosite la compilarea aplicatiilor pe baza de sox (convertor de formate audio)

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.

biff 

client mai vechi, ce va poate anunta atunci cind primiti posta noua. A fost pe parcurs inlocuit de alti clienti...

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

timed

acceseaza data de pe un server pe o statie locala

ypbind

folosit pe sisteme care se comporta ca niste clienti NIS

ytalk  

extensie a protocolului talk, care permite conversatia intre mai multi utilizatori

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 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 librerii necesare dezvoltarii pachetului bind.

Networking/News

inews

program folosit de unele utilitare de stiri

Networking/Utilities

bind-utils     

utilitare care va permit sa aflati ip-ul unui host si alte programe de interogare a unui server de nume

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

ipxutils

utiliare necesare configuratii intefetelor sau a retelelor IPX de sub Linux

ltrace

ruleaza un program specificat pina 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)

mgetty-voice   

utilitar pentru fax sub X

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

pdksh

(Public Domain Korn Shell) - o reimplementare a ksh, un shell care nu prea mai este folosit.

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

open

ruleaza o comanda pe o consola virtuala specificata de utilizator, sau pe prima consola pe care o gaseste libera.

SVGATextMode

Permite controlul in detaliu a modului text al consolei Linux (mai multe sau mai putine caractere, diferite fonturi, etc);

vlock

blocheaza terminalul curent, sau intregul sistem de console virtuale pina cind este introdusa parola utilizatorului care a lansat vlock-ul, sau a root-ului in cel de-al doilea caz

Utilities/File

git            

browser de fisiere, permite urmarirea proceselor, are un editor hex/ascii, etc

lsck  

listeaza lock-urile pe care le fac procesele

lsof 

listeaza fisierele deschise de procese

macutils

set de programe pentru lucrul cu fisiere de pe Macintosh

mtools

utilitare pentru accesarea disketelor ms-dos fara a fi montate.

sharutils

utilitare pentru codarea si decodarea fiserelor text sau binare 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/Printing

mpage

formateaza mai multe pagini de text ASCII intr-un singur document de tip PostScript si suporta mai multe optiuni pentru tiparirea acestuia.

Utilities/System

adjtimex

permite setarea ceasului cu precizie

apmd

Advanced Power Management Daemon- va avertizeza cind bateria din BIOS este aproape terminata

awesfx 

utilitare pentru driverul de sunet AWE32. Nu aveti nevoie de el decit daca aveti o astfel de placa

control-panel  

Un menu din care se lanseaza utiliatare grafice de configurare

dump           

folosit pentru a face backup la o partitie ext2

ext2ed

editor ext2. Este foarte periculos sa va jucati cu asa ceva, de preferabil sa nici nu-l instalati.

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

mkdosfs-ygg    

puteti crea un sistem de fisiere ms-dos vfat

mkisofs

folosit pentru inscriptionarea CD-urilor

modemtool

interfata grafica pentru configurarea modemului

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

raidtools

pachetul permite instalarea si intretinerea unui program de tip RAID (program de autentificare)

rhbackup

puteti face backup-uri locale sau pe alte calculatoare

rsh-printfilters

filtru pentru tiparirea la imprimanta a diferitelor formate

rhsound

permite modulelor de sunet sa se incarce la boot-are si sa isi pastreze setarile dupa reboot-are

sliplogin

folosit pentru stabilirea unei conexiuni SLIP (pe portul serial)

sndconfig

interfata grafica pentru setarea placii de sunet. Nu toate placile sint recunoscute de acest utilitar, asa ca daca nu reusiti, nu disperati.                     Sint si alte metode)

statserial

afiseaza o tabela a semnalelor pe porturile seriale standard, lucru care va poate ajuta atunci cind aveti probleme cu portul serial sau cu modemul

swatch 

urmareste log-urile din sistem, si va anunta atunci cind gaseste o linie care se potriveste cu un parametru dat de dumnevoastra

taper

program de realizat back-up pe benzi

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

tunelp

configurarea driverului pentru portul paralel

usernet  

aplicatii pentru controlul intefetelor de retea. Utilizatorul poate da jos o astfel de interfata, sau o  poate 'ridica'

Utilities/Terminal

dialog 

utilitar care permite construirea unor interfete in mod text, putind fi accesat din scripturi

screen

permite mai multe logari pe acelasi terminal. Este folosit atunci cind va logati de pe o statie care nu permite multi-tasking

Utilities/Text

diffstat

statistici asupra unui patch generat de diff

faces          

folosit mai ales cu exmh (client de posta)

faces-xface    

face pentru X

ispell

program de spelling

m4      

interpretor de scripturi

mawk

program pentru procesare text

nenscript

filtru pentru tiparire. Poate converi un document ASCII in PostScript

patch

este folosit la patch-uirea programelor

perl-MD5       

modul de perl

rgrep

grep recursiv. Grep este un program care va filtreaza un fisier (sau stdin) in functie de parametri pe care i-ati introdus. De exemplu daca vreau sa vad                          toate liniile din fisierul packages ce contin cuvintul Linux : ~>$grep Linux packages.

X11

urw-fonts      

Fonturi PostDcript

xinitrc

contine scriptul pentru lansarea X-ului, folosit si de comanda 'startx'

X11/Amusements

multimedia

contine XPlayCD si XMixer - player pentru CD si mixer sub X

xbanner

permite modificarea atit a background-ului din X Windows cit si a celui folosit de xdm in fereastra de login din X (in cazul in care logarea in cont  se face din X)

xearth

seteaza ca background Globul Pamintesc. Se roteste o data in timp de 24 ore si are marcate toate orasele importante

xfishtank

ecranul devine un acvariu animat plin de pesti exotici

xsnow

cind il lansati, va incepe sa ninga peste ferestrele dumnevoastra, si din cind in cind va trece si Mos Craciun pe acolo)

X11/Applications

gimp

program profesional de grafica cu nenumarate posibilitati de tranformare, retusare si prelucrare a imaginilor. Merita incercat :)

gimp-data-extras

packetul nu este necesar pentru rularea GIMP-ului, dar instalarea acestui pachet il face mai atragator

gimp-devel      

librarii pentru scrierea de plugin-uri si extenstii pentru GIMP

gimp-libgimp    

librarii ce permit comunicarea dintre GIMP si alte aplicatii

gv

se bazeaza pe un program mai vechi numit ghostscript care permite navigarea prin documente PostScript si PDF

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

transfig

utilitare pentru crearea documentelor TeX

usermode

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

x3270

emuleaza un terminal IBM3270

xanim

viewer de gifuri animate

xfm

file manager pentru X, ideea de baza este asemanatoare Explorerului din Win95

xgopher

client de gopher - serviciu foarte rar folosit

xloadimage

incarca imagini in ferestre de X, le poate pune ca background, etc

xmorph

creati animatii intre 2 imagini diferite

xpaint

Program pentru desen in X

xpdf

viewer mic si eficient pentru documente PDF

xrn

client de stiri sub X

xterm-color    

xterm (emulator al unui terminal virtual VT100 sub X ) color

xv

viewer de imagini in numeroase formate, mic si usor de folosit, cu rezultate deosebite . Merita incercat

xwpe-X11       

include xwpe si xwe din pachetul xwpe (mentionat mai sus) specifice X-ului.

X11/Games   

   Jocuri pentru X. Incercati-le singuri, n-aveti ce strica)

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)

Xaw3d

adauga un aspect tridimensional aplicatiilor

Xaw3d-devel    

librarii si headere pentru Xaw3d

xpm

Vizualizeaza bitmap-uri

X11/Shells

mcserv 

Un server de mc permitind accesul la fisierele de pe alt calculator prin intermediul mc-ului

tkmc

versiune a mc-ului pentru X, scris in tk (am vorbit despre tk in sectiunea Development/Languages)

X11/Utilities

ee

Electric Eyes - image viewer

gnome-linuxconf

Interfata grafica pentru linuxconf

mgetty-viewfax 

Vizualizare faxuri pus facilitati de zoom in si zoom out (marirea si micsorarea imaginii)

mkxauth 

ajuta la crearea si intretinerea fisierului Xauthority folosit la autentificarea din X

moonclock

afiseaza ora pe un fundal cre depinde de faza in care sa afla luna in acea zi

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

xcpustate

indica cit de folosit este procesorul la un moment dat

xdaliclock

ceas digital pentru X

xlockmore

blocheaza sesiunea de X cit timp sinteti plecat

xmailbox

va anunta cind primiti posta noua

xosview

un grafic ce indica nivelul de utilizare a resurselor sistemului la un moemnt 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 de aloce o fereastra, fiind folosit in scripturi ce ruleaza  programe sub X

xwpick

alegeti o imagine dintr-o fereastra a X-ului si xwpick-ul o salveaza in ce format doriti dumnevoastra

X11/Window Managers

AfterStep

Manager de X Windows ce ofera posibilitati diverse de configurare a desktopului si utilitare care nu crapa.

AfterStep-APPS

Citeva applet-uri ce pot fi incluse in modului Wharf folosit de citeva window managere, cum ar fi AfterStep sau WindowMaker

AnotherLevel

Fisiere de configurare a desktopului. Acesta devine usor de configurat copiind fisierul /etc/X11/AnotherLevel/fvwm2rc.defines in contul      utilizatorilor, si modificind acolo atributele sale.

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.

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-ISO8859-2-100dpi-fonts 

idem

XFree86-ISO8859-2-75dpi-fonts  

idem

XFree86-ISO8859-2-Type1-fonts  

idem, ultima versiune.

XFree86-ISO8859-9              

Colectie de fonturi turcesti

XFree86-ISO8859-9-100dpi-fonts 

idem

XFree86-ISO8859-9-75dpi-fonts  

idem

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 zintr-o singura fereastra

XFree86-Xvfb           

Virtual Framebuffer X Server

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

     
















Capitolul 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 mijloc de organizare si gestionare a informatiilor pe discurile hard ale calculatorului.


FIG 3.2. Componentele Sistemului de Operare


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 se afla in realitate pe hard disk, insa seamana cu o memorie aditionala sau RAM additional, uneori fiind numit memorie virtuala.

Demonii - Programe sau procese care realizeaza o sarcina particulara sau monitorizeaza discurile sau executia programelor. Demonii sunt procese speciale care pornesc dupa ce se incarca sistemul de operare. Demonii asteapta apoi sa faca ceva in sprijinul SO. Pot fi porniti sau opriti daca este necesar. Un exemplu este cel al demonului imprimantei, lpsched (line printer scheduler). Acesta se lanseaza cand sistemul porneste si apoi asteapta in fundal pana cand cineva are nevoie sa tipareasca ceva. Demonii 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).

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.



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)


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.



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




















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

/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 kerneleului, directorul poate deveni foarte mare, de aceea este de 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.


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

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


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


/usr

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.


/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

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.


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

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








  • 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










Capitolul 5: Operatii de baza






Administrarea conturilor utilizatorilor


Un cont reprezinta toate fisierele, resursele si informatiile care apartin unui utilizator.

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

  1. Utilizator.
  2. Parola, in forma incriptata.
  3. ID numeric pentru utilizator.
  4. ID numeric pentru grup.
  5. Numele intreg si alte descrieri ale contului.
  6. directorul home.
  7. 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. Nu ar trebui sa stabiliti parola 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.1:


FIG 5.1. 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.2).



FIG 5.2. Comanda passwd


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.

Adaugarea/stergerea utilizatorilor

O treba 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 directfisierele in care este stocata informatia despre utilizatori (nu prea comfortabil !)
  • 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 RedHat-Linux este acelasi lucru.

Mai intai sa ne uitam la continutul fisierului "/etc/passwd" (FIG 5.3):


FIG 5.3. 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.

    • 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


Acum, adaugam doi noi utilizatori.

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


FIG 5.4. 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.5. Comanda useradd


Care este rezultatul tastarii liniilor urmatoare ?


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.


FIG 5.6. 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.7. Fisierul /etc/passwd


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


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.

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


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


.

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

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






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

       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


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

       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:




Pornirea si inchiderea sistemului



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.



FIG 5.9. Mesaje la consola in timpul procesului de incarcare


FIG 5.10. Mesaje la consola in timpul procesului de incarcare


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



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


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,


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




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.


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:

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

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



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



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.

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.


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

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



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


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.


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"


$ kill -STOP 435


435 reprezinta identificatorul procesului care se doreste a fi stopat.

Acest identificator il puteti afla folosind comanda "ps"

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.


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


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 background procesul stopat. Pentru aducerea lui in foregroung, tastati comanda "fg".










Capitolul 6: Administrare si navigare in sistemul de fisiere






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


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


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.


$ 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


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


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]

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


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         sfxload        ypdomainname

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


$ 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


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


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

 

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]


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.


Copierea directoarelor


Comanda cp cu optiunea -r sau -R.


$ cp -r mydir mydir2[Enter]

 

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]

 

 

Mutarea si redenumirea


In mediul Unix redenumirea si mutarea unui fisier inseamna acelasi lucru.

Comanda utilizata este mv.

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


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


$ 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










































Capitolul 7: 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.


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]


Substituirea cu metacaractere

Aceasta este o modalitate alternativa pentru a completa o comanda; shell-ul este acela care schimba simbolurile cu informatiile corespunzatoare.

 

Asterisk *


Acest simbol poate fi inlocuit cu o secventa de simboluri, de la zero la infinit.

$ ls [Enter]

$ 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


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

 

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]

 





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


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]


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.

$ sort < mylist[Enter]


Semnul ;


Semnul ; permite introducerea mai multor comenzi pe o singura linie de comanda.


$ touch xy123j4 ; cat mylist














Capitolul 8: 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.



Combinatiile cu tasta CTRL


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


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


  1. Control-u Sterge intreaga linie de comanda. Utilizari frecvente ale combinatiei Control-u:
    1. O modalitate rapida de a sterge o linie de comanda atunci cand v-ati decis sa nu o executati
    2. Daca sunteti logati intr-un sistem la distanta iar tasta backspace nu functioneaza.
    3. 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.


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


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


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.


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 -n. Comanda head este utila atunci cand doriti doar sa verificati primele cateva linii dintr-un fisier indiferent de cat de lung este acesta.


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.


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.


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.






















Capitolul 9: 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.


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.


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.


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


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


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


















Captolul 10: 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.


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.



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


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


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


Cum comprimati un fisier ? Cum decomprimati un fisier ?


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


Decompresia


Opusul comenzii gzip este comanda "gunzip".


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"


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

RPM


  • rpm -qilp package.rpm

Pentru a avea o descriere rapida a pachetelor, urmata de o lista a fisierelor.

  • rpm -i package.rpm

Pentru a instala un pachet nou.

  • rpm -U package.rpm

Pentru a updata un pachet deja existent .

  • rpm qa

Pentr a lista toate pachetele instalate.

  • rpm -e package

pentru a dezinstala un pachet.




































Capitolul 11: 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



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


FIG 11.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.


FIG 11.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.


FIG 11.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 11.5. Stergerea fisierelor

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

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


FIG 11.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: "gxg@ftp.educo.ro")

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.



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.

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


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





Exemplu:


TABLE OF CONTENTS


1. Introduction

2. Pine Help

3. Giving Commands in Pine

4. Status Line

5. Main Menu Commands

6. Command Line Options

7. Pine Configuration

8. Reading News

9. Reporting Problems


In orice moment in ultimele doua randuri ale ecranului sunt afisate posibile comenzi, precum si combinatiile de taste respective !


Inchiderea programului


Din meniul principal se apasa tasta "Q". Inainte de terminare este posibil ca programul sa va ceara confirmarea. Pentru revenirea in meniul principal se apasa tasta "M".


Trimiterea unui mesaj


Pentru trimiterea unui mesaj electronic este necesar ca destinatarul sa aiba o "cutie postala electronica" adica un cont de e-mail pe un calculator care este conectat intr-un mod sau altul cu calculatorul dvs. (de exemplu prin intermediul Internetului). Apoi este necesar sa cunoasteti aceasta "adresa" a destinatarului. Exemple de adrese e-mail: "gxg@cti.fizica.unibuc.ro", "bill_gates@microsoft.com", 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.

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      : gxg@cti.fizica.unibuc.ro

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.

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.


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


FIG 11.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.



Browserul Netscape Navigator


WWW, HTML, HTTP


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

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 &

FIG 11.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.

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




































Capitolul 12: 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 12.1. Mediul X Windows

Ce sunt ferestrele


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 12.2. X Windows


Ce este mousele ?


Mousele este un dispozitiv (hardware) indispensabil in lucrul cu ferestrele. El are 2 (sau 3) butoane si de regula este responsabil de miscarea pointerului pe ecran. Acest pointer este o mica sageata de regula, dar poate avea si alte forme: clepsidra, ceas, linie, x, etc...

De regula se manuieste cu mana dreapta, butonul cel mai important fiind cel din stanga.



Operatii cu mousele


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:

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


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 !