J'essaie de créer un Makefile pour un petit utilitaire Perl que j'ai écrit, et j'ai du mal à trouver un moyen de trouver où installer ma page de manuel lorsqu'elle make
est exécutée en tant qu'utilisateur non root .
J'analyse actuellement la sortie de manpath
pour trouver le premier chemin dans le $HOME
répertoire… et cela fonctionne presque bien.
Les chemins que j'ai trouvés sont ~/man
et~/share/man
Le seul problème est que si ces répertoires n'existent pas en premier lieu, manpath
n'en génère aucun.
Des questions
- Existe-t-il un moyen portable de savoir où installer les pages de manuel dans le répertoire $ HOME de l'utilisateur?
- Sinon, lequel d'entre eux devrait être préféré?
manpath
avertissements concernant laMANPATH
définition, vous pouvez passer l'-q
option.man
où chercher. Je cherche un moyen générique et portable pour une installation générique (ie: oùman
cherche une configuration standard)echo $MANPATH
et voyez ce que cela montre. Ce sont de bons endroits pour commencer à chercher ou utiliser lamanpath
commande comme je l'ai montré dans ma réponse.Réponse avec description
J'exécute Cygwin sur Windows 7. Lorsque j'essaie
Je ne reçois rien. Voici ma façon portable de trouver où mettre de nouvelles
man
pages.(Une note sur cette commande folle est au bas de cette réponse.)
Vous pouvez simplement remplacer
/
par~
. Une autre possibilité se trouve dans la section Autre note ci-dessous.Sur ma machine, la
find
commande a renvoyé:Pour moi, cela signifiait qu'il y avait deux possibilités:
/share/man
et/usr/man
.J'ai choisi d'utiliser
/usr/man
, ce que vous ne feriez pas, mais je devais explorer davantage.Donc, là où j'avais les nouveaux
man
fichiers dans undoc/
sous-répertoire de mon répertoire de travail, j'ai utiliséMaintenant, je pouvais accéder à mon "manuel" en tapant
Si vous ne voyez pas de candidat probable, vous pouvez supprimer cette partie ou la modifier, par exemple en
-maxdepth 3
, ou4
, ou5
, ou quelle que soit la profondeur nécessaire pour trouver ce dont vous avez besoin. Quand je l'ai fait avec3
, j'ai trouvé deux autres candidats,/var/cache/man
etusr/share/man
, mais j'avais déjà trouvé une solution de travail, je n'ai donc pas joué avec eux.Une autre note
Je crois que
/share/man/man1
ou/var/cache/man
serait disponible pour les utilisateurs non root, comme vous l'aviez demandé. S'il vous plait corrigez moi si je me trompe.La note promise en bas
Notez que j'ai utilisé l'
-maxdepth 2
option avecfind
, car je pensais que leman
répertoire se trouverait dans deux répertoires de la racine du système de fichiers, et je ne voulais pas obtenir trop de répertoires étrangers qui avaient en quelque sorte la sous-chaîneman
, comme l'a fait/lib/gnome-co
mander
.Les éléments supplémentaires autour du
find
sont là pour supprimer lesPermission denied
erreurs au cas où vous n'auriez pas accès àsu
ousudo
. Voici une excellente description de ce qui se passe. (Recherchez la ligne qui commence par "gniourf_gniourf".)la source
J'ai installé quelques applications que j'ai compilées, avec les
configure
paramètres respectifs pour l'installation dans${HOME}/usr/local
.Je trouve maintenant que j'ai des répertoires
avec manpages
gnuplot.1
,gnuplot-ja.1
,python3.1
,python3.5.1
,libpng.3
,libpngpf.3
,zlib.3
,png.5
, donc je suppose que (donné mon préfixe) est un endroit assez standard pour les applications installées localement.Il s'agit alors d'un emplacement candidat pour les cas où l'on doit choisir manuellement le
man
répertoire local .Bien sûr, on peut ajouter des chemins arbitraires (et devrait le faire même dans le cas habituel juste mentionné) pour les
man
pages avec(voir ceci ).
la source