Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Privire de ansamblu asupra arborelui de directoare (Directory Tree) - linux

Privire de ansamblu asupra arborelui de directoare (Directory Tree) - linux

Table of Contents

Background (preliminarii)

Sistemul de fisiere root

Directorul /etc

Directorul /dev

" Two days later, there was Pooh, sitting on his branch, dangling his legs, and there, beside him, were four pots of honey" (A.A. Milne)

Acest capitol descrie partile importante ale standardului arborelui de directoare Linux , bazat pe standardul FSSTND. Subliniaza metoda obisnuita de impartire a arborelui de directoare in sisteme de fisiere separate, cu scopuri diferite si motiveaza acest mod de impartire. Moduri alternative sunt de asemenea descrise.



Background (preliminarii)

Acest capitol se bazeaza partial pe Linux Filesystem Standard (Standardul sistemului de fisiere Linux), FSSTND versiunea 1.2 (vezi bibliografia), care incearca sa traseze un standard pentru modul de organizare al arborelui directoarelor Linux. Un astfel de standard are avantajul ca va fi mai usor de scris si portat soft pe Linux, de administrat computerele cu Linux, din moment ce totul va fi in locul asteptat. Nu exista nici o autoritate care sa oblige pe cineva sa urmeze acest standard, dar are suportul majoritatii, daca nu al tuturor distributiilor. Nu e recomandata incalcarea acestui standard, daca nu exista motive serioase. FSSTDND incearca sa urmeze traditia UNIX, dar si orientarile actuale, facand ca Linux sa para familiar celor cu experienta pe alte sisteme UNIX, si viceversa.

Acest capitol nu e la fel de detaliat ca FSSTND. Un administrator de sistem ar trebui sa citeasca si FSSTND pentru a intelege totul.

Acest capitol nu explica toate fisierele in detaliu. Nici nu intentioneaza aceasta, ci doar sa ofere o vedere de ansamblu a sistemului din punctul de vedere a sistemului de fisiere. Informatie mai detaliata asupra fiecarui fisier este disponibila in alte secriuni ale acestui manual, sau in manpages.

Intregul arbore director este imaginat in ideea de a putea fi impartit in parti mai mici, fiecare pe partitia sau discul sau, pentru a se pune de acord cu dimensiunile discurilor si pentru a simplififca backup-ul si alte activitati de administrare. Partile importante sunt root (radacina), /usr /var, si /home (vezi Figure 3-1). Fiecare parte are un anume scop. Arborele directoarelor a fost proiectat astfel incat functioneaza bine intr-o retea de masini Linux, care pot partaja anumite componente ale sistemului de fisiere prin intermediul unor dispozitive read-only (de ex., CD-ROM) sau pe retea prin NFS.

Figure 3-1. Componentele arborelui de directoare UNIX. Liniile punctate indica limitele partitiilor

Rolul diferitelor portiuni ale arborelui de directoare sunt descrise mai jos:

Sistemul de fisiere root este specific fiecarei masini (se afla in general pe un disc local, desi ar putea fi si un ramdisk sau disc in retea) si contine fisierele care sunt necesare pentru bootarea sistemului, si aducerea lui la momentul cand pot fi montate si celelalte sisteme de fisiere. Continutul sistemului de fisiere root va fi suficient pentru starea single user. Va contine programe pentru repararea unui sistem defect, si pentru recuperarea fisierelor pierdute de pe backup-uri.

Sistemul de fisiere /usr ar trebui sa depinda de masina pe care e instalat, si nu ar trebui modificat in timpul utilizarii normale. Aceasta permite ca fisierele sa fie partajate prin retea, lucru care poate fi un avantaj, pentru ca se economiseste spatiu pe disc, (pot fi sute de MB in /usr), si administrarea poate fi mai usoara (doar principalul /usr trebuie modificat cand se actualizeaza o aplicatie, nu fiecare masina separat). Chiar daca acest sistem de fisiere este pe discul local, el poate fi montat read-only, pentru a micsora sansa coruperii sistemului la vreo cadere a sistemului.

Sistemul de fisiere /var contine fisierele care se modifica, precum directoarele spool (pentru posta, stiri, imprimanta), fisierele de log, paginile de manual deja formatate si fisiere temporare. In trecut, tot ce se afla in /var era undeva in /usr, dar din aceasta cauza /usr nu putea fi montat read-only.



Sistemul de fisiere /home contine directoarele de baza ale fiecarui utilizator, adica toate datele reale din sistem. Separarea directoarelor de baza catre propriul arbore de directoare sau catre propriul sistem de fisiere usureaza backup-ul; celelalte sisteme de fisiere nu trebuie salvate la fel de des (se schimba mai rar). Un /home mare ar trebui separat in cateva sisteme de fisiere, care necesita adaugarea unui nou nivel in cadrul denumirii directoarelor de sub /home, de exemplu /home/students si /home/staff

Desi mai sus diferite parti au fost numite sisteme de fisiere, nu exista nici o cerinta obligatorie ca ele sa fie chiar pe sisteme de fisiere (in sensul de partitii) diferite. Ele pot fi pastrate pe o singura partitie, daca sistemul este unul mic monoutilizator, si acest utilizator vrea sa pastreze lucrurile simple. Arborele de directoare poate fi desigur impartit in sisteme de fisiere si in alte moduri, in functie de cat de mari sunt discurile si de cum e alocat spatiul pentru diferite scopuri. Cel mai important lucru este ca toate numele standard merg; chiar daca /var si /usr sunt pe aceeasi partitie, numele /usr/lib/libc.a si /var/log/messages trebuie sa mearga, de exemplu mutand /var in /usr/var, si facand ca /var sa fie un symlink (legatura simbolica=un fel de shortcut) catre /usr/var

Structura sistemului de fisiere UNIX grupeaza fisierele in functie de scopul lor, de ex., toate comenzile sunt intr-un loc, toate fisierele cu data in altul, documentatia in alt loc, si tot asa. Un alt mod de grupare a fisierelor este in functie de progamul caruia apartin, de exemplu, toate fisierele Emacs intr-un director, toate cele TeX in altul. Problema acestei ultime metode este ca ingreuneaza partajarea fisierelor (directorul programului contine adeseori fisiere statice, fisiere care pot fi partajate, care se schimba, sau care nu pot fi partajate), si uneori chiar cautarea fisierelor (de ex., paginile de manual aflate in diverse locuri pot face configurarea programelor care afiseaza paginile de manual un adevarat cosmar).

Sistemul de fisiere root

Sistemul de fisiere root ar trebui sa fie mic, din moment ce contine fisiere critice, iar un sistem de fisiere mic si rar modificat are mai multe sanse sa nu aiba probleme. Un sistem de fisiere root corupt va face ca sistemul sa devina de ne-bootat, daca nu se iau masuri speciale (boot de pe floppy), asa ca nu merita riscat.

Directorul root in general nu contine fisiere, cu exceptia, poate, a fisierului imagine de boot standard, de obicei /vmlinuz. Toate celelalte fisiere se afla in subdirectoare ale ssietmului de fisiere root.

/bin

Comenzile necesare in timpul bootarii, care pot fi folosite de userii obisnuiti (dupa boot, probabil).

/sbin

Comenzile necesare in timpul bootarii, care nu ar trebui folosite de userii obisnuiti; o pot face doar daca e necesar si permis.

/etc

Fisierele de configuratie specifice unui computer.

/root

Directorul de baza pentru utilizatorul /root.

/lib

Librariile partajate necesare programelor din sistemul de fisiere root.

/lib/modules



Modulele incarcabile ale nucleului (care pot fi adaugate nucleului prorpiu-zis), in special cele care sunt necesare pentru a boota sistemul cand acesta e refacut dupa dezastre (astfel de module sunt cele legate de retea si sistemul de fisiere).

/dev

Fisiere asociate dispozitivelor (device files).

/tmp

Fisiere temporare. Programele care merg dupa bootup ar trebui sa foloseasca insa /var/tmp, si nu /tmp, din moment ce ultimul e probabil pe un disc cu mai mult spatiu.

/boot

Fisierele folosite de programul care incarca SO (bootstrap loader), de ex., LILO. Imaginile kernelului sunt tinute in general aici, si nu in directorul radacina (root). Daca sunt multe fisiere imagine, acest director se poate mari destul de mult, si ar putea fi o idee buna sa fie tinut pe un sistem de fisiere separat. Un alt motiv pentru aceasta ar fi cerinta ca imaginile nucleului sa fie in primii 1024 cilindrii ai unui disc IDE.

/mnt

Locul unde se fac montarile temporare, de catre administratorul de sistem. Programele nu trebuie sa monteze /mnt automat. /mnt poate fi impartit in subdirectoare (ca de ex., /mnt/dosa, care poate fi o discheta ce utilizeaza sistemul de fisire MS-DOS, si /mnt/ext1 pentru o discheta cu ext2).

/proc /usr /var /home

Locurile unde se monteaza alte sisteme de fisiere.


Directorul /etc

Directorul /etc contine foarte multe fisiere. Unele sunt descrise mai jos. Pentru altele, trebuie determinat programul caruia ii apartin si citit manualul acestuia. Multe fisiere de configurare a retelei se afla tot in /etc, si sunt descrise de Networking Administrator's Guide. [1]

/etc/rc /etc/rc.d /etc/rc?.d

Scripturi sau directoare cu scripturi care sunt rulate la startup, sau cand se schimba runlevel-ul. [2] Vezi the section called init in Chapter 2 pentru mai multe informatii.

/etc/passwd

Baza de date ce contine informatii despre useri, fiecare camp al inregistrarilor reprezentand, pe rand, numele utilizatorului, numele real, directorul de baza, parola criptata, si alte informatii despre fiecare user. Acest format al inregistrarilor este descris in pagina de manual dedicata passwd.

/etc/fdprm

Tabela parametrilor diferitelor tipuri de floppy discuri. Este utilizata de comanda setfdprm. Vezi pagina de manual a setfdprm pentru mai multe informatii.

/etc/fstab

O lista a tututor sistemelor de fisiere montate automat la startup de catre comanda mount -a (in /etc/rc say in alt fisier de startup). Sub Linux, el contine si informatii despre zonele de swap folosite automat de comanda swapon -a. Vezi si pagina de manual mount pentru mai multe informatii.

/etc/group

Asemenea /etc/passwd, dar descrie grupurile, in locul userilor. Vezi pagina comenzii group pentru mai multe informatii.



/etc/inittab

Fisierul de configuratie pentru comanda init.

/etc/issue

Fisierul afisat de getty inaintea pronptului de login. O descriere scurta sau mesaj de bunvenit pe sistem. Depinde de administratorul sistemului.

/etc/magic

Fisierul de configuratie pentru comanda file. Contine descrieri ale diverselor formate de fisiere pe baza carora comanda file ghiceste tipul fisierului. Vezi paginile de manual ale magic si file

/etc/motd

Mesajul zilei, afisat automat dupa un login reusit. Continutul e la dispozitia administratorului de sistem. Adeseori folosita pentru a trimite informatii fiecarui user, ca de ex. atentionari despre perioadele planificate de inchidere a sistemului.

/etc/mtab

Lista sistemelor de fisiere montate la un moment dat. Initia creata de scripturile de la bootare, actualizata automat de mount. Utilizata cand este necesara o lista a sistemelor de fisiere montate, de ex. de comanda df.

/etc/shadow

Sistemul parolelor shadow muta parolele din /etc/passwd in /etc/shadow; acesta din urma nu poate fi citit decat de root. Astfel va fi mai dificil spartul parolelor.

/etc/login.defs

Fisierul de configurare al comenzii login.

/etc/printcap

La fel ca /etc/printcap, dar pentru imprimante, cu sintaxa diferita.

/etc/profile

Programele executate la login sau la pornire de shellurile Bourne sau C. Astfel administratorul de sistem seteaza valorile implicite ale unor optiuni globale.

/etc/securetty

O lista a shellurilor de incredere. Comanda chsh permite utilizatorilor sa schimbe shellul de start doar catre shellurile din acest fisier. Comanda ftpd, adica serverul care furnizeaza serviciile FTP pe un computer, va verifica daca shellul userului este in /etc/shells si nu va permite loginul unui user al carui shell nu e listat aici.

/etc/termcap

Baza de date ce contine informatii despre posibilitatile terminalelor. Descrie ``secventele escape'' pe care diferitele terminale le permit. Programele sunt astfel scrise incat sa trimita secvente escape care merg doar cu un anume tip de terminal, sa gaseasca secventa corecta pentru ce vor sa faca in /etc/termcap. Astfel, multe programe merg cu majoritatea terminalelor. Vezi paginile de manual pentru termcap curs_termcap terminfo

Notes

[1]

Ghidul administratorului de retea. (nt)

[2]

Modul in care ruleaza sistemul de operare. Exista, pe multe sisteme, 6 moduri. Vezi fisierul /etc/inittab. (nt)