2.7. Documentazione di sistema e di riferimento

Debian GNU è un sistema libero e aperto. Tutte le situazioni che possono essere un problema per l'utente sono già documentate e spiegate da qualche parte. Sicuramente una pietra miliare nella propria esperienza Unix è imparare dove siano le sorgenti di quelle informazioni, come interpretare i loro contenuti e, generalmente, come aiutarsi da sé in situazioni prevedibili o meno senza aiuto di qualcun altro.

La documentazione di Unix è esaustiva e facilmente disponibile. Molta di essa è scritta dagli stessi autori del software (e non dal vicino dipartimento commerciale) così si ha l'attuale privilegio di comunicare con gli autori medesimi. L'insieme di persone che scrive i programmi e la documentazione Free Software comprende una larga comunità di tecnici professionisti.

Il processo inizia per conto proprio leggendo la documentazione fornita per vedere cosa hanno da dire gli autori del software e per comprendere un poco la loro mentalità. Debian ha uno speciale riguardo nei confronti della documentazione; se non è disponibile direttamente dall'autore originale, allora gli sviluppatori Debian scrivono da sé i pezzi mancanti.

In Debian, ciascun pacchetto che si installa crea una directory /usr/share/doc/PACCHETTO/ e ci posiziona almeno i file changelog. La directory in aggiunta spesso contiene i file INSTALL, README e altri file della fonte originale che sono alcune volte irrilevanti per i propri scopi, dato che i compiti ivi descritti sono già stati realizzati dagli sviluppatori Debian (ma il resto delle note, naturalmente, fornisce comunque buone informazioni riguardo il programma). In definitiva quello che si sta cercando sono annotazioni specifiche di Debian (nei file README.Debian). Questo è il primo posto che si visita per maggiori informazioni riguardo un pacchetto. Non è insolito che i pacchetti Debian contengano un enorme "valore aggiunto" grazie ai file README ed ai consigli pratici forniti dai manutentori. Alcune volte, se la documentazione è massiccia, viene seguita una nomenclatura convenzionale e la documentazione stessa viene distribuita in un paccketto PACCHETTO-doc separato.

L'altra parte, molto utilizzata, della documentazione sono le pagine di manuale del sistema, accessibili con i comandi man e info. man segue il tradizionale approccio alla pagina man di Unix mentre info è la raccolta in stile GNU texinfo. Le pagine man sono ordinate per volumi o sezioni che includono i comandi utente, chiamate di sistema, subroutine, dispositivi, formato dei file, giochi, varie e argomenti di amministrazione del sistema. I sistemi man e info non leggono le pagine di manuale dell'altro, ma coesistono pacificamente sul proprio sistema, spesso in un modo in cui le pagine info sono ignorate dall'utente. Una delle ragioni, secondo la mia opinione, è l'interfaccia utente molto noiosa di info (a meno che non si sia abituati a GNU Emacs, nel qual caso si percepirebbe la visualizzazione come normale). Per rimediare in parte al problema, si provi ad installare il browser alternativo pinfo (sudo apt-get install pinfo).

Per prendere confidenza con le pagine man si provi avviando man mkdir. Si noterà che tutte le pagine man seguono una struttura piuttosto standard; spesso includono le sezioni NOME, SINTASSI (di utilizzo), DESCRIZIONE, AUTORE, BUG, COPYRIGHT e VEDERE ANCHE. La pagina specifica che avete aperto (mkdir) dice che tutte le opzioni del programma (quelle che iniziano con "-" o "--") sono facoltative (indicate da parentesi quadre, [], nella riga sintassi), ma è obbligatorio (richiesto) almeno un nome di directory da creare. In alcune pagine di manuale, le opzioni obbligatorie sono racchiuse tra i simboli <minor/maggiore di> (come in <-s dimensione>).

Si vedano i comandi man ps o pinfo ls. È assolutamente necessario sviluppare l'abitudine di leggere le pagine di manuale. Ogni qualvolta menzioniamo un comando di sistema o un file di configurazione, ci aspettiamo implicitamente che si sia data una veloce lettura alla sua pagina man. I principianti hanno problemi a comprendere le pagine man; spesso seppure tutte le informazioni che vogliono imparare siano là, nella pagina man, hanno difficoltà a capirci qualcosa. Se capita di avere questo problema, si continui a leggere e, una volta che si sia letto abbastanza materiale, si arriverà in modo naturale a capire le cose!

Alcune volte si potrebbe solo volere una descrizione di una riga, generale e breve di un programma. Si veda whatis cp o whatis df du. Se si sta cercando una particolare funzionalità ma non si conosce il nome vero del comando, si provi usando apropos. Dato che ricerca le pagine man che soddisfano una qualsiasi delle parole chiave inserite, tende a riportare molti risultati, perciò si limitino le proprie ricerche ad una singola parola chiave, tipo apropos usage o apropos rename (o idealmente, avviare man apropos e si impari come specificare la modalità di ricerca).

Se si sente la necessità di fare una domanda alla comunità, si possono utilizzare le varie mailing list (ML) o IRC (Internet Relay Chat) in "tempo reale". Probabilmente esistono alcune mailing list per quasi qualsiasi programma o progetto sul quale si può avere una domanda, ma le mailing list non sono idonee per discussioni informali e richieste di aiuto amatoriali (per essere precisi, nessuno dice che non lo siano, ma tra qualche anno, sicuramente saremo i primi a non apprezzare che Google o AltaVista colleghino il proprio nome a tali contenuti).

IRC è la chance migliore per quel che riguarda problemi in "tempo reale". Si installi il pacchetto ircii, si avvii poi semplicemente irc e ci si colleghi al canale Debian digitando /join #debian una volta connessi al server. Ci sono sempre centinaia di persone presenti sul canale; se le proprie domande sono sensate e non si pretende che le persone rispondano con una monografia sull'argomento, probabilmente si troverà aiuto. Si passi del tempo sul canale, si impari dalle domande e risposte degli altri e non si aggiunga disturbo al canale. Si esca da ircii digitando /quit. Si noti bene che la possibilità di presentare la propria domanda ad una platea tecnicamente esperta è di per sé un grande privilegio e, naturalmente, si deve seguire un minimo di protocollo: non è richiesto che si abbia familiarità con l'argomento (se la si avesse, non si starebbe nemmeno facendo la domanda), ma si legga How to Ask Questions the Smart Way di Eric Raymond, per aumentare le proprie possibilità di ricevere risposte utili.