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 pour que je puisse juste taper man examplecommand
pour le voir ?
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 pour que je puisse juste taper man examplecommand
pour le voir ?
Tout d'abord, déterminez à quelle section appartient votre page de manuel. Si c'est une commande, elle appartient probablement à la section 1
. Vous pouvez lire le pour la page de manuel de l man
commande pour voir une description des différentes sections et leurs numéros correspondants.
Copiez votre page de manuel dans /usr/local/share/man/man1/
(changement 1
à votre numéro de section si nécessaire). Vous pouvez également l'installer sur /usr/share/man/man1/
mais il est préférable d'utiliser l'option local
pour les fichiers qui sont installés sans utiliser le gestionnaire de paquets APT :
sudo cp examplecommand.1 /usr/local/share/man/man1/
Exécuter le mandb
commande. Cela mettra à jour man
La base de données interne de l'entreprise :
sudo mandb
C'est ça ! Vous devriez être en mesure d'afficher la page de manuel en exécutant :
man 1 examplecommand
man
commande mandb
commande /usr/bin/dh_installman
si vous savez lire le langage Perl, installé avec l'option debhelper
paquet.Si vous avez seulement besoin d'installer la page de manuel localement :
Si MANPATH
n'est pas défini, ou comprend un composant vide (c'est-à-dire commençant par :
et se termine par :
ou contient ::
), alors <path>/share/man
sera automatiquement recherchée pour les pages de manuel chaque fois que <path>/bin
fait partie de PATH
, pour toutes les valeurs de <path>
.
Il s'agit d'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
y /etc/manpath.config
mais je ne vois pas de mention de la mise en correspondance générique de <path>/bin
a <path>/share/man
.
La réponse de @ntc2 ci-dessus est celle que les gens devraient regarder. Je voulais ajouter un commentaire supplémentaire qui n'avait pas sa place dans la section des commentaires :
L'approche de @ntc2 fournit un chemin pour les personnes n'ayant besoin que de définir leur PATH (ce qu'elles prévoient déjà) pour les binaires locaux.
Cependant, je ne pense pas que la cartographie 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 l'option $PATH
en question est $HOME/bin
. En exécutant strace(1) sur man
con MANPATH=:/nonexistingdir
je vois les vérifications suivantes :
Pour tout élément dans $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 les pages de manuel est le suivant <path>/man
car il est garanti d'être trouvé s'il se trouve dans la section $PATH
.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.