Estoy tratando de crear un Makefile para una pequeña utilidad Perl que escribí, y estoy luchando por encontrar una manera de encontrar dónde instalar mi página de manual cuando make
se ejecuta como usuario no root .
Actualmente estoy analizando la salida de manpath
para encontrar la primera ruta en el $HOME
directorio ... y casi funciona bien.
Los caminos que he encontrado son ~/man
y~/share/man
El único problema es que si esos directorios no existen en primer lugar, manpath
no genera ninguno de ellos.
Preguntas
- ¿Hay alguna forma portátil de averiguar dónde debo instalar las páginas man en el directorio $ HOME del usuario?
- Si no, ¿cuál de ellos debería preferirse?
manpath
advertencias sobre laMANPATH
configuración, puede pasar la-q
opción.man
dónde mirar. Estoy buscando una forma genérica y portátil para una instalación genérica (es decir, dónde seman
busca una configuración estándar)echo $MANPATH
y vea lo que eso muestra. Esos son buenos lugares para comenzar a buscar, o usar elmanpath
comando como lo mostré en mi respuesta.Responde con una descripción
Estoy ejecutando Cygwin en Windows 7. Cuando intento
No consigo nada Aquí está mi forma portátil de encontrar dónde poner nuevas
man
páginas.(Una nota sobre ese comando loco está al final de esta respuesta).
Simplemente podría reemplazar
/
con~
. Otra posibilidad se encuentra en la sección Otra nota a continuación.En mi máquina, el
find
comando regresó:Para mí, eso significaba que había dos posibilidades:
/share/man
y/usr/man
.Elegí usar
/usr/man
, que no lo harías, pero necesitaba explorar un poco más.Entonces, donde tenía los nuevos
man
archivos en undoc/
subdirectorio de mi directorio de trabajo, uséAhora, podría llegar a mi "manual" escribiendo
Si no ve un candidato probable, puede eliminar esta parte o cambiarla, por ejemplo
-maxdepth 3
, a , o4
, o5
, lo profundo que sea necesario para encontrar lo que necesita. Cuando lo hice3
, encontré otros dos candidatos/var/cache/man
yusr/share/man
, pero ya había encontrado una solución que funcionaba, así que no me metí con ellos.Otra nota
Creo que
/share/man/man1
o/var/cache/man
estaría disponible para usuarios no root, como lo solicitó. Por favor, corríjame si estoy equivocado.La nota prometida al pie
Tenga en cuenta que usé la
-maxdepth 2
opción confind
, porque pensé que elman
directorio estaría dentro de dos directorios de la raíz del sistema de archivos, y no quería obtener demasiados directorios extraños que de alguna manera tenían la subcadenaman
, como lo hizo/lib/gnome-co
mander
.El material adicional alrededor del
find
está allí para suprimir cualquierPermission denied
error en caso de que no tenga acceso asu
osudo
. Aquí hay una gran descripción de lo que está sucediendo. (Busque la línea que comienza con "gniourf_gniourf").fuente
He instalado algunas aplicaciones que he compilado, con los respectivos
configure
s configurados para instalar en${HOME}/usr/local
.Ahora encuentro que tengo directorios
con páginas de manual
gnuplot.1
,gnuplot-ja.1
,python3.1
,python3.5.1
,libpng.3
,libpngpf.3
,zlib.3
,png.5
, por lo que supongo (dado mi prefijo) que es un lugar bastante estándar para las aplicaciones instaladas localmente.Es entonces una ubicación candidata para los casos en que uno tiene que elegir manualmente el
man
directorio local .Por supuesto, uno puede agregar rutas arbitrarias (y debería hacerlo incluso en el caso habitual mencionado) para
man
páginas con(ver esto )
fuente