Filesystem Hierarchy Standard

Da Wikipedia, l'enciclopedia libera.

Il Filesystem Hierarchy Standard (FHS) («Standard di Gerarchia dei Filesystem») è uno standard che definisce le directory principali ed il loro contenuto nel file system dei sistemi operativi Unix-like, tra cui i sistemi Linux.

Panoramica[modifica | modifica wikitesto]

Il processo di sviluppo di una gerarchia standard per i file system iniziò nell'agosto 1993 con l'idea di ristrutturare la struttura dei file e delle directory di Linux. L'FSSTND (Filesystem Standard), uno standard di gerarchia dei filesystem, fu rilasciato il 14 febbraio 1994. Revisioni successive vennero pubblicate il 9 ottobre dello stesso anno ed il 28 marzo 1995.

Agli inizi del 1996 fu presa in considerazione l'idea di sviluppare una versione dell'FSSTDN da utilizzare non solo su Linux, ma anche in tutti gli altri sistemi Unix-like con l'aiuto di alcuni membri della comunità di sviluppo BSD. Come risultato di questa collaborazione si misero a fuoco le caratteristiche che accomunavano tutti i sistemi Unix-like. Considerando questa nuova apertura al mondo Unix, il nome dello standard venne cambiato in Filesystem Hierarchy Standard (abbreviato in FHS).

Lo standard FHS viene attualmente mantenuto dall'organizzazione non-profit Free Standards Group che è composta dai maggiori produttori di software ed hardware come Hewlett-Packard, Red Hat, IBM e Dell. Tuttavia la gran parte delle distribuzioni Linux, comprese quelle sviluppate dai membri del Free Standards Group, non seguono completamente questo standard. In particolare, dei percorsi creati specificatamente dai membri dell'FHS, come /srv/, non hanno trovato una grande applicazione. Alcuni sistemi Unix e Linux rompono completamente con l'FHS preferendo un approccio differente; un esempio è GoboLinux. Anche Mac OS X usa nomi leggibili uniti ad un filesystem basato sull'FSH.

Struttura delle directories[modifica | modifica wikitesto]

Tutti i file e le directories sono disposti sotto la directory root "/", anche se sono fisicamente salvati in periferiche differenti. Alcune di queste directories possono non essere presenti: ad esempio quelle riguardanti il sottosistema grafico X Window System possono mancare se questo non è installato.

La maggior parte di queste directories sono presenti su tutti i sistemi Unix-like e usate in modo simile: qui, però, sono presentate le descrizioni relative alla specifica FHS.

Directory Descrizione
/bin/ File binari per tutti gli utenti (es., cat, ls, cp)
/boot/ File del Boot loader (es., kernel, initrd)
/dev/ File di periferica (devices) (es., /dev/null)
/etc/ File di configurazione del sistema (da et cetera)
/etc/opt/
File di configurazione di /opt/
/etc/X11/ (opzionale)
File di configurazione dell'X Window System, versione 11
/etc/sgml/ (opzionale)
File di configurazione per SGML.
/etc/xml/ (opzionale)
File di configurazione per XML.
/home/ (opzionale) Directory home degli utenti.
/lib/ Librerie essenziali per i binari in /bin/ e /sbin/
/media/ Punti di montaggio dei media rimovibili come CD-ROM (apparso in FHS-2.3)
/mnt/ Filesystem montati (mounted) temporaneamente.
/opt/ Pacchetti software statici.
/proc/ File system virtuale che mostra informazioni sullo stato del kernel e dei processi attivi; sono presenti soprattutto file di testo (es, uptime, network)
/root/ (opzionale) Directory home per l'utente root.
/sbin/ Eseguibili per l'amministrazione del sistema (es., init, route, ifup) (system binaries)
/tmp/ File temporanei.
/srv/ Dati specifici forniti dal sistema (served).
/usr/ Gerarchia secondaria per i dati condivisibili ed in sola lettura (unix system resources). Questa directory è nata per essere condivisa tra gli host e non deve contenere dati specifici.
/usr/bin/
Come la directory /bin/.
/usr/include/
File Header (da includere).
/usr/lib/
Come la directory /lib/.
/usr/sbin/
Come la directory /sbin/.
/usr/share/
Dati condivisi (shared) indipendenti dall'architettura.
/usr/src/ (opzionale)
Codice sorgente (Source code).
/usr/X11R6/ (opzionale)
X Window System, Versione 11 Release 6.
/usr/local/
Terza gerarchia per i dati locali, specifici per “questo” host. Inoltre /usr/local è la posizione per i pacchetti che non fanno parte della distribuzione, come i pacchetti che vengono compilati ed installati a partire dai sorgenti.
/var/ File Variabili come log, database, siti web, e file temporanei delle e-mail.

Altre risorse[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]