Dopo aver fatto una carrellata delle directory principali del sistema, ci occuperemo di vedere cosa nello specifico queste directory contengano, tenendo sempre a mente che, viste le differenze fra le distribuzioni, non sempre quanto riportato in queste pagine sarà lo specchio di quanto in effetti si possa vedere sulla vostra macchina!
Iniziamo dalla directory /etc: di norma, come accennato, questa directory contiene i file di configurazione dei programmi installati ed in generale del sistema ma, elencando i contenuti della directory stessa, si potrà ben notare che /etc è zeppa di sottodirectory: questo perchè, limitandoci ai soli programmi, ognuno avra di norma un proprio posto dove inserire i propri file; il sistema risulta quindi ordinato e la sua gestione da parte dell'amministratore più semplice. Quindi, ad esempio, Apache terrà i propri file di configurazione in /etc/apache ( o /etc/httpd, in alcuni sistemi), X11 in /etc/X11 e così via. Inotre, /etc contiene anche directory e file relativi alla configurazione ed inizializzazione del sistema: così è ad esempio per /etc/inittab, /etc/init.d (o rc.d/init.d in alcune distribuzioni) e via dicendo.
Della particolarità della directory /proc si è già parlato: ma cos'è e, soprattutto, a cosa serve? Vi faccio un esempio al volo: sul portatile dal quale sto scrivendo è installato quel programma che monitorizza il carico della batteria, visibile attraverso il comando "apm"; se lanciato, ottengo questo output:
AC off-line, battery status high: 78%
che mi indica se il computer è connesso o meno alla linea elettrica e la quantità di carica della batteria rimanente. Masochisticamente, avrei anche potuto lanciare un:
less /proc/apm
che mi avrebbe restituito qualcosa di simile a:
1.13 1.2 0x0f 0x00 0x00 0x01 78% -1 ?
certo leggibile in alcune parti (so che mi rimane il 78% della batteria) ma non so dove andare a leggere se il sistema è o meno connesso alla rete elettrica.
Quindi, si potrebbe semplificare e dire che la directory /proc contiene lo "stato in un dato momento del sistema" relativamente alle informazioni in continuo mutamento (ad esempio l'apm, il numero di utenti collegati ecc.) e lo "stato del sistema" relativamente a quelle in qualche modo statiche, come possono essere le caratteristiche del processore montato. Di massima, tutte le informazioni in /proc sono leggibili tramite il comando:
less /proc/FILE
o, al limite, less -f /proc/FILE
Se nel tentativo di leggere un file il terminale vi si dovesse riempire di caratteri simili a geroglifici, non pensate al fatidico Ctrl+Alt+Canc: basterà digitare "reset" (anche se probabilmente non vedrete i caratteri a monitor), premere invio ed il tutto ritornerà alla normalità!
Veniamo ora a /usr per esaminarne il variegato contenuto: intanto, la prima directory che incontrerete sarà X11R6, contenente gli eseguibili (/usr/X11R6/bin/), le librerie (/usr/X11R6/lib/) e le pagine di manuale (/usr/X11R6/man/) relative all'ambiente grafico più comunemente noto con il nome di "X".
Trovano poi spazio le directory /usr/bin e /usr/sbin, ossia tutti gli eseguibili ad uso e consumo degli utenti della macchina (bin) e dell'amministratore (bin e sbin) non strettamente legati al funzionamento del sistema di base; questo vuol dire che, se installate un programma di riproduzione degli MP3, con grossa pobabilità l'eseguibile andrà a finire proprio in /usr/bin.
Altra importantissima directory è poi /usr/doc, che conterrà sottodirectory (una per ogni programma!) piene di megabyte di documentazione: fate in modo di familiarizzaere presto con i suoi contenuti!! Per gli sviluppatori, poi, la directory /usr/include contiene una miriade di file ".h": non credo sia necessario aggiungere altro!
Anche la directory /usr/man è di importanza estrema: sebbene non contenga assolutamente niente di strettamente necessario al funzionamento del sistema, al suo interno si trovano le pagine di manuale (man pages) per i programmi: oltre alla già citata /usr/doc, quindi, sappiate che esiste un altra directory (e non è l'unica!) contenente dell'ottima documentazione. Vedremo nei prossimi capitoli come leggerla e sfruttarla.
Chiudiamo il capitolo elencando i contenuti della directory /var. Lesottodirectory più importanti sono:
- log, che contiene tutti i file di log dei programmi in esecuzione sulla macchina, utili per poterla amministrare al meglio ed essenziali per scovare errori di configurazione, tentativi di intrusione dall'esterno ecc.
- mail, che conterrà i messaggi di posta elettonica scaricati da internet o inviati dalla rete locale (o addirittura da un utente o demone ad un altro utente) e non ancora letti.
- run, contenente il PID (una sorta di cartellino d'identità numerico) dei servizi in esecuzione.
- spool che contiene lo spool di stampa, delle email e simili.
A questo punto abbiamo visto le directory principali del sistema, il loro contenuto e le loro sottodirectory; ancora qualche indispensabile cenno teorico per poter poi partire ad esaminare il sistema da un lato più "gradevolmente" pratico!