¿Cómo instalo un archivo de página man en todo el sistema?
Por ejemplo, si tengo un archivo de página de manual examplecommand.1, ¿cómo lo instalo para que pueda escribir man examplecommandpara verlo?
fuente
¿Cómo instalo un archivo de página man en todo el sistema?
Por ejemplo, si tengo un archivo de página de manual examplecommand.1, ¿cómo lo instalo para que pueda escribir man examplecommandpara verlo?
Primero, descubra a qué sección pertenece su página de manual. Si es un comando, probablemente pertenece a la sección 1. Puede leer la página de manual del mancomando
para ver una descripción de las diferentes secciones y sus números correspondientes.
Copie su página de manual en /usr/local/share/man/man1/(cambie 1a su número de sección si es necesario). También puede instalarlo /usr/share/man/man1/, pero es una buena práctica usar el localdirectorio para los archivos que se instalan sin usar el administrador de paquetes APT:
sudo cp examplecommand.1 /usr/local/share/man/man1/
Ejecute el mandbcomando Esto actualizará manla base de datos interna:
sudo mandb
¡Eso es! Debería poder ver la página man ejecutando:
man 1 examplecommand
mancomando
mandbcomando
/usr/bin/dh_installmansi puede leer Perl, instalado con el debhelperpaquete.
sudo?/usr/local/man, así como lo sugerido en el mapeo PATH to MANPATH/etc/manpath.config.Si solo necesita instalar la página man localmente :
Si no
MANPATHestá configurado, o si incluye un componente vacío (es decir, comienza con:, termina con:o contiene::), se<path>/share/manbuscarán automáticamente las páginas man cuando<path>/binsea parte dePATH, para todos los valores de<path>.Esto proporciona una manera muy simple de agregar páginas de manual para software instalado localmente. Hay algunos detalles en
man manpathy/etc/manpath.config, pero no veo ninguna mención de la asignación genérica de<path>/bina<path>/share/man.fuente
MANPATH=<local path to the man pages>:$MANPATHsus${HOME}/.bashrc(sesiones sin inicio de sesión) o${HOME}/.profile(sesiones de inicio de sesión). En mi caso, configuré un directorio local para páginas de manual${HOME}/share/man/, que imita el sistema de archivos clásico de Linux. Creé${HOME}/share/man/man.1, que luego contiene un enlace simbólico a la ubicación del archivoexamplecommand.1donde lo haya colocado el instalador del programa (el 'prefijo' de configuración). El lanzamientoman examplecommandencuentra las páginas de manual en punto. De esta manera, la instalación es local, no todo el sistema.<path>/bin-><path>/share/manexista. Al ejecutar strace (1)manconMANPATH=:/nonexistingdir, veo lo siguiente: -<path>/bin-><path>/manEsto está en un sistema Debain Buster.La respuesta de @ ntc2 anterior es la que la gente debería mirar. Quería agregar algunos comentarios adicionales que no cabían en la sección de comentarios:
El enfoque de @ ntc2 proporciona un camino para las personas que solo necesitan establecer su PATH (que ya esperan) para los binarios locales.
Sin embargo, no creo que el mapeo genérico
<path>/bin-><path>/share/manexista para todas las rutas$PATH. Parece que este mapeo específico se evita cuando lo es$PATHen cuestión$HOME/bin. Cuando realizo strace (1)manconMANPATH=:/nonexistingdir, veo las siguientes búsquedas:Para cualquier elemento
$PATHque no sea$HOME/bin<path>/bin-><path>/man<path>/bin-><path>/bin/man<path>/bin-><path>/share/man<path>/bin-><path>/bin/share/manpor
$HOME/bin$HOME/bin->$HOME/manNo tengo idea de por qué se salta a los demás. Esto está en un sistema Debian Buster. Puede ser diferente en otros sistemas.
Para mí, esto significa que la ruta más segura para instalar páginas de manual es
<path>/man, ya que está garantizado que se encontrará si está en el$PATH.fuente