나만의 맨페이지를 작성했지만 이 맨페이지는 많은 수의 회사 컴퓨터에 있을 것이고 자주 업데이트하고 싶기 때문에 이 컴퓨터 간에 공유되는 폴더에 있기를 원합니다.
따라서 -를 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 라는 이름의 소스 파일이 0개 이상 있으며, 귀하의 경우에는 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은 여전히 이를 표시할 수 없습니다.