MAN.CONF(5) BSD File Formats Manual MAN.CONF(5)NAMEman.conf — configuration file for manual pages
DESCRIPTION
The man.conf file contains the default configuration used by man(1),
apropos(1), whatis(1), catman(8), and makewhatis(8) to find manual pages
and information about manual pages (e.g. the whatis database).
Manual pages are located by searching an ordered set of directories
called the “man path” for a file that matches the name of the requested
page. Each directory in the search path usually has a set of subdirecto‐
ries in it (though this is not required). When subdirectories are used,
there are normally two subdirectories for each section of the manual.
One subdirectory contains formatted copies of that section's manual pages
that can be directly displayed to a terminal, while the other section
subdirectory contains unformatted copies of the pages (see nroff(1) and
mdoc(7)). Formatted manual pages are normally named with a trailing “.0”
suffix.
The man.conf file contains comment and configuration lines. Comment
lines start with the “#” character. Blank lines are also treated as com‐
ment lines. Configuration lines consist of a configuration keyword fol‐
lowed by a configuration string. There are two types of configuration
keywords: control keywords and section keywords. Control keywords must
start with the “_” character. The following control keywords are cur‐
rently defined:
_build identifies the set of suffixes used for manual pages that must
be formatted for display and the command that should be used to
format them. Manual file names, regardless of their format,
are expected to end in a “.*” pattern, i.e. a “.” followed by
some suffix. The first field of a _build line contains a man
page suffix specification. The suffix specification may con‐
tain the normal shell globbing characters (NOT including curly
braces (“{}”)). The rest of the _build line is a shell command
line whose standard output is a formatted manual page that can
be directly displayed to the user. Any occurrences of the
string “%s” in the shell command line will be replaced by the
name of the file which is being formatted.
_crunch used by catman(8) to determine how to crunch formatted pages
which originally were compressed man pages: The first field
lists a suffix which indicates what kind of compression were
used to compress the man page. The rest of the line must be a
shell command line, used to compress the formatted pages.
_default contains the system-wide default man path used to search for
man pages.
_subdir contains the list (in search order) of section subdirectories
which will be searched in any man path directory named with a
trailing slash (“/”) character. This list is also used, even
if there is no trailing slash character, when a path is speci‐
fied to the man(1) utility by the user, by the MANPATH environ‐
ment variable, or by the -M and -m options.
_suffix identifies the set of suffixes used for formatted man pages
(the “.0” suffix is normally used here). Formatted man pages
can be directly displayed to the user. Each suffix may contain
the normal shell globbing characters (NOT including curly
braces (“{}”)).
_version contains the version of the configuration file.
_whatdb defines the full pathname (not just a directory path) for a
database to be used by the apropos(1) and whatis(1) commands.
The pathname may contain the normal shell globbing characters,
including curly braces (“{}”); to escape a shell globbing char‐
acter, precede it with a backslash (“\”).
Section configuration lines in man.conf consist of a section keyword nam‐
ing the section and a configuration string that defines the directory or
subdirectory path that the section's manual pages are located in. The
path may contain the normal shell globbing characters, including curly
braces (“{}”); to escape a shell globbing character, precede it with a
backslash (“\”). Section keywords must not start with the “_” character.
A section path may contain either a list of absolute directories or a
list of or relative directories (but not both). Relative directory paths
are treated as a list of subdirectories that are appended to the current
man path directory being searched. Section configuration lines with
absolute directory paths (starting with “/”) completely replace the cur‐
rent man search path directory with their content.
Section configuration lines with absolute directory paths ending with a
trailing slash character are expected to contain subdirectories of manual
pages, (see the keyword “_subdir” above). The “_subdir” subdirectory
list is not applied to absolute section directories if there is no trail‐
ing slash.
In addition to the above rules, the man(1) command also always checks in
each directory that it searches for a subdirectory with the same name as
the current machine type. If the machine-specific directory is found, it
is also searched. This allows the manual to contain machine-specific man
pages. Note that the machine subdirectory does not need to be specified
in the man.conf file.
Multiple specifications for all types of man.conf configuration lines are
cumulative and the entries are used in the order listed in the file; mul‐
tiple entries may be listed per line, as well.
FILES
/etc/man.conf Standard manual configuration file.
EXAMPLES
Given the following man.conf file:
_version BSD.2
_subdir cat[123]
_suffix .0
_build .[1-9] nroff -man %s
_build .tbl tbl %s | nroff -man
_default /usr/share/man/
sect3 /usr/share/man/{old/,}cat3
By default, the command “man mktemp” will search for “mktemp.<any_digit>”
and “mktemp.tbl” in the directories “/usr/share/man/cat1”,
“/usr/share/man/cat2”, and “/usr/share/man/cat3”. If on a machine of
type “vax”, the subdirectory “vax” in each directory would be searched as
well, before the directory was searched.
If “mktemp.tbl” was found first, the command “tbl <manual page> | nroff
-man” would be run to build a man page for display to the user.
The command “man sect3 mktemp” would search the directories
“/usr/share/man/old/cat3” and “/usr/share/man/cat3”, in that order, for
the mktemp manual page. If a subdirectory with the same name as the cur‐
rent machine type existed in any of them, it would be searched as well,
before each of them were searched.
SEE ALSOapropos(1), machine(1), man(1), whatis(1), whereis(1), fnmatch(3),
glob(3), catman(8), makewhatis(8)BSD April 10, 2006 BSD