Filesystem Hierarchy Standard

Filesystem Hierarchy Standard (FHS) este un standard ce definește ierarhia sistemului de fișiere din Linux. FHS este menținut de Linux Foundation. Ierarhia sistemului de fișiere reprezintă modul de organizare a directoarelor și a fișierelor în sistemele de operare Unix-like. Sistemele de fișiere permit utilizatorului să organizeze datele într-un mod accesibil. Structura cel mai des întâlnită este cea arborescentă.

Pictogramă a sistemului de fișiere Linux cu directoare
Structură arborescentă în Ubuntu Linux

Scurt istoric modificare

Procesul de dezvoltare a unui standard de ierarhizare a sistemului de fișiere a început în 1993 cu încercări de a eficientiza directorul și structura fișierelor sistemului de operare Linux. La 14 februarie 1994, a fost lansat FSSTND (Filesystem Standard), un standard de sistem de fișiere specific Linux. Versiunile ulterioare 1.1 și 1.2 au fost lansate pe 9 octombrie 1994 și 28 martie 1995.

La începutul anului 1996, comunitatea de dezvoltare BSD s-a alăturat dezvoltării unei noi versiuni a FSSTND pentru a dezvolta un standard potrivit pentru toate sistemele de operare Unix-like. Numele standardului a fost schimbat în Filesystem Hierarchy Standard (FHS), odată cu apariția versiunii 2.0 la 26 octombrie 1997. [1]

FHS a fost susținut de Free Standards Group, organizație non-profit care include dezvoltatori de software și hardware precum AMD, HP, Google, Intel, Red Hat, IBM, Dell etc. Cu toate acestea, majoritatea dezvoltatorilor de distribuții, inclusiv cei care fac parte din Free Standards Group, nu respectă standardul 100%. Unele sisteme Linux resping FHS și își urmează propriul standard cum ar fi GoboLinux, sau Mac OS X care folosește termeni precum /Library/, /Applications/ și /Users/ împreună cu denumirile tradiționale ierarhice UNIX. Cea mai recentă versiune este 3.0, lansată pe 3 iunie 2015.[2]

Structura directoarelor modificare

Orice sistem Linux prezintă o structură standard de directoare, standardizată în documentul Filesystem Hierachy Standard (pentru vizualizare, se poate folosi în terminal comanda man hier). În FHS, toate fișierele și directoarele se află în directorul rădăcină, chiar dacă sunt localizate pe diferite medii fizice sau virtuale. Majoritatea acestor directoare există pe toate sistemele de operare UNIX-like și sunt utilizate în mod similar.

  • / - directorul rădăcină a întregii ierarhii a sistemului de fișiere. Toate directoarele și fișierele se află în interiorul acestui director.
  • /bin - include comenzi de bază ale sistemului, executabile binare ale utilitarelor de sistem (compilatoare, asambloare, interfețe etc.) folosite de sistem, utilizatorii cu drepturi de root și utilizatorii obișnuiți
  • /boot/ - conține kernelul sistemului și fișiere necesare procesului de pornire (boot)
  • /dev/ - fișiere de dispozitive externe conectate
  • /etc/ - conține fișiere destinate configurării sistemului, programe, scripturi de pornire
    • /etc/fstab/ - intrări corespunzătoare mediilor de stocare cu informații privind punctul de montare și opțiuni aferente
    • /etc/lilo.conf/ - configurarea managerului de boot LILO
    • /etc/grub.conf/ - configurarea managerului de boot GRUB
    • /etc/modules.conf/ - opțiuni pentru diversele module ale sistemului
    • /etc/inittab/ - conține fișierul de configurare pentru procesul init
    • /etc/rc.d/ - fișiere de comandă care lansează aplicații atunci când sistemul pornește
    • /etc/passwd/ - bază de date cu informații despre conturile utilizatorilor (nume de utilizator, nume real, parolă etc.)
    • /etc/fstab/ - informații despre sistemele de fișiere montate automat la pornirea sistemului
  • /home/ – director personal pentru utilizatori. Aici sunt stocate documentele, fișierele și setările personale
    • /home/username/ - fișiere și configurația contului unui anumit utilizator
  • /lib/ - conține biblioteci ale programelor standard și unele instalate, module de nucleu
    • /lib/firmware/ - module de nucleu non-free
    • /lib/modules - module de nucleu încărcabile (drivere de dispozitiv, sisteme de fișiere)
  • /lost+found/ - conține fișiere salvate în cazul unei reinstalări a sistemului de operare
  • /media/ - stochează punctele de montare pentru dispozitive externe (USB flash, CD, hard disk extern etc)
  • /mnt/ - sunt montate temporar diverse dispozitive externe
  • /opt/ - pachete software suplimentare
  • /proc/ - informații despre procesele care rulează. Conține un sistem de fișiere virtual:
    • /proc/cpuinfo/ - informații despe procesor (tip, model, performanțe, etc).
    • /proc/devices/ - drivere pentru dispozitive configurate de nucleu
    • /proc/filesystems/ - sisteme de fișiere configurate de nucleu
    • /proc/interrupts/ - log cu întreruperile apărute
    • /proc/ioports/ - porturile I/O folosite în acel moment
    • /proc/kcore/ - conține o imagine a memoriei fizice a sistemulu
    • /proc/meminfo/ - informații despre utilizarea memoriei RAM (fizică și swap)
    • /proc/modules/ - module încărcate ale nucleului
    • /proc/net/ - informații despre starea protocoalelor de rețea
    • /proc/stat/ - statistici despre sistem
    • /proc/version/ - versiunea nucleului
  • /root/ - director gazdă al utilizatorului cu drepturi de administrator
  • /run/ - informații despre sistem
  • /sbin/ - conține majoritatea programelor pentru administrarea și configurarea sistemului de operare
  • /srv/ - fișiere ale diferitelor protocoale de transfer de date prin rețea (HTTP, FTP etc)
  • /tmp/ - director de stocare pentru fișierele temporare
  • /usr/ - date de utilizator și fișierele programelor instalate manual de către utilizator
    • /usr/bin/ - executabile ale programelor instalate
    • /usr/lib/ - bibliotecile programelor
    • /usr/doc/ - documentație pentru programe instalate de utilizator
    • /usr/local/ - pachete software instalate separat
    • /usr/share/ - date generale ale programelor instalate
    • /usr/src/ - fișiere cu codul sursă al nucleului
  • /var/ - director cu variabile pentru fișierele jurnal pe care sistemul le modifică la pornire sau când se execută anumite comenzi
    • /var/cache/ - cache ale programului și pachete software descărcate din depozite
    • /var/games/ - fișiere ale jocurilor video instalate
    • /var/local/ - date transferabile ale programelor instalate de administrator în /usr/local
    • /var/log/ - jurnale ale sistemului și programele instalate
    • /var/mail/ - setările pentru email ale utilizatorului
    • /var/run/ - fișiere temporare cu date stocate până la repornirea sistemului
    • /var/tmp/ - fișiere temporare salvate când sistemul repornește [3][4]

Vezi și modificare

Referințe și note modificare

Legături externe modificare