Capitolo 2. Amministrazione del sistema

Questo capitolo offre una panoramica generale del sistema Red Hat Linux. Verranno illustrate le procedure e le configurazioni specifiche del sistema che differiscono da altri sistemi UNIX-like.

Struttura del filesystem

Red Hat ha contribuito al Filesystem Hierarchy Standard (FHS) per Linux un documento che definisce come vengono memorizzati i nomi e le posizioni dei file e delle directory all'interno del filesystem. Continueremo a seguire lo standard per mantenere, Red Hat Linux compatibile con il mondo Linux.

Il documento FHS è il riferimento ufficiale per qualsiasi filesystem compliant FHS, anche se alcuni argomenti sono purtroppo ancora senza documentazione. In questo paragrafo si fornisce una presentazione dello standard ed una descrizione delle parti del filesystem non ancora rese tali.

Potrete trovare lo standard completo sul sito

http://www.pathname.com/fhs/

Anche se la compatibilità con lo standard significa rendere il proprio sistema operativo compatibile con altri sistemi e permettere di montare in sola lettura la partizione /usr che contiene la maggior parte degli eseguibili necessari per il funzionamento del sistema stesso. La partizione /usr può essere montata anche da un CDROM o da un server NFS in sola lettura.

Panoramica sull'FHS

Le direttive ed i file di seguito sono solo una parte di quello che è stato inserito nel documento FHS. Informazioni complete ed aggiornate possono essere reperite nel documento FHS.

La directory /dev

La directory /dev contiene le parti del file system che rappresentano i dispositivi collegati al sistema. Questi file sono essenziali per il corretto funzionamento del sistema.

La directory /etc

La directory /etc è riservata ai file di configurazione locali della vostra macchina. Questa directory non contiene nessun file binario. I file binari che nel passato venivano posizionati nella sopracitata directory, sono stati spostati nella directory /sbin o /bin.

Le directory X11 e skel sono sottodirectory di /etc:

/etc
  |- X11
  +- skel

La directory X11 contiene i file di configurazione del sistema grafico X Window, come ad esempio XF86Config. La directory skel contiene i file "skeleton" per gli utenti, cioè i file che vengono copiati automaticamente nelle home directory quando viene creato un nuovo utente.

La directory /lib

La directory /lib contiene solo le librerie necessarie all'esecuzione dei programmi presenti in /bin e /sbin.

La directory /proc

La directory /proc contiene particolari file che estraggono o inviano informazioni al kernel. È un metodo facile per accedere alle informazioni del sistema operativo utilizzando il comando cat.

La directory /sbin

La directory /sbin contiene gli eseguibili utilizzati solo dall'utente root, tra cui quelli necessari per il boot, il mount, ed il recovery del filesystem. la FHS dice:

"/sbin contiene tipicamente 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."

Potete trovare i seguenti programmi in /sbin:

arp, clock, getty, halt, init, fdisk,
fsck.*, ifconfig, lilo, mkfs.*, mkswap, reboot,
route, shutdown, swapoff, swapon, update
	  

La directory /usr

La directory /usr contiene tutti i file che sono condivisi nello stesso calcolatore. La directory /usr ha solitamente una partizione dedicata e dovrebbe essere montata in sola lettura. Di seguito viene mostrata la sua struttura /usr:

/usr
  |- X11R6
  |- bin
  |- doc
  |- etc
  |- games
  |- include
  |- lib
  |- libexec	    
  |- local
  |- sbin
  |- share
  +- src

La directory X11R6 è riservata ai file per il sistema grafico X Window (Red Hat Linux usa XFree86 ), bin per gli eseguibili, doc per la documentazione aggiuntiva di ogni pacchetto, etc per i file di configurazione del calcolatore, include per i file header del linguaggio C, info per i file info di GNU, lib per le librerie, man per le pagine man, sbin per i binari relativi all'amministrazione del sistema (quelli che non appartengono a /sbin), e src per il codice sorgente.

La directory /usr/local

La 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.

La directory /usr/local ha una struttura simile alla directory /usr:

/usr/local
       |- bin
       |- doc
       |- etc
       |- games
       |- info
       |- lib
       |- man
       |- sbin
       +- src

La directory /var

Da quando FHS permette che il sistema possa montare /usr in sola lettura, è necessario che i file di sistema delle directory di spool e quelle di lock siano memorizzate in /var L'FHS in riferimento a /var dice:

…file di dati variabili. Questa directory contiene i file di spool, di amministrazione, i log, e file temporanei.

Le seguenti directory sono tutte sottodirectory di /var:

/var
  |- cache
  |- db
  |- ftp
  |- gdm
  |- 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
  |- yp

I file di log del sistema, come wtmp e lastlog li possiamo trovare nella directory /var/log. La directory /var/lib contiene il database del sistema RPM. Le pagine formattate sono memorizzate in /var/catman, ed i lock in /var/lock. La directory /var/spool contiene le sottodirectory per i sistemi che hanno bisogno di memorizzare temporaneamente file di dati.

/usr/local in Red Hat Linux

Nei sistemi Red Hat Linux, l'uso della directory /usr/local è leggermente diverso dalla specifica FHS. Lo standard FHS dice che la directory /usr/local deve contenere il software e gli aggiornamenti che devono essere installati localmente sul calcolatore. Poiché gli aggiornamenti vengono effettuati con il sistema RPM o Gnome-RPM, non è necessario installarli in questa directory, perchè automaticamente aggiornano le precedenti versioni.

Per esempio, supponiamo di montare /usr via NFS in sola lettura da beavis. Se desiderate installare un pacchetto o un programma, ma non è permesso scrivere su beavis, potrete comunque installarlo sotto /usr/local. Nel paragrafo seguente dovrete cercare di convincere l'amministratore di sistema di beavis di installare il pogramma su /usr, voi potrete disinstallarlo da /usr/local.