Il filesystem, letteralmente ``sistema di archivio'', definisce i
metodi e le strutture dati che un sistema operativo usa per tenere
traccia dei file su disco: un po' come il tipo di armadio e di appendiabiti
da usare per i nostri vestiti; esempi di filesystem (armadi) sono
l'usatissimo ext3 di Linux, l'ISO9660 dei CD-ROM. Linux riconosce
un numero elevato di filesystem21, i quali differiscono tra loro per il modo in cui i dati sono organizzati
fisicamente sul disco; a complicare (o semplificare?) le cose c'è
da dire che queste differenze sono mascherate all'utente dal filesystem
``virtuale''; è come avere davanti una maschera di carnevale: la
maschera appare sempre la stessa anche se viene indossata da persone
diverse.
Filesystem è anche il termine applicato all'insieme di dati gestito
da un sistema software di gestione dei file che implementa una struttura
gerarchica ad albero rovesciato, dove i file sono le foglie dell'albero
e il punto d'inizio è, guarda caso, root, che significa radice.
Quest'unica struttura gerarchica per l'organizzazione dei file e delle
cartelle è stata oggetto di un notevole sforzo di standardizzazione
che ha prodotto lo FHS (Filesystem Hierarchy Standard).
Esso rappresenta il punto di arrivo di un processo di standardizzazione
del filesystem di Linux cominciato nel 1993 e giunto poi a comprendere
tutti i sistemi tipo Unix per l'interessamento della comunità BSD22. La piena conformità allo FHS rientra tra gli obiettivi di Debian,
che organizza il proprio filesystem secondo le cartelle principali
seguenti:
- ``/''
- cartella radice
- bin
- contenente i comandi essenziali
- boot
- contenente i file statici del bootloader
- dev
- contenente i dispositivi per usare le periferiche
- etc
- contenente i file di configurazione del sistema
- home
- contenente le cartelle degli utenti
- cdrom
- punto di montaggio del lettore CD-ROM
- floppy
- punto di montaggio del lettore di dischetti
- lib
- contenente le librerie condivise essenziali e i moduli del kernel
- mnt
- punto di montaggio per esigenze locali
- opt
- inizialmente vuota, destinata a contenere software non presente
nella distribuzione Debian
- root
- cartella dell'ammnistratore di sistema
- sbin
- contenente comandi essenziali per l'amministratore di sistema
- tmp
- contenente file temporanei
- usr
- cartella contenente numerosissime sotto-cartelle con gran parte
dei file binari del sistema; evidenziamo in particolare:
- /usr/share/doc/
- contenente la documentazione dei programmi installati
- /usr/local/
- cartella inizialmente vuota ma destinata a software
installato dagli utenti
- /usr/src/
- contenente codice sorgente (tipicamente il sorgente del
kernel)
- var
- contenente dati variabili
Ricordate sempre che pur avendo la possibilità, in qualità di amministratore,
di creare qualunque sotto-cartella o modificare qualunque file in
qualunque luogo del filesystem, tutte le cartelle sopra elencate,
ad eccezione di /opt, /usr/local, /home, /mnt, sono riservate al sistema
e conviene non toccarle a meno che non si sappia bene cosa
si sta facendo. Si sottolinea infine che il carattere ``/'' indica
sia la cartella radice che l'elemento separatore delle sotto-cartelle:
ciò che potrebbe essere motivo di confusione.
Mauro Darida
2006-07-25