Comment installer un fichier de page de manuel dans tout le système?
Par exemple, si j'ai un fichier de page de manuel examplecommand.1
, comment puis-je l'installer de sorte que je puisse simplement taper man examplecommand
pour l'afficher?
Commencez par trouver à quelle section appartient votre page de manuel. Si c'est une commande, il appartient probablement à la section 1
. Vous pouvez lire la page de manuel de la commande man
pour voir une description des différentes sections et leurs numéros correspondants.
Copiez votre page de manuel dans /usr/local/share/man/man1/
(remplacez 1
par votre numéro de section, si nécessaire). Vous pouvez également l'installer dans /usr/share/man/man1/
, mais il est recommandé d'utiliser le répertoire local
pour les fichiers installés sans utiliser le gestionnaire de paquets APT:
Sudo cp examplecommand.1 /usr/local/share/man/man1/
Exécutez la commande mandb
. Ceci mettra à jour la base de données interne de man
:
Sudo mandb
C'est tout! Vous devriez pouvoir voir la page de manuel en lançant:
man 1 examplecommand
man
mandb
/usr/bin/dh_installman
si vous pouvez lire Perl, installé avec le package debhelper
.Si vous avez seulement besoin d'installer la page de manuel localement :
Si MANPATH
n'est pas défini ou inclut un composant vide (c'est-à-dire qu'il commence par :
, se termine par :
ou contient ::
, alors <path>/share/man
sera automatiquement recherché dans les pages de manuel chaque fois que <path>/bin
fera partie de PATH
, . pour toutes les valeurs de <path>
.
Cela fournit un moyen très simple d’ajouter des pages de manuel pour les logiciels installés localement. Il y a quelques détails dans man manpath
et /etc/manpath.config
, mais je ne vois aucune mention du mappage générique de <path>/bin
à <path>/share/man
.
La réponse de @ ntc2 ci-dessus est celle que les gens devraient regarder. Je voulais ajouter quelques commentaires supplémentaires qui ne correspondaient pas à la section commentaires:
L'approche de @ ntc2 fournit un chemin aux personnes n'ayant besoin que de définir leur PATH (ce qu'elles attendent déjà) pour les fichiers binaires locaux.
Cependant, je ne pense pas que le mappage générique <path>/bin
-> <path>/share/man
existe pour tous les chemins dans $PATH
. Il semble que ce mappage spécifique soit évité lorsque le $PATH
en question est $HOME/bin
. Lors de l'exécution de strace (1) sur man
avec MANPATH=:/nonexistingdir
, les recherches suivantes apparaissent:
Pour tout élément de $PATH
qui n'est pas $HOME/bin
<path>/bin
-> <path>/man
<path>/bin
-> <path>/bin/man
<path>/bin
-> <path>/share/man
<path>/bin
-> <path>/bin/share/man
Pour $HOME/bin
$HOME/bin
-> $HOME/man
Je ne sais pas pourquoi il saute les autres. Ceci est sur un système Debian Buster. Cela peut être différent sur d'autres systèmes.
Pour moi, cela signifie que le chemin le plus sûr pour installer des pages de manuel est <path>/man
, car il est garanti de le trouver s'il se trouve dans le $PATH
.