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
Manual pages, while relatively terse in style, contain a great deal of essential information. We will quickly go over the command for viewing them. Simply type
man manual-page
— the manual page usually goes by the same name as the command whose documentation is sought. For example, to learn about the possible options for the
cp
command, you would type the
man cp
command at the shell prompt (see sidebar
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
The GNU project has written manuals for most of its programs in the info format; this is why many manual pages refer to the corresponding info documentation. This format offers some advantages, but the default program to view these documents (it is called info
) is also slightly more complex. You would be well advised to use pinfo
instead (from the pinfo package).
The info documentation has a hierarchical structure, and if you invoke pinfo
without parameters, it will display a list of the nodes available at the first level. Usually, nodes bear the name of the corresponding commands.
With
pinfo
navigating between these nodes is easy to achieve with the arrow keys. Alternatively, you could also use a graphical browser, which is a lot more user-friendly. Again,
konqueror
and
yelp
work; the
info2www
also provides a web interface.
Note that the info system is not suitable for translation, unlike the man
page system. info documents are thus almost always in English. However, when you ask the pinfo
program to display a non-existing info page, it will fall back on the man page by the same name (if it exists), which might be translated.
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.
In most cases, free software programs have websites that are used to distribute it and to bring together the community of its developers and users. These sites are frequently loaded with relevant information in various forms: official documentation, FAQ (Frequently Asked Questions), mailing list archives, etc. Problems that you may encounter have often already been the subject of many questions; the FAQ or mailing list archives may have a solution for it. A good mastery of search engines will prove immensely valuable to find relevant pages quickly (by restricting the search to the Internet domain or sub-domain dedicated to the program). If the search returns too many pages or if the results do not match what you seek, you can add the keyword debian
to limit results and target relevant information.
If you do not know the address for the software's website, there are various means of getting it. First, check if there is a
Homepage
field in the package's meta-information (
apt-cache show package
). Alternately, the package description may contain a link to the program's official website. If no URL is indicated, look at
/usr/share/doc/package/copyright
. The Debian maintainer generally indicates in this file where they got the program's source code, and this is likely to be the website that you need to find. If at this stage your search is still unfruitful, consult a free software directory, such as FSF's Free Software Directory, or search directly with a search engine, such as Google, DuckDuckGo, Yahoo, etc.
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.
Many such tutorials are managed by the Linux Documentation Project (LDP), whose website hosts all of these documents:
Restez critique en lisant ces documents. Ils sont fréquemment vieux de plusieurs années ; leurs informations seront donc parfois obsolètes. Ce phénomène est encore plus fréquent 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…