Dopo la fase introduttiva nella quale abbiamo illustrato per sommi capi le parti principali che compongono la nostra Linux-box (ma sappiate che quanto detto vale, in generale e con le dovute differenze, anche per tutta la grande famiglia degli Unix), iniziamo ora a vedere come interagire ed iniziare a lavorare con il nostro sistema.
Come tutti sapranno, comunque, Linux non ha l'user-friendliness propria di altri sistemi, e spesso districarsi fra comandi e configurazioni non è cosa da poco. Quello che tutti purtroppo dimenticano, invece, è che installando Linux normalmente andiamo ad installare (salvo nostre indicazioni in contrario) anche una quantità quasi smisurata di documentazione sui diversi programmi e sul sistema in generale, alla quale si aggiunge anche tutta quella presente in internet.
Lasciando da parte ciò che internet propone, sebbene una nota meritino gli Appunti Linux di Daniele Giacomini, leggibili all'url http://www.pluto.linux.it/ildp/AppuntiLinux, in questo capitolo ci soffermeremo su ciò che abbiamo sul sistema e che, forse, non sappiamo di avere!
La documentazione che ci viene installata sul sistema si può dividere in due "famiglie": la documentazione generale e le pagine di manuale.
Documentazione Generale
Alla documentazione che abbiamo definito come "generale" è spesso dedicata un'intera directory (/usr/doc o /usr/share/doc, oppure entrambe in alcuni casi, a seconda della policy di ogni distribuzione) che contiene a sua volta delle sottodirectory, ognuna delle quali contenente informazioni utili per un determinato programma: ad esempio, ci potrebbe essere /usr/share/doc/apache oppure /usr/share/doc/sendmail. Il contenuto di tali directory è spesso vario, ed alcuni dei file "standard" che potreste trovare sono:
- README, che contiene informazioni generali sul programma, a volte anche sulla sua installazione e configurazione, sui BUG presenti ecc.
- Changelog, che contiene una lista dei cambiamenti, delle modifiche e dei bugfixes apportati dagli sviluppatori al programma;
- copyright, contenente informazioni sul copyright del programma;
- COPYING, ossia il testo completo della licenza con la quale il programma è distribuito.
Oltre a questi file, spesso si trova anche una directory "examples", contenente uno o più file di esempio per configurare il programma, e che spesso risultano molto utili e rendono il procedimento di configurazione molto più agevole.
Di massima, questi sono i file che si dovrebbero trovare in ognuna della sottodirectory di /usr/share/doc sebbene, come già detto, non c'è nulla di standard; ad esempio, la distribuzione Debian usa inserire il file Chengelog.Debian, relativo ai cambiamenti apportati al pacchetto .deb del programma o il file README.Debian, che contiene informazioni addizionali sul pacchetto relative alla distribuzione (ad esempio, come il programma è stato compilato, i cambiamenti rispetto all'originale ecc.); oppure, alcuni programmi vengono forniti con tanto di manuale in diversi formati (fra cui txt, html e ps) o con dei file README addizionali che trattano di argomenti come sicurezza, upgrades, architetture ecc: non è raro infatti vedere file come README.UPGRADE, README.NT, README.SOLARIS ecc.
I file più importanti in queste directory sono comunque i README "semplici": spesso sono note dell'autore del software relative a come implementare al meglio il programma sulla propria macchina, e dovrebbero sempre meritare una lettura!
Una piccola nota: spesso i README sono presentati come file compressi (README.gz) e non leggibili tramite i comandi cat, less o more (a meno di versioni modificate degli stessi). Per non dover ogni volta decomprimere il file e ricomprimerlo una volta terminata la lettura, usiamo l'utility zless, che permette di decomprimere a video i file compressi con estensione .gz; la sua sintassi, ovviamente, è
zless README.gz
Nel caso non aveste il programma zless, potete arrangiarvi con:
gzip -cd README.gz | more
Da non dimenticare poi sono gli HOW-TO, che solitamente occupano un pacchetto a sé stante nei cd della distribuzione: di norma, questi HOW-TO sono in lingua inglese, ma esistono anche le traduzioni in italiano (si veda http://www.pluto.linux.it/ildp, il sito di Italian Linux Documentation Project); tradotto, HOW-TO suona come "come fare": per qualsiasi domanda vi poniate (Come configuro la SoundBlaster?) esisterà quasi sicuramente un HOW-TO che ve lo spiega passo dopo passo! In generale, questo documenti sono in /usr/doc/HOWTO e le relative traduzioni nella sottodirectory italian/.
Le pagine di manuale
Oltre a quanto visto sopra, un'altra ottima fonte di informazione e documentazione sono le pagine di manuale, le così dette "man pages". Le man pages sono documenti che danno informazioni sul funzionamento dei programmi (ma non solo), sulle loro opzioni e, molto spesso, sulla loro configurazione.
Queste possono essere lette digitando al prompt dei comandi il comando "man" seguito dal nome del programma del quale ci interessa saperne di più: ad esempio, si potrebbero voler vedere le opzioni di "ping": digitiamo quindi: man ping e vedremo apparire una pagina di documentazione relativa proprio al comando ping.
Per finire, citiamo altri due comandi che ci possono tornare utili quando siamo alla ricerca di documentazione specifica: apropos e whatis.Il primo, apropos, ricerca un termine nei nomi e nelle descrizioni delle pagine di manuali, così che digitando ad esempio: apropos ping il sistema ci restituirà i nomi delle pagine di manuale le cui descrizioni contengono il testo "ping":
Net::Ping (3pm) - check a remote host for reachability
Text::Wrap (3pm) - line wrapping to form simple paragraphs
arping (8) - No manpage for this program, [...]
con2fbmap (8) - hows and set mapping between [...]
getkeycodes (8) - print kernel scancode-to-keycode [...]
ping (8) - send ICMP ECHO_REQUEST packets to [...]
setkeycodes (8) - load kernel scancode-to-keycode [...]
xkeycaps (1x) - graphically display and edit the X [...]
xmodmap (1x) - utility for modifying keymaps and [...]
swapoff (8) - enable/disable devices and files for [...]
swapon (8) - enable/disable devices and files for [...]
Come vedete, le pagine di manuale trovate (con la relativa sezione fra parentesi) non si riferiscono solamente al comando ping, ma anche a comandi come swapon e swapoff che con ping c'entrano davvero poco ma nella cui descrizione è presente la sequenza di caratteri 'ping'.
Vogliamo invece sapere in un attimo cos'è un determinato comando?Utilizziamo whatis e lo sapremo! Infatti, lanciando whatis ping ci verrà restituito:
ping (8) - send ICMP ECHO_REQUEST packets to network hosts
Notate come, a differenza di apropos, whatis visualizzi solamente la descrizione del programma che abbiamo indicato!
Questo, per quanto riguarda la documentazione, è tutto: il consiglio è di ricordare sempre che, installando Linux installeremo anche una quantità immensa di documentazione che, almeno in teoria, dovrebbe aiutarci a risolvere la maggior parte dei nostri problemi; impariamo quindi a tenerla sempre in grande considerazione!