Product SiteDocumentation Site

Capitolo 7. Risoluzione dei problemi e reperimento delle principali informazioni

7.1. Fonti documentali
7.1.1. Pagine di manuale
7.1.2. Documenti info
7.1.3. Documentazione specifica
7.1.4. Siti web
7.1.5. Esercitazioni (HOWTO)
7.2. Procedure comuni
7.2.1. Configurare un programma
7.2.2. Monitorare l'attività dei demoni
7.2.3. Chiedere aiuto su una lista di posta
7.2.4. Segnalare un bug quando un problema è troppo difficile
La qualità più importante di un amministratore è saper far fronte a qualsiasi situazione, nota o ignota. Questo capitolo suggerisce alcuni metodi che si spera permetteranno di isolare la causa di qualunque problema si possa incontrare, così da poterlo risolvere.

7.1. Fonti documentali

Prima di capire cosa sta succedendo in caso di problemi, serve sapere il ruolo teorico giocato da ciascun programma coinvolto nel problema. A questo scopo, il miglior riflesso da avere è consultare la loro documentazione; ma dal momento che questa è vasta e sparpagliata, è bene conoscere tutti i posti in cui si potrebbe trovare.

7.1.1. Pagine di manuale

Le pagine di manuale, sebbene relativamente laconiche, contengono una messe di informazioni importanti. Qui si dà una rapida occhiata al comando per vederle. Si deve scrivere semplicemente man pagina-di-manuale; di solito la pagina di manuale ha lo stesso nome del comando di cui si cerca documentazione. Per esempio, per imparare le possibili opzioni del comando cp, si scriverà il comando man cp al prompt di shell (vedere il riquadro).
Le pagine di manuale non documentano solo i programmi accessibili dalla riga di comando, ma anche i file di configurazione, le chiamate di sistema, le funzioni di libreria C e così via. A volte alcuni nomi possono collidere. Per esempio, il comando read della shell ha lo stesso nome della chiamata di sistema read. Per questo le pagine di manuale sono organizzate in sezioni numerate:
  1. comandi eseguibili dalla riga di comando;
  2. chiamate di sistema (funzioni fornite dal kernel);
  3. funzioni di libreria (fornite dalle librerie di sistema);
  4. device (in Unix sono file speciali, di solito posti nella directory /dev/);
  5. file di configurazione (formati e convenzioni);
  6. giochi;
  7. insiemi di macro e standard;
  8. comandi di amministrazione del sistema;
  9. routine del kernel.
È possibile specificare la sezione della pagina di manuale che si sta cercando: per vedere la documentazione della chiamata di sistema read, si scriverà man 2 read. Quando non è esplicitamente specificata una sezione, verrà mostrata la prima sezione che ha una pagina di manuale col nome richiesto. Perciò, man shadow restituirà shadow(5) perché non ci sono pagine di manuale per shadow nelle sezioni da 1 a 4.
Ovviamente, se non si conoscono i nomi dei comandi, il manuale non sarà molto utile. Per questo scopo c'è il comando apropos, che aiuta a cercare all'interno delle pagine di manuale, o più precisamente nelle loro descrizioni brevi. Ogni pagina di manuale in pratica comincia con un riassunto di una riga. apropos restituisce una lista di pagine di manuale che menzionano le parole chiave richieste. Con una scelta oculata, si può trovare il nome del comando che serve.

Esempio 7.1. Trovare cp con apropos

$ apropos "copy file"
cp (1)               - copy files and directories
cpio (1)             - copy files to and from archives
hcopy (1)            - copy files from or to an HFS volume
install (1)          - copy files and set attributes

Il comando man non è l'unico modo di consultare le pagine di manuale; infatti, anche konqueror (in KDE) e yelp (sotto GNOME) offrono questa possibilità. Esiste anche un'interfaccia web, fornita dal pacchetto man2html, che permette di vedere le pagine di manuale in un browser web. Su un computer su cui è installato questo pacchetto, si può usare questo URL:
Questa utilità richiede un server web. Per questo si dovrebbe installare questo pacchetto su uno dei propri server: tutti gli utenti della rete locale potrebbero beneficiare di questo servizio (comprese macchine non Linux) e così non si è obbligati a installare un server HTTP su ogni macchina. Se il proprio server è accessibile anche da altre reti, potrebbe essere opportuno restringere l'accesso a questo servizio solo agli utenti della rete locale.

7.1.2. Documenti info

Il progetto GNU ha scritto manuali per la maggior parte dei suoi programmi in formato info; per questo motivo molte pagine di manuale rimandano alla corrispondente documentazione info. Questo formato offre alcuni vantaggi, ma il programma per visualizzare questi documenti è anche leggermente più complesso.
Si chiama ovviamente info e prende come argomento il nome del «nodo» da consultare. La documentazione info ha una struttura gerarchica e se si invoca info senza parametri verrà mostrata una lista dei nodi disponibili al primo livello. Di solito i nodi portano i nomi dei comandi corrispondenti.
I controlli di navigazione nella documentazione non sono particolarmente intuitivi. Il metodo migliore per prendere confidenza col programma probabilmente è invocarlo, premere h (per «help», «aiuto») e quindi seguire le istruzioni per imparare con la pratica. In alternativa, si può anche usare un browser grafico, che è molto più amichevole. Anche qui, konqueror e yelp funzionano; anche info2www fornisce un'interfaccia web.
Notare che il sistema info, al contrario del sistema di pagine man, non permette traduzioni. Perciò i documenti info sono sempre in inglese. Tuttavia, quando si chiede al programma info di visualizzare una pagina info non esistente, questo ricadrà sulla pagina man con lo stesso nome (se esiste), che potrebbe essere stata tradotta.

7.1.3. Documentazione specifica

Ogni pacchetto include la propria documentazione. Anche i programmi meno documentati in generale hanno un file README che contiene informazioni interessanti o importanti. Questa documentazione è installata nella directory /usr/share/doc/pacchetto/ (dove pacchetto rappresenta il nome del pacchetto). Se la documentazione è particolarmente grande, potrebbe non essere inclusa nel pacchetto principale del programma, ma piuttosto separata in un pacchetto dedicato che di solito di chiama pacchetto-doc. Di solito il pacchetto principale raccomanda il pacchetto con la documentazione, dimodoché è facile trovarla.
Nella directory /usr/share/doc/pacchetto/ ci sono inoltre alcuni file forniti da Debian e che completano la documentazione specificando le peculiarità del pacchetto o dei miglioramenti rispetto a un'installazione tradizionale del software. Il file README.Debian inoltre indica tutti gli adattamenti fatti per aderire alla Debian Policy. Il file changelog.Debian.gz permette all'utente di seguire le modifiche fatte al pacchetto nel tempo: è molto utile per cercare di capire cos'è cambiato fra due versioni installate che non hanno lo stesso comportamento. Infine, a volte è presente un file NEWS.Debian.gz che documenta i principali cambiamenti al programma che possono interessare direttamente l'amministratore.

7.1.4. Siti web

Nella maggior parte dei casi, i programmi di software libero hanno dei siti web che sono usati per distribuirli e unire la comunità dei loro sviluppatori e utenti. Questi siti sono spesso pieni di informazioni importanti in varie forme: documentazione ufficiale, FAQ (Frequently Asked Questions, domande poste frequentemente), archivi delle liste di posta ecc. Spesso i possibili problemi sono già stati oggetto di svariate domande; le FAQ o gli archivi delle liste di posta potrebbero contenere una soluzione. Una buona padronanza dei motori di ricerca risulterà molto preziosa per trovare rapidamente le pagine di interesse (restringendo la ricerca al dominio o sotto-dominio Internet dedicato al programma). Se la ricerca restituisce troppe pagine o se i risultati non sono attinenti a ciò che si cerca, si può aggiungere la parola chiave debian per limitare i risultati e mirare alle informazioni pertinenti.
Se non si conosce l'indirizzo del sito web del software, ci sono diversi modi per ottenerlo. Prima di tutto, controllare se esiste un campo Homepage nelle meta-informazioni del pacchetto (apt-cache show pacchetto). In alternativa, la descrizione del pacchetto potrebbe contenere un collegamento al sito web ufficiale del programma. Se non è indicato alcun URL, cercare nel file /usr/share/doc/pacchetto/copyright. Il manutentore Debian di solito indica in questo file dove ha ottenuto il codice sorgente del programma ed è probabile che questo sia il sito web cercato. Se a questo punto la ricerca è ancora infruttuosa, consultare una directory di software libero, come Freecode.com (già Freshmeat.net) o Framasoft oppure cercare direttamente con un motore di ricerca, come Google o Yahoo.
È anche possibile controllare il wiki di Debian, un sito web collaborativo dove chiunque, anche semplici visitatori, possono dare suggerimenti direttamente dai loro browser. È usato tanto dagli sviluppatori per delineare e specificare i loro progetti, quanto dagli utenti che condividono la loro conoscenza scrivendo documenti in modo collaborativo.

7.1.5. Esercitazioni (HOWTO)

Un howto è un documento che descrive, in termini concreti e passo passo, come raggiungere uno scopo predefinito. Gli scopi coperti sono abbastanza variegati, ma spesso di natura tecnica: per esempio, impostare il mascheramento degli IP, configurare un RAID software, installare un server Samba ecc. Questi documenti spesso cercano di coprire tutti i potenziali problemi che potrebbero verificarsi durante l'implementazione di una data tecnologia.
Molte di queste esercitazioni sono gestite dal Linux Documentation Project (LDP), il cui sito web ospita tutti questi documenti:
Per vederli localmente, basta installare il pacchetto doc-linux-html. In questo modo saranno disponibili delle versioni HTML locali nella directory /usr/share/doc/HOWTO/.
È bene prendere questi documenti cum grano salis, in quanto sono spesso vecchi di diversi anni e le informazioni che contengono sono a volte obsolete. Questo fenomeno è ancora più frequente per le loro traduzioni, poiché gli aggiornamenti dopo la pubblicazione di una nuova versione dei documenti originali non sono né sistematici né istantanei. Questo fa parte delle gioie di lavorare in un ambiente volontario e senza vincoli...