Cette section détaille l'organisation des pages de manuel à travers le système, en incluant /usr/man.
Les pages de manuel sont stockées dans <mandir>/<locale>/man[1-9]. L'explication de <mandir> et <locale> est donnée ci-dessous.
Figure 4.9.1
Le <mandir> principal du système est /usr/man. /usr/man contient les manuels d'information pour les commandes et les données sous les systèmes de fichiers / et /usr. De manière évidente, il n'y a pas de pages de manuel dans / parce qu'elles ne sont pas demandées au moment du démarrage ni en cas d'urgence.
Des provisions doivent être faites dans la structure de /usr/man pour supporter les pages de manuel écrites dans des langues différentes (ou multiples). Ces provisions doivent prendre en compte le stockage et la référence de ces pages de manuel. Les facteurs pertinents comprennent la langue (en incluant les differences géographiques), et le codage de caractères.
Cette appellation des sous-répertoires de langues dans /usr/man est basée sur l'Appendice E de la norme POSIX 1003.1 qui décrit la chaîne d'identification locale -- la méthode la mieux acceptée pour décrire un environnement culturel. La chaîne <locale> est :
<langue>[_<territoire>][.<code-de-caractères>][,<version>]
Le champ <langue> sera pris dans ISO 639 (un code pour la représentation des noms de langues). Il sera long de deux caractères et spécifié avec des lettres bas-de-casse uniquement.
Le champ <territoire> sera le code de deux lettres d'ISO 3166 (une spécification de la représentation des pays), si possible. (La plupart des gens sont familiers avec les codes de deux lettres utilisés pour les codes de pays dans les adresses de courrier électronique.) Il sera long de deux caractères et spécifié avec des lettres bas-de-casse uniquement. (Une exception majeure à cette règle est le Royaume-Uni (NdT United Kingdom en anglais) qui est `GB' dans l'ISO 3166, mais `UK' pour la plupart des adresses de courrier électronique.) Le champ <code-de-caractères> doit représenter la norme qui décrit le codage de caractères. Si le champ <code-de-caractères> est simplement une spécification numéique, le nombre représente le numéro de la norme internationale qui décrit le code de caractères. Il est recommandé que ce soit une représentation numérique si possible (et surtout des normes ISO), n'inclue pas de symboles de ponctuation, et que toute lettre soit en bas-de-casse.
Un paramètre spécifiant une <version> du profil peut être placé après le champ <code-de-caractères>, délimité par une virgule. Ceci peut être utilisé pour séparer différents besoins culturels ; par exemple, l'ordre dans le dictionnaire contre un ordre d'assemblage plus orienté vers le système. Cette norme recommende de ne pas utiliser le champ <version> sauf si c'est nécessaire.
Les systèmes qui utilisent une langue et un code unique pour toutes les pages de manuel peuvent omettre la sous-chaîne <locale> et stocker toutes les pages de manuel dans <mandir>. Par exemple, les systèmes qui n'ont que les pages de manuel en anglais, codées en ASCII peuvent stocker les pages de manuel (les répertoires man[1-9]) directement dans /usr/man. (Ce sont les circonstances et arrangements traditionnels, en fait.)
Les pays pour lesquels il y a un codage de caractères standard bien accepté peuvent omettre le champ <code-de-caractères>, mais il est fortement recommandé qu'il soit inclus, surtout pour les pays avec plusieurs normes "en compétition".
Exemples variés :
Table 4.9.1
Les pages de manuel pour les commandes et les données sous /usr/local sont stockées dans /usr/local/man. Les pages de manuel pour le système X Window sont stockées dans /usr/X11R6/man. Il s'ensuit que toutes les hiérarchies de pages de manuel dans le système doivent avoir la même structure que /usr/man. Les répertoires vides peuvent être omis d'une hiérarchie de pages de manuel. Par exemple, si /usr/local/man n'a pas de pages de manuel dans la section 4 (Périphériques), alors /usr/local/man/man4 peut être omis.
Les sections de pages cat (cat[1-9]) contenant les entrées de pages de manuel formatées se trouvent aussi dans des sous-répertoires de <mandir>/<locale>, mais ne sont pas obligatoires ni ne doivent être distribuées à la place des pages de manuel en source nroff.
Les pages de manuel du système de distribution de courrier MH doivent avoir mh ajouté à tous les noms de fichiers de pages de manuel. Toutes les pages de manuel du système X Window doivent avoir un x ajouté au nom de fichier.
La pratique de placer les pages de manuel de langues variées dans des sous-répertoires appropriés de /usr/man s'applique aussi aux autres hiérarchies de pages de manuel, comme /usr/local/man et /usr/X11R6/man. (Cette partie de la norme s'applique aussi plus loin dans la section sur la structure optionnelle /var/catman.)
Une description de chaque section suit :