Respuestas:
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 man
comando 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 1
a 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 local
directorio para los archivos que se instalan sin usar el administrador de paquetes APT:
sudo cp examplecommand.1 /usr/local/share/man/man1/
Ejecute el mandb
comando Esto actualizará man
la base de datos interna:
sudo mandb
¡Eso es! Debería poder ver la página man ejecutando:
man 1 examplecommand
man
comandomandb
comando/usr/bin/dh_installman
si puede leer Perl, instalado con el debhelper
paquete./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 MANPATH
está configurado, o si incluye un componente vacío (es decir, comienza con :
, termina con :
o contiene ::
), se <path>/share/man
buscarán automáticamente las páginas man cuando <path>/bin
sea parte de PATH
, 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 manpath
y /etc/manpath.config
, pero no veo ninguna mención de la asignación genérica de <path>/bin
a <path>/share/man
.
MANPATH=<local path to the man pages>:$MANPATH
sus ${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 archivo examplecommand.1
donde lo haya colocado el instalador del programa (el 'prefijo' de configuración). El lanzamiento man examplecommand
encuentra las páginas de manual en punto. De esta manera, la instalación es local, no todo el sistema.
<path>/bin
-> <path>/share/man
exista. Al ejecutar strace (1) man
con MANPATH=:/nonexistingdir
, veo lo siguiente: - <path>/bin
-> <path>/man
Esto 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/man
exista para todas las rutas $PATH
. Parece que este mapeo específico se evita cuando lo es $PATH
en cuestión $HOME/bin
. Cuando realizo strace (1) man
con MANPATH=:/nonexistingdir
, veo las siguientes búsquedas:
Para cualquier elemento $PATH
que no sea$HOME/bin
<path>/bin
-> <path>/man
<path>/bin
-> <path>/bin/man
<path>/bin
-> <path>/share/man
<path>/bin
-> <path>/bin/share/man
por $HOME/bin
$HOME/bin
-> $HOME/man
No 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
.
sudo
?