# Filesystem Hierarchy Standard

L'estàndard de jerarquia del sistema d'arxius (o FHS, de l'anglès Filesystem Hierarchy Standard) és una norma que defineix els directoris principals i els seus continguts en distribucions GNU/Linux i altres sistemes de la família Unix. És mantingut per la Linux Foundation. Es va dissenyar originalment al 1994 per tal d'estandarditzar el sistema d'arxius de les distribucions de Linux, basant-se en la tradicional organització de directoris dels sistemes Unix. El 1995 es va ampliar l'àmbit de l'estàndard a qualsevol Unix que s'hi adherís voluntàriament.

## Visió general

El procés de desenvolupament d'una jerarquia de sistema d'arxius estàndard va començar a l'agost de 1993 com un esforç enfocat a reestructurar els arxius i l'estructura de Linux. El FSSTND (Estàndard del Sistema d'Arxius), un estàndard de la jerarquia del sistema d'arxius específic del sistema operatiu Linux, va ser alliberat el 14 de febrer de 1994. Revisions posteriors van ser alliberades el 9 d'octubre de 1994 i el 28 de març de 1995.
A principis de 1996, l'objectiu de desenvolupar una versió més comprensiva del FSSTND enfocada no només a Linux, sinó a d'altres sistemes derivats d'UNIX, va ser portat a terme amb l'ajuda de membres de la comunitat de desenvolupament de BSD. Per tant, es va concentrar l'esforç per tal de centrar-se en característiques que fossin generals en els sistemes derivats d'UNIX. En reconeixement d'aquesta feina realitzada, el nom de l'estàndard va ser canviat a Estàndard de Jerarquia del Sistema d'Arxius, o FHS per abreujar.
El FHS és mantingut pel Grup d'Estàndards Lliures (Free Standards Group, avui The Linux Foundation), una organització sense ànim de lucre conformada pels principals distribuïdors de programari i maquinari, tals com: HP, Red Hat, IBM i Dell.
Tot i així, la gran majoria de les distribucions Linux, incloent aquelles desenvolupades pels mateixos membres del Grup d'Estàndards Lliures (Free Standars Group), no segueixen aquest estàndard proposat. En concret, alguns camins (path), expressament creats pels redactors del FHS, com per exemple /srv/, no són utilitzats extensament. Alguns sistemes Linux rebutgen el FHS en favor d'un enfocament diferent, com és el cas de GoboLinux.
Des que FHS va començar com una iniciativa Linux, altres sistemes operatius derivats d'UNIX, generalment no l'han tingut en compte i han desenvolupat els seus propis sistemes, els quals de vegades varien de forma considerable. Per exemple, Mac US X usa noms com /Applications/, /Library i /Users/ juntament amb la jerarquia de directoris tradicional d'UNIX.

## Estructura dels directoris

En UNIX i sistemes similars com poden ser BSD i GNU/Linux, tots els arxius i directoris apareixen sota el directori arrel, /, malgrat que aquests es trobin en dispositius físics diferents .
La majoria d'aquests directoris els trobem a tots els sistemes operatius tipus UNIX, i generalment són utilitzats de la mateixa forma i pel mateix propòsit; tot i així, les descripcions presentades aquí són les utilitizades específicament pel FHS, i no són considerades obligatòries per altres plataformes GNU/Linux.

## Estructura general dels directoris

Dins el sistema de fitxers d'UNIX (i similars), existeixen diverses sub-jerarquies de directoris que duen a terme múltiples i diferents funcions d'emmagatzematge i organització en tot el sistema. Aquests directoris poden classificar-se en:
* Estàtics: Contenen arxius que no canvien sense la intervenció de l'administrador (root), tot i així, poden ser llegits per qualsevol altre usuari. (/bin, /sbin, /opt, /boot, /usr/bin...)
* Dinàmics: Contenen arxius que canvien, i poden llegir-se i escriure's (alguns només pel seu respectiu usuari i el root).
    Contenen configuracions, documents, etc. Quant a aquests directoris, és recomanable una còpia de seguretat amb certa freqüència, o millor encara, s'haurien de muntar en una partició diferent del mateix disc, com per exemple, muntar el directori /home a una altra partició del mateix disc, independent de la partició principal del sistema; d'aquesta forma, en cas que calgui, pot reparar-se el sistema sense afectar o esborrar els documents dels usuaris. (/var/mail, /var/spool, /var/run, /var/lock, /home...)
* Compartits: Contenen arxius que es troben en un ordinador i poden utilitzar-se en un altre, o fins i tot compartir-se entre usuaris.
* Restringits: Contenen fitxers que no es poden compartir, només poder ser modificats per l'administrador. (/etc, /boot, /var/run, /var/lock...)

### Especificant els directoris definits per FHS

| Directori | Descripció Simple |
| / | Jerarquia primària, arrel, root o directori arrel, contenidor de tota jerarquia del sistema. |
| /bin/ | Programes executables binaris que són essencials i han d'estar disponibles per tal d'aportar la funcionalitat mínima alhora d'arrencar (és a dir, iniciar) i reparar un sistema. Inclou, per exemple, les ordres, cat, ls, cp, rm, mkdir, etc. |
| /boot/ | És un directori estàtic i inclou tots els executables i fitxers que són necessaris durant el procés d'arrencada del sistema (per exemple, els nuclis, el initrd). Sovint el trobem en una partició o disc a part. |
| /dev/ | Conté arxius de dispositiu de blocs i de caràcters que estan associats a dispositius reals de hardware o a dispositius virtuals. Aquí trobem tots els dispositius físics del sistema (tot el nostre maquinari). |
| /etc/ | És el directori encarregat d'emmagatzemar els fitxers de configuració dels diversos components del sistema operatiu i dels programes i aplicacions instal·lades a posteriori. Aquest directori hauria d'emmagatzemar tan sols fitxers de configuració, i no hauria de contenir binaris. Hi ha hagut controvèrsia sobre el significat del nom, en les primeres versions del Document d'Implementació d'UNIX dels laboratoris Bell, /etc es coneix com el directori /etcètera, i històricament havia de contindre tot el que no pertanyia a qualsevol altra part (tot i així, la ESF restringeix /etc als arxius de configuració estàtics i no pot contenir arxius binaris). |
| /etc/opt/ | Conte arxius de configuració per als programes allotjats dins del directori /opt. |
| /etc/X11/ | Arxius de configuració per al X Window System, versió 11. |
| /etc/sgml/ | Arxius de configuració per SGML. |
| /etc/xml/ | Arxius de configuració per XML. |
| /home/ | Conté els directoris de treball de tots els usuaris, excepte el del superusuari (administrador, root). Emmagatzema els arxius dels usuaris, ajustos personals, etc. També conte arxius temporals d'aplicacions executades en mode usuari, que serveixen per a desar les configuracions de programes, etc. Sovint aquest directori esta instal·lat en un disc o partició apart. Cada usuari té el seu propi directori personal dins d'aquesta carpeta. |
| /lib/ | Conté totes les biblioteques (mal traduïdes com a llibreries) essencials i compartides pels programes allotjats, és a dir, els binaris que trobem a /bin/ i /sbin/. Conté també les biblioteques del propi nucli o kernel. |
| /media/ | Conté els punts de muntatge dels mitjans extraïbles d'emmagatzematge, tals com lectors de CD-ROM (va aparèixer a la versió 2.3 de FHS), Pendrives (memòria USB), i fins i tot serveix per muntar altres particions del mateix disc dur, com per exemple, particións utilitzades per un altre sistema operatiu. |
| /mnt/ | Conté sistemes d'arxius muntats temporalment. És un directori semblant a /media, però és utilitzat principalment pels usuaris. Serveix per muntar discos durs i particions de forma temporal al sistema; no necessita contrasenya, a diferència del directori /media. |
| /opt/ | Conté paquets de programes opcionals d'aplicacions estàtiques, és a dir, aplicacions que poden ser compartides entre els usuaris. Aquestes aplicacions no desen les seves configuracions en aquest directori; d'aquesta form, cada usuari pot tenir una configuració diferent d'una mateixa aplicació, per tant es comparteix l'aplicació però no les configuracions dels usuaris, les quals es desen al seu respectiu directori dins de /home. |
| /proc/ | Aquest directori conté informació del l'estat dels processos i aplicacions que s'estan executant en un moment determinat en el sistema (per exemple, uptime, network). Realment no desa res com a tal, ja que el que emmagatzema són arxius virtuals, així que el contingut d'aquest directori és nul. El sistema d'arxius que conté no existeix físicament al disc, sinó que el nucli el crea en memòria. |
| /root/ | Directori arrel de l'usuari root. Funciona amb la mateixa finalitat que les carpetes del directori /home, però en aquest cas, només es pel superusuari (administrador del sistema). |
| /sbin/ | Conté els binaris destinats a tasques pròpies del sistema operatiu, i que només poden ser gestionades pel superusuari (root), com ara l'arrencada, tasques de restauració, reparació, etc. Conté ordres i programes com per exemple, init, route, ifup, etc. Els usuaris poden executar algunes d'aquestes aplicacions o ordres, si tenen els permisos suficients, o bé, si tenen la contrasenya del superusuari. |
| /srv/ | Conté dades específiques de lloc servides per aquest sistema. Serveix per emmagatzemar arxius i directoris relatius a servidors que es puguin tenir instal·lats dins el sistema, ja sigui un servidor web www, un servidor, CVS, etc. |
| /sys/ | Evolució del directori /proc. Es un Sistema d'arxius virtuals, organitzats jeràrquicament, que permeten obtenir informació del sistema (nucli) i els seus components. Es un sistema de fitxers basat en RAM. Proporciona un mètode per tal d'exportar a l'espai d'usuari, estructures de dades del nucli, els seus atributs i els enllaços entre ells. El seu nom correcte és Sysfs. |
| /tmp/ | Arxius temporals (vegeu també /var/tmp). En aquest directori generalment es desen els arxius temporals de les diverses aplicacions, com per exemple, els arxius temporals del navegador d'internet. |
| /usr/ | Jerarquia secundària de les dades d'usuari; conté la majoria de les utilitats i aplicacions multiusuari, és a dir, accessibles per a tots els usuaris. En altres paraules, conté els arxius compartits, però que tot i així, són de només lectura. Aquest directori pot fins i tot compartir-se amb altres computadors de la xarxa local. El seu nom ve de “User System Resources” |
| /usr/bin/ | Arxius executables d'ordres binaris no-administratius per tal de ser utilitzats per tots usuaris. Són de només lectura, però poden tenir la seva pròpia configuració per a cada usuari al directori /home. |
| /usr/include/ | Arxius de capçalera (Header files o Include files) per a comiladors de C, és a dir, arxius d'inclusió estàndard. |
| /usr/lib/ | Biblioteques compartides pels binaris que es troben a /usr/bin/. Alguns executables comparteixen les mateixes llibreries entre ells, de forma que generalment no hi ha dues llibreries idèntiques en un mateix sistema, la qual cosa estalvia memòria i proporciona més ordre. |
| /usr/sbin/ | Conté utilitats del sistema no essencials que s'utilitzen després de l'arrencada per part de l'administrador del sistema. També conté alguns dimonis, que són programes que s'executen de forma silenciosa en segon pla, és a dir, que no proporcionen una interfície d'usuari. |
| /usr/share/ | Arquitectura independent i compartida de dades. En altres paraules, conté les dades compartides que no depenen de l'arquitectura del sistema. Això pot incloure imatges, sons, etc., per a la disponibilitat del sistema i les seves aplicacions. Poden ser plantilles, per exemple, encara que generalment són arxius que el sistema utilitza directament. |
| /usr/src/ | Codis font d'algunes aplicacions. Igual que /mnt, aquesta carpeta és utilitzada pels usuaris directament perquè aquests puguin desar en ella el codi font de programes i biblioteques i així puguin accedir-hi fàcilment, sense problemes amb els permisos. Permet que el codi font tingui un espai propi, accessible però apartat de tots els usuaris. |
| /usr/X11R6/ | Sistema X Window System, Versió 11, Release 6. Aquest directori es relaciona amb l'entorn gràfic. |
| /usr/local/ | Jerarquia terciària per a les dades locals, específiques d'aquest host. Usualment s'hi troben subdirectoris, com per exemple bin/, lib/, share/, de dades compartides de només lectura específics de l'ordinador o servidor que els comparteix. |
| /var/ | Arxius variables, tals com logs, arxius spool, bases de dades, arxius d'e-mail temporals, i altres arxius temporals en general. Generalment actua com un registre del sistema. Ajuda a trobar els orígens d'un problema. |
| /var/cache/ | Memòria caché de les aplicacions, encara que també s'utilitza el directori /tmp pel mateix propòsit. |
| /var/crash/ | S'hi dipositen dades i informació, referents a les caigudes o errors del sistema operatiu. És més específic que/var en general. |
| /var/games/ | Dades variables dels jocs del sistema. Aquest directori no és imprescindible i moltes vegades és omès per les mateixes aplicacions de jocs, doncs utilitzen la carpeta d'usuari dins /home per desar les dades variables tals com les configuracions, per posar un exemple. De tota forma, els jocs de gnome utilitzen aquest directori. |
| /var/lock/ | Arxius Lock. Arxius que fan el seguiment dels recursos que s'utilitzen actualment. |
| /var/log/ | Arxius de registre, Log. Diversos registres, logs. |
| /var/mail/ | Bústia de correu o missatges dels usuaris. Si no s'utilitza xifrat, generalment llavors es fa ús de la carpeta personal per a la mateixa tasca per part de programes que manipulin correus electrònics. |
| /var/opt/ | Conté les dades variables de /opt. |
| /var/run/ | Informació recent. Tracta sobre el funcionament del sistema des de l'última arrencada. Per exemple, els usuaris actualment registrats, que han ingressat; i els dimonis que s'estan executant. |
| /var/spool/ | Bobines o rodets (Spool), de tasques a l'espera de ser processats (per exemple, cues d'impressió i correu no llegit). |
| /var/spool/mail/ | Ubicació dels correus d'usuari desaprovats. Si no s'utilitza xifrat, generalment s'utilitza llavors la carpeta personal per a la mateixa tasca per part de programes que manipulin correus electrònics. |
| /var/tmp/ | Arxius temporals que, a diferència de /tmp, no s'esborren entre sessions o reinicis del sistema, però que de tota forma segueixen sent prescindibles. |
Mapa conceptual que exemplifica un sistema tipus UNIX, amb els seus discos, particions i alguns directoris (sub-jerarquies).
Les fletxes de color gris, assenyalen els directoris que estan en un disc dur o partició diferent d'on està el directori arrel (/), tot i així, són part de la mateixa jerarquia.
Els sistemes similars a UNIX acostumen a requerir un mínim de dues particions per funcionar (/ i swap). tot i així, en l'exemple, el directori (o subjerarquía) /home també posseeix la seva pròpia partició al disc. Això vol dir que el sistema pot reinstal·lar-se sense que els usuaris perdin les seves configuracions i documents personals, tot i així, una partició exclusiva per /home és opcional.
La partició swap no té assignat cap directori a la jerarquia, ja que el seu propòsit és servir al sistema un espai d'intercanvi que s'utilitza quan la memòria RAM queda plena.
Al mapa apareix també un disc extraïble (potser un pendrive), el qual no és imprescindible per al sistema. Aquest disc extraïble esta representat pel directori disk dins el directori /media; tot el que es desi al directori /media/disk, es desarà al disc extraïble. Fins i tot, qualsevol subjerarquía o la mateixa jerarquia, pot desar-se dins un disc extraïble, en comptes d'un disc dur.
Per exemple: la subjerarquía /tmp pot muntar-se en un altre disc o una altra partició del mateix disc, i el mateix es pot fer amb qualsevol altre directori de la jerarquia, o fins i tot la mateixa partició d'intercanvi (swap). Als sistemes tipus UNIX, qualsevol directori (subjerarquía) pot tenir el seu propi disc o partició assignat. Cal tenir en compte, que tots els discos, particions, dispositius i terminals que reconeix el nucli, poden ser monitoritzats o identificats a través d'alguns arxius especials presents en la subjerarquía /dev.

## Referències

* ↑ Organització dels directoris en Linux

## Enllaços externs

* Pàgina principal de l'estàndard FHS