Red Hat Linux 7.1: Official Red Hat Linux Reference Guide | ||
---|---|---|
Indietro | Capitolo 1. Struttura del filesystem | Avanti |
Red Hat è fedele al Filesystem Hierarchy Standard (FHS), documento che definisce i nomi e la posizione di molti file e directory. Continueremo a seguire lo standard perché Red Hat Linux sia conforme all'FHS.
L'FHS corrente è il documento di riferimento per qualsiasi filesystem conforme all'FHS, ma lo standard lascia molte zone indefinite ed estensibili. In questa sezione viene fornita una panoramica sullo standard e una descrizione delle parti del filsystem non coperte dallo standard.
Lo standard completo è disponibile all'indirizzo:
La conformità con lo standard è molto importante, ma i due fattori fondamentali sono la compatibilità con altri sistemi conformi e la capacità di montare la partizione /usr come partizione in sola lettura (perché contiene file eseguibili comuni e non va modificata dagli utenti). /usr può essere montato dal CD-ROM o da un'altra macchina tramite NFS in sola lettura.
Le directory e i file qui menzionati rappresentano un piccolo sotto-insieme di quelli specificati dal documento FHS. Per informazioni più dettagliate, consultate l'ultimo documento dell'FHS.
La directory /dev contiene voci del filesystem che rappresentano dispositivi collegati al sistema. Questi file sono essenziali perché il sistema funzioni correttamente.
La directory /etc è riservata ai file locali del vostro computer. Nessun file binario deve essere inserito in /etc. Tutti i file binari che sono stati precedentemente inseriti in /etc devono essere trasferiti in /sbin o possibilmente in /bin.
Le directory X11 e skel devono essere sotto-directory di /etc:
/etc |- X11 |- skel |
La directory X11 contiene i file di configurazione di X11, come per esempio XF86Config. La directory skel contiene i file di base per gli utenti, cioè i file che vengono copiati automaticamente nelle directory home quando viene creato un nuovo utente.
La directory /lib contiene solo le librerie necessarie all'esecuzione dei programmi presenti in /bin e /sbin. Queste immagini di libreria condivise sono particolarmente importanti per l'avvio del sistema e l'esecuzione di comandi all'interno del filesystem di root.
La directory /mnt si riferisce ai filesystem montati temporaneamente, come i CD-ROM e i dischetti floppy.
La directory /opt fornisce un'area per la memorizzazione di pacchetti applicativi statici e di grandi dimensioni.
Per i pacchetti che vogliono evitare di posizionare i file attraverso il filesystem, /opt fornisce un sistema organizzativo logico e prevedibile sotto la directory del pacchetto. In questo modo l'amministratore del sistema può facilmente determinare il ruolo di ogni file all'interno di un pacchetto particolare.
Per esempio, se sample è il nome di un pacchetto particolare all'interno di /opt, allora tutti i suoi file dovrebbero essere inseriti in /opt/sample. Per esempio /opt/sample/bin per i binari e /opt/sample/man per le pagine man.
Anche i pacchetti che comprendono più sotto-pacchetti, ognuno con un compito particolare, vanno inseriti in /opt, avranno così un modo standardizzato di organizzarsi. Per esempio, il pacchetto sample può avere diversi tool appartenenti ognuno alla propria sotto-directory come /opt/sample/tool1 e /opt/sample/tool2, ognuno di questi può avere il proprio bin, man e altre directory simili.
La directory /sbin contiene gli eseguibili utilizzati solo dall'utente root, tra cui quelli necessari per avviare, montare e ripristinare il filesystem. L'FHS dice:
"/sbin contiene normalmente i file essenziali per l'avvio del calcolatore oltre a quelli presenti in /bin. Qualunque altro eseguibile di sistema utilizzato dopo il mount della /usr (quando non si sono verificati problemi) deve essere collocato in /usr/sbin. I comandi per l'amministrazione locale del sistema devono essere inseriti in /usr/local/sbin."
In /sbin potete trovare i seguenti programmi:
arp, clock, getty, halt, init, fdisk, fsck.*, ifconfig, lilo, mkfs.*, mkswap, reboot, route, shutdown, swapoff, swapon, update |
La directory /usr contiene tutti i file condivisi nello stesso calcolatore. La directory /usr ha solitamente una partizione dedicata e dovrebbe essere montata in sola lettura. Di seguito viene mostrata la struttura della partizione /usr:
/usr |- bin |- doc |- etc |- games |- include |- kerberos |- lib |- libexec |- local |- man |- sbin |- share |- src |- X11R6 |
La directory bin contiene gli eseguibili, doc contiene le pagine di documentazione non conformi a FHS, etc contiene i file di configurazione del sistema, games quelli per i giochi, include contiene i file header di C, kerberos contiene i binari e molte altre cose per Kerberos e lib contiene file oggetti e librerie che non sono stati concepiti per essere usati direttamente dagli utenti o dagli script della shell. La directory libexec contiene piccoli programmi di help richiamati da altri programmi, sbin è per i binari di amministrazione del sistema (quelli che non appartengono a /sbin), share contiene i file non specifici per l'architettura, src contiene i codici sorgenti e X11R6 serve per il sistema X Window (XFree86 in Red Hat Linux).
L'FHS dice:
"La directory /usr/local viene utilizzata dall'aministratore di sistema quando installa il software a livello locale. Prima che il software sia aggiornato deve essere effettuato un back up di questa directory. Può essere usato per i programmi e i dati che sono condivisibili con altri gruppi di host, ma che non si trovano in /usr."
La directory /usr/local ha una struttura simile alla directory /usr. Contiene le sottodirectory seguenti, che hanno uno scopo simile a quelle contenute nella directory /usr:
/usr/local |- bin |- doc |- etc |- games |- info |- lib |- man |- sbin |- src |
Da quando FHS permette al sistema di montare /usr in sola lettura, è necessario che i file di sistema delle directory di spool e quelle di lock siano memorizzati in /var. L'FHS in riferimento a /var dice:
"…file di dati variabili. Questa directory contiene i file di spool, di amministrazione, di log e i file temporanei."
Le seguenti directory sono tutte sottodirectory di /var:
/var |- arpwatrch |- cache |- db |- ftp |- gdm |- kerberos |- lib |- local |- lock |- log |- named |- nis |- opt |- preserve |- run +- spool |- anacron |- at |- cron |- fax |- lpd |- mail |- mqueue |- news |- rwho |- samba |- slrnpull |- squid |- up2date |- uucp |- uucppublic |- vbox |- voice |- tmp |- www |- yp |
I file di log del sistema, come messages e lastlog si trovano nella directory /var/log. La directory /var/lib contiene i database del sistema RPM. I file lock si trovano in /var/lock, solitamente in directory particolari per il programma che usa il file. La directory /var/spool ha delle sottodirectory per vari sistemi che devono memorizzare file di dati.
Nei sistemi Red Hat Linux, l'uso della directory /usr/local è leggermente diverso da quello specificato dall'FHS. L'FHS dice che in /usr/local va memorizzato il software non interessato agli aggiornamenti del sistema. Poiché gli aggiornamenti di Red Hat vengono effettuati con il sistema RPM e Gnome-RPM, non dovete proteggere i file mettendoli in/usr/local. Invece, vi raccomandiamo di usare /usr/local per il software locale del vostro computer.
Per esempio, supponiamo di montare /usr via NFS in sola lettura da un host chiamato jake. Se desiderate installare un pacchetto o un programma, ma non è permesso scrivere su jake, potrete comunque installarlo sotto /usr/local. Nel paragrafo seguente dovrete cercare di convincere l'amministratore di sistema di jake a installare il programma su /usr, voi potrete disinstallarlo da /usr/local.