我已经编写了自己的联机帮助页,但由于它将出现在大量公司计算机上并且我想经常更新它,因此我希望它位于这些计算机之间共享的文件夹中。
因此,我已将此文件夹添加到 manpath
,使用/etc/man.config
- 当我manpath
在终端中键入时,我得到以下输出:/usr/local/share/man:/usr/share/man/overrides:/usr/share/man/en:/usr/share/man:/online/RCCARS/compass-rccars-daq-documentation
。
这是正确的,最后一个路径是我希望我的联机帮助页位于其中的路径。问题是,由于某种原因该路径被忽略。当我打字时man my_program
,我得到了No manual entry for my_program
。如果我将手册页文件放入其他路径之一(例如/usr/local/share/man
),则手册页会在man my_program
命令之后正确显示。我究竟做错了什么?
以下是我的/etc/man.config
:
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6f
#
# For more information about this file, see the man pages man(1)
# and man.conf(5).
#
# This file is read by man to configure the default manpath (also used
# when MANPATH contains an empty substring), to find out where the cat
# pages corresponding to given man pages should be stored,
# and to map each PATH element to a manpath element.
# It may also record the pathname of the man binary. [This is unused.]
# The format is:
#
# MANBIN pathname
# MANPATH manpath_element [corresponding_catdir]
# MANPATH_MAP path_element manpath_element
#
# If no catdir is given, it is assumed to be equal to the mandir
# (so that this dir has both man1 etc. and cat1 etc. subdirs).
# This is the traditional Unix setup.
# Certain versions of the FSSTND recommend putting formatted versions
# of /usr/.../man/manx/page.x into /var/catman/.../catx/page.x.
# The keyword FSSTND will cause this behaviour.
# Certain versions of the FHS recommend putting formatted versions of
# /usr/.../share/man/[locale/]manx/page.x into
# /var/cache/man/.../[locale/]catx/page.x.
# The keyword FHS will cause this behaviour (and overrides FSSTND).
# Explicitly given catdirs override.
#
# FSSTND
FHS
#
# This file is also read by man in order to find how to call nroff, less, etc.,
# and to determine the correspondence between extensions and decompressors.
#
# MANBIN /usr/local/bin/man
#
# Every automatically generated MANPATH includes these fields
#
MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
MANPATH /usr/X11R6/man
MANPATH /online/RCCARS/compass-rccars-daq-documentation
#
# Uncomment if you want to include one of these by default
#
# MANPATH /opt/*/man
# MANPATH /usr/lib/*/man
# MANPATH /usr/share/*/man
# MANPATH /usr/kerberos/man
#
# Set up PATH to MANPATH mapping
#
# If people ask for "man foo" and have "/dir/bin/foo" in their PATH
# and the docs are found in "/dir/man", then no mapping is required.
#
# The below mappings are superfluous when the right hand side is
# in the mandatory manpath already, but will keep man from statting
# lots of other nearby files and directories.
#
MANPATH_MAP /bin /usr/share/man
MANPATH_MAP /sbin /usr/share/man
MANPATH_MAP /usr/bin /usr/share/man
MANPATH_MAP /usr/sbin /usr/share/man
MANPATH_MAP /usr/local/bin /usr/local/share/man
MANPATH_MAP /usr/local/sbin /usr/local/share/man
MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man
MANPATH_MAP /usr/bin/X11 /usr/X11R6/man
MANPATH_MAP /usr/bin/mh /usr/share/man
#
# NOAUTOPATH keeps man from automatically adding directories that look like
# manual page directories to the path.
#
#NOAUTOPATH
#
# NOCACHE keeps man from creating cache pages ("cat pages")
# (generally one enables/disable cat page creation by creating/deleting
# the directory they would live in - man never does mkdir)
#
#NOCACHE
#
# Useful paths - note that COL should not be defined when
# NROFF is defined as "groff -Tascii" or "groff -Tlatin1";
# not only is it superfluous, but it actually damages the output.
# For use with utf-8, NROFF should be "nroff -mandoc" without -T option.
# (Maybe - but today I need -Tlatin1 to prevent double conversion to utf8.)
#
# If you have a new troff (version 1.18.1?) and its colored output
# causes problems, add the -c option to TROFF, NROFF.
#
TROFF /usr/bin/groff -Tps -mandoc
NROFF /usr/bin/nroff -c -mandoc 2>/dev/null
EQN /usr/bin/geqn -Tps
NEQN /usr/bin/geqn -Tutf8
TBL /usr/bin/gtbl
# COL /usr/bin/col
REFER /usr/bin/grefer
PIC /usr/bin/gpic
VGRIND
GRAP
PAGER /usr/bin/less -is
BROWSER /usr/bin/less -is
HTMLPAGER /bin/cat
CAT /bin/cat
#
# The command "man -a xyzzy" will show all man pages for xyzzy.
# When CMP is defined man will try to avoid showing the same
# text twice. (But compressed pages compare unequal.)
#
CMP /usr/libexec/man-cmp.sh
#
# Compress cat pages
#
COMPRESS /usr/bin/lzma
COMPRESS_EXT .lzma
#
# Default manual sections (and order) to search if -S is not specified
# and the MANSECT environment variable is not set (1x-8x sections are used by
# xorg packages).
#
MANSECT 1:1p:8:2:3:3p:4:5:6:7:9:0p:n:l:p:o:1x:2x:3x:4x:5x:6x:7x:8x
#
# Default options to use when man is invoked without options
# This is mainly for the benefit of those that think -a should be the default
# Note that some systems have /usr/man/allman, causing pages to be shown twice.
#
#MANDEFOPTIONS -a
#
# Decompress with given decompressor when input file has given extension
# The command given must act as a filter.
#
.gz /usr/bin/gunzip -c
.bz2 /usr/bin/bzip2 -c -d
.lzma /usr/bin/unlzma -c -d
.z
.Z /bin/zcat
.F
.Y
#
# Enable/disable makewhatis database cron updates.
# If MAKEWHATISDBUPDATES variable is uncommented
# and set to n or N, cron scripts
# /etc/cron.daily/makewhatis.cron
# /etc/cron.weekly/makewhatis.cron
# will not update makewhatis database.
# Otherwise the database will be updated.
#
#MAKEWHATISDBUPDATES n
答案1
中的每个目录MANPATH
都是一个的根手册页层次结构。在该目录下有一个或多个目录1,例如,并且在每个目录中都有零个或多个名为 的 troff 源文件,在您的情况下可能带有添加的或后缀。mansection
man1
commandname.section
.Z
.gz
CLI.1.gz
所以如果你man.config
有一条线
MANPATH /online/RCCARS/compass-rccars-daq-documentation
然后您将手册页 troff 源代码复制到诸如
/online/RCCARS/compass-rccars-daq-documentation/man1/CLI.1.gz
[1]根据您的操作系统,您可能还拥有、和目录。catsection
fmtsection
smansection
答案2
我知道我是非常晚了……可能 5 年后你已经找到了解决方案;-)。
但是您还应该检查您想要提供/查看的手册页的整个路径的文件和目录权限。
man 命令对文件权限有点“挑剔” - 您将能够使用您的帐户 vi/cat 手册页,但 man 仍然无法显示它。