Answers:
首先,找出您的手册页属于哪个部分。如果它是命令,则可能属于section 1
。您可以阅读该命令的手册页,man
以查看不同部分的说明及其相应的编号。
将您的手册页复制到/usr/local/share/man/man1/
(1
如果需要,请更改为您的部分编号)。您也可以将其安装到/usr/share/man/man1/
,但是最佳做法local
是在不使用APT软件包管理器的情况下使用目录来安装文件:
sudo cp examplecommand.1 /usr/local/share/man/man1/
运行mandb
命令。这将更新man
的内部数据库:
sudo mandb
而已!您应该能够通过运行以下命令来查看手册页:
man 1 examplecommand
/usr/local/man
PATH中建议的手册页存储在中/etc/manpath.config
。
如果只需要在本地安装手册页:
如果MANPATH
未设置,或包含空组件(即以:
,结束:
或包含::
),则<path>/share/man
只要<path>/bin
是的一部分PATH
,都<path>
将自动搜索的手册页,以获取的所有值。
这提供了一种非常简单的方法来添加本地安装软件的手册页。还有在一些细节man manpath
和/etc/manpath.config
,但我没有看到通用映射提及任何从<path>/bin
到<path>/share/man
。
MANPATH=<local path to the man pages>:$MANPATH
了您的${HOME}/.bashrc
(非登录会话)或${HOME}/.profile
(登录会话)。就我而言,我在中建立了手册页的本地目录${HOME}/share/man/
,它模仿了经典的Linux文件系统。我创建了${HOME}/share/man/man.1
,然后examplecommand.1
在程序安装程序放置文件的位置(配置“前缀”)中包含指向该文件位置的符号链接。启动会man examplecommand
找到相应的手册页。这样,安装是本地的,但不是系统范围的。
<path>/bin
-> <path>/share/man
存在。在上执行strace(1)man
时MANPATH=:/nonexistingdir
,我看到以下内容:<path>/bin
--> <path>/man
这在Debain Buster系统上。
上面@ ntc2的答案是人们应该关注的一个问题。我想添加一些额外的评论,这些评论不适用于评论部分:
@ ntc2的方法为人们只需要为本地二进制文件设置PATH(他们已经期望的)提供了一条路径。
但是,我不认为通用映射<path>/bin
-> <path>/share/man
存在于中的所有路径$PATH
。当$PATH
问题为时,似乎避免了这种特定的映射$HOME/bin
。在上执行strace(1)man
时MANPATH=:/nonexistingdir
,我看到以下查询:
对于$PATH
那不是的任何元素$HOME/bin
<path>/bin
-> <path>/man
<path>/bin
-> <path>/bin/man
<path>/bin
-> <path>/share/man
<path>/bin
-> <path>/bin/share/man
对于 $HOME/bin
$HOME/bin
-> $HOME/man
我不知道为什么它会跳过其他人。这是在Debian Buster系统上。在其他系统上可能有所不同。
对我来说,这意味着安装手册页的最安全路径是<path>/man
,因为可以保证可以找到该手册页$PATH
。
sudo
?