Pour un administrateur, le plus important est d'être capable de faire face à toute situation, connue ou inconnue. Nous proposons dans ce chapitre un ensemble de méthodes qui vous permettront — nous l'espérons — d'isoler la cause des problèmes que vous ne manquerez pas de rencontrer, pour mieux les résoudre ensuite.
7.1. Les sources de documentation
Avant de pouvoir comprendre ce qui se passe réellement en cas de problème, il faut connaître le rôle théorique de chaque programme impliqué. Pour cela, rien de tel que de consulter leurs documentations ; mais celles-ci étant multiples et dispersées, il convient de les connaître toutes.
7.1.1. Les pages de manuel
Les pages de manuel, relativement austères de prime abord, regroupent pourtant une foule d'informations indispensables. Présentons rapidement la commande qui permet de les consulter. Il s'agit de
man page-manuel
où le nom de la page de manuel est le plus souvent celui de la commande à découvrir. Pour se renseigner sur les options possibles de la commande
cp
, on tapera donc la commande
man cp
à l'invite de l'interpréteur de commandes (voir encadré
B.A.-BA Interpréteur de commandes).
Les pages de manuel ne documentent pas uniquement les programmes accessibles en ligne de commande, mais aussi les fichiers de configuration, les appels système, les fonctions de la bibliothèque C, etc. Des collisions de noms surviennent donc. Ainsi, la commande read
de l'interpréteur de commandes s'appelle comme l'appel système read
. C'est pourquoi les pages de manuel sont classées dans des sections numérotées :
commandes exécutables depuis l'interpréteur ;
appels système (fonctions fournies par le noyau) ;
fonctions de bibliothèques (fournies par les bibliothèques système) ;
périphériques (sous les systèmes dérivés d'Unix, ce sont des fichiers spéciaux, habituellement placés sous /dev/
) ;
fichiers de configuration (formats et conventions) ;
jeux ;
ensemble de macros et de standards ;
commandes d'administration système ;
routines du noyau.
Il est possible de préciser la section de la page de manuel recherchée : pour consulter la documentation de l'appel système read
, on tapera donc man 2 read
. En l'absence d'une section explicite, c'est la première section abritant une page du nom demandé qui sera utilisée. Ainsi, man shadow
renvoie shadow(5) parce qu'il n'y a pas de pages de manuel shadow dans les sections 1 à 4.
Évidemment, si vous ne connaissez pas les noms des commandes, le manuel ne vous sera pas d'un grand secours. C'est l'objet de la commande apropos
, qui permet de mener une recherche dans les pages de manuel, ou plus précisément dans leurs descriptions courtes : chaque page de manuel commence en effet par un résumé en une ligne des fonctions documentées plus en détail par la suite. apropos
renvoie donc une liste des pages de manuel dont la description mentionne le ou les mots-clés demandés. En choisissant bien ceux-ci, on trouvera le nom de la commande recherchée.
Exemple 7.1. Retrouver cp
avec apropos
$
apropos "copy file"
cp (1) - copy files and directories
cpio (1) - copy files to and from archives
gvfs-copy (1) - Copy files
gvfs-move (1) - Copy files
hcopy (1) - copy files from or to an HFS volume
install (1) - copy files and set attributes
ntfscp (8) - copy file to an NTFS volume.
La commande
man
n'est plus le seul moyen de consulter les pages de manuel, car les programmes
konqueror
(sous KDE) et
yelp
(sous GNOME) offrent également cette possibilité. On trouve encore une interface web, fournie par le paquet
man2html
: les pages de manuel sont alors consultables à l'aide d'un navigateur. Sur l'ordinateur contenant le paquet, utilisez cette URL :
Cet utilitaire a donc besoin d'un serveur web. C'est pourquoi vous choisirez d'installer ce paquet sur l'un de vos serveurs : tous les utilisateurs du réseau local bénéficieront du service (y compris les postes non Linux) et vous éviterez de devoir mettre en place un serveur HTTP sur chaque poste. Par ailleurs, si votre serveur est accessible depuis l'extérieur, il peut être souhaitable de restreindre l'accès à ce service aux seuls utilisateurs du réseau local.
7.1.2. Documentation au format info
Le projet GNU a rédigé les manuels de la plupart de ses programmes au format info ; c'est pourquoi de nombreuses pages de manuel renvoient vers la documentation info correspondante. Ce format offre quelques avantages mais le programme qui permet de consulter ces documentations est également un peu plus complexe. Il est recommandé d'utiliser pinfo
à la place (dans le paquet pinfo).
La documentation info a une structure hiérarchique et pinfo
invoqué sans paramètres affichera la liste des nœuds disponibles au premier niveau. Habituellement, un nœud porte le nom de la commande correspondante.
Dans
pinfo
, la navigation entre les nœuds se fait simplement avec les touches flèches. Alternativement, vous pouvez aussi employer un navigateur graphique, beaucoup plus convivial. À nouveau,
konqueror
et
yelp
conviennent ; le paquet
info2www
fournit également une interface web.
On notera que le système info ne permet pas de traduction, contrairement au système de pages man
. Ses pages sont donc presque systématiquement en anglais. Cependant, lorsqu'on demande au programme pinfo
d'afficher une page info inexistante, il se rabattra sur la page man du même nom, si celle-ci existe ; cette dernière pourra donc éventuellement exister en français.
7.1.3. La documentation spécifique
Chaque paquet intègre sa documentation spécifique : même les logiciels les moins bien documentés disposent en général au moins d'un fichier README
(« lisez-moi ») contenant quelques informations intéressantes et/ou importantes. Cette documentation est installée dans le répertoire /usr/share/doc/paquet/
(où paquet représente le nom du paquet). Si elle est très volumineuse, elle peut ne pas être intégrée au paquet du programme mais constituer son propre paquet, alors intitulé paquet-doc
. Le paquet du programme recommande en général le paquet de documentation pour le mettre en exergue.
Dans le répertoire /usr/share/doc/paquet/
se trouvent également quelques fichiers fournis par Debian qui complètent la documentation du point de vue des particularités ou améliorations du paquet par rapport à une installation traditionnelle du logiciel. Le fichier README.Debian
signale ainsi toutes les adaptations effectuées pour être en conformité avec la charte Debian. Le fichier changelog.Debian.gz
permet quant à lui de suivre les modifications apportées au paquet au fil du temps : il est très utile pour essayer de comprendre ce qui a changé entre deux versions installées et qui n'ont apparemment pas le même comportement. Enfin, on trouve parfois un fichier NEWS.Debian.gz
documentant les changements majeurs du programme qui peuvent concerner directement l'administrateur.
Dans la majorité des cas, un logiciel libre dispose d'un site web pour le diffuser et fédérer la communauté de ses développeurs et utilisateurs. Ces sites regorgent souvent d'informations pertinentes sous différentes formes : les documentations officielles, les foires aux questions (FAQ), les archives des listes de diffusion relatives au logiciel, etc. Fréquemment, un problème rencontré aura déjà fait l'objet de nombreuses questions ; la FAQ ou les archives de l'une des listes de diffusion en abriteront alors la solution. Une bonne maîtrise d'un moteur de recherche s'avérera précieuse pour trouver rapidement les pages pertinentes (en restreignant éventuellement la recherche au domaine ou sous-domaine Internet dédié au logiciel). Si le moteur renvoie trop de pages ou si les réponses ne correspondent pas à ce qui est attendu, l'ajout du mot-clé debian
permet de restreindre les réponses en ciblant les informations concernant les utilisateurs de ce système.
Si vous ne connaissez pas l'adresse du site web du logiciel, il y a différents moyens de l'obtenir. Vérifiez en premier lieu si un champ
Homepage
n'est pas présent dans les méta-informations du paquet (
apt-cache show paquet
). Alternativement, la description du paquet peut contenir un pointeur sur le site web officiel du logiciel. Si aucune URL n'y est indiquée, il convient alors d'examiner
/usr/share/doc/paquet/copyright
. Le mainteneur Debian y mentionne en effet l'endroit où il a récupéré le code source du programme et il est probable qu'il s'agisse justement du site web en question. Si à ce stade votre recherche est toujours infructueuse, il faut consulter un annuaire de logiciels libres comme celui de la FSF ou Framasoft, ou encore directement effectuer une recherche sur un moteur comme Google ou Yahoo.
Pensez également à consulter le wiki du projet Debian. Il s'agit d'un site collaboratif où même de simples visiteurs peuvent faire des suggestions depuis un navigateur. Il sert aussi bien aux développeurs pour spécifier des projets qu'aux utilisateurs pour partager leurs connaissances en rédigeant collaborativement des documents.
7.1.5. Les tutoriels (HOWTO)
Un howto (« comment faire ») est une documentation décrivant concrètement, étape par étape, comment atteindre un but prédéfini. Les buts couverts sont relativement variés mais souvent techniques : mettre en place l'IP Masquerading (masquage d'IP), configurer le RAID logiciel, installer un serveur Samba, etc. Ces documents essaient souvent de couvrir l'ensemble des problématiques susceptibles de se produire dans la mise en œuvre d'une technologie donnée.
Ces tutoriels sont gérés par le
Linux Documentation Project (projet de documentation Linux, LDP), dont le site web publie l'ensemble de ces documents :
Restez critique en lisant ces documents. Il arrive fréquemment qu'ils datent de plusieurs années ; leurs informations seront donc parfois obsolètes. Ce phénomène est encore plus répandu pour leurs traductions, puisque les mises à jour de ces dernières ne sont ni systématiques ni instantanées après la publication d'une nouvelle version du document original — cela fait partie des joies de travailler dans un environnement bénévole et sans contraintes…