Respostas:
Primeiro, descubra a que seção sua página de manual pertence. Se for um comando, provavelmente pertence à seção 1
. Você pode ler a página de manual do man
comando para ver uma descrição das diferentes seções e seus números correspondentes.
Copie sua página de manual para /usr/local/share/man/man1/
(mude 1
para o número da seção, se necessário). Você também pode instalá-lo /usr/share/man/man1/
, mas é uma prática recomendada usar o local
diretório para arquivos instalados sem usar o gerenciador de pacotes APT:
sudo cp examplecommand.1 /usr/local/share/man/man1/
Execute o mandb
comando Isso atualizará man
o banco de dados interno do:
sudo mandb
É isso aí! Você deve conseguir visualizar a página de manual executando:
man 1 examplecommand
man
comandomandb
comando/usr/bin/dh_installman
se você pode ler Perl, instalado com o debhelper
pacote./usr/local/man
, bem como sugeridas no mapeamento PATH para MANPATH /etc/manpath.config
.
Se você só precisa instalar a página de manual localmente :
Se MANPATH
não estiver definido ou incluir um componente vazio (ou seja, começa com :
, termina com :
ou contém ::
), <path>/share/man
serão pesquisadas automaticamente as páginas de manual sempre que fizer <path>/bin
parte de PATH
, para todos os valores de<path>
.
Isso fornece uma maneira muito simples de adicionar páginas de manual para o software instalado localmente. Existem alguns detalhes em man manpath
e /etc/manpath.config
, mas não vejo nenhuma menção ao mapeamento genérico de <path>/bin
para <path>/share/man
.
MANPATH=<local path to the man pages>:$MANPATH
às suas ${HOME}/.bashrc
(sessões sem login) ou ${HOME}/.profile
(sessões de login). No meu caso, configurei um diretório local para páginas de manual ${HOME}/share/man/
, que imita o sistema de arquivos clássico do Linux. Eu criei ${HOME}/share/man/man.1
, que contém um link simbólico para o local do arquivo examplecommand.1
onde quer que o instalador do programa o tenha colocado (o 'prefixo' de configuração). O lançamento man examplecommand
localiza as páginas de manual no ponto. Dessa forma, a instalação é local, porém, não em todo o sistema.
<path>/bin
-> <path>/share/man
existe. Ao executar strace (1) man
com MANPATH=:/nonexistingdir
, vejo o seguinte: - <path>/bin
-> <path>/man
Este é um sistema Debain Buster.
A resposta de @ ntc2 acima é a que as pessoas deveriam estar olhando. Eu queria adicionar alguns comentários extras que não se encaixassem na seção de comentários:
A abordagem do @ ntc2 fornece um caminho para as pessoas que precisam apenas definir seu PATH (o que eles já esperam) para os binários locais.
No entanto, eu não acho que o mapeamento genérico <path>/bin
-> <path>/share/man
existe para todos os caminhos no $PATH
. Parece que esse mapeamento específico é evitado quando o problema está $PATH
em questão $HOME/bin
. Ao executar strace (1) man
com MANPATH=:/nonexistingdir
, vejo as seguintes pesquisas:
Para qualquer elemento $PATH
que não seja$HOME/bin
<path>/bin
-> <path>/man
<path>/bin
-> <path>/bin/man
<path>/bin
-> <path>/share/man
<path>/bin
-> <path>/bin/share/man
Para $HOME/bin
$HOME/bin
-> $HOME/man
Não faço ideia do porquê ignora os outros. Isso está em um sistema Debian Buster. Pode ser diferente em outros sistemas.
Para mim, isso significa que o caminho mais seguro para instalar páginas de manual é <path>/man
, pois é garantido que ele será encontrado se estiver no $PATH
.
sudo
?