web-dev-qa-db-fra.com

Comment installer manuellement un fichier de page de manuel?

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?

43
Flimm
  1. 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 Manpage icon pour voir une description des différentes sections et leurs numéros correspondants.

  2. 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/
    
  3. Exécutez la commande mandb. Ceci mettra à jour la base de données interne de man:

    Sudo mandb
    
  4. C'est tout! Vous devriez pouvoir voir la page de manuel en lançant:

    man 1 examplecommand
    

Références:

53
Flimm

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.

10
ntc2

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.

1
Aktau