MANPATH
Section: /etc/man_db.conf (5)
Updated: 202-0-02
Index
Return to Main Contents
NAME
manpath - format of the /etc/man_db.conf file
DESCRIPTION
The manpath configuration file is used by the manual page utilities
to assess users' manpaths at run time, to indicate which manual page
hierarchies (manpaths) are to be treated as system hierarchies and to
assign them directories to be used for storing cat files.
If the environment variable
$MANPATH
is already set, the information contained within /etc/man_db.conf will
not override it.
SEARCH PATH
By default, ma-db examines the user's
$
PATH.
For each
path_element
found there,
it adds
manpath_element
to the search path.
If there is no
MANPATH_MAP
line in the configuration file for a given
path_element,
then it adds all of
path_element/../man,
path_element/man,
path_element/../share/man,
and
path_element/share/man
that exist as directories to the search path.
It then adds any
MANDATORY_MANPATH
entries from the configuration file to the search path.
Finally, if the
--systems
option is used or the
$SYSTEM
environment variable is set, then that should consist of a sequence of
operating system names separated by commas or colons.
This acts as a template, expanding the search path once more to allow access
to other operating systems' manual pages: for each system name, ma-db looks
for that name as a subdirectory of each entry in the search path, and adds
it to the final search path if it exists.
A system name of
man
inserts the normal search path without subdirectories.
For example, if the search path would otherwise have been
/usr/share/man:/usr/local/man,
and
$SYSTEM
is set to
newOS:man,
then the final search path will be
/usr/share/man/newOS::/usr/share/man::/usr/local/man/newOS::/usr/local/man.
The
$MANPATH
environment variable overrides ma-db's default manual page search paths.
Most users should not need to set it.
Its syntax is similar to the
$PATH
environment variable: it consists of a sequence of directory names separated
by colons.
It overrides the default search path described above.
If the value of
$MANPATH
starts with a colon, then the default search path is added at its start.
If the value of
$MANPATH
ends with a colon, then the default search path is added at its end.
If the value of
$MANPATH
contains a double colon
(::),
then the default search path is inserted in the middle of the value, between
the two colons.
FORMAT
The following field types are currently recognised:
- # comment
-
Blank lines or those beginning with a
#
will be treated as comments and ignored.
- MANDATORY_MANPATH manpath_element
-
Lines of this form indicate manpaths that every automatically generated
$MANPATH
should contain.
This will typically include
/usr/man.
- MANPATH_MAP path_element manpath_element
-
Lines of this form set up
$PATH
to
$MANPATH
mappings.
For each
path_element
found in the user's
$PATH,
manpath_element
will be added to the
$MANPATH.
- MANDB_MAP manpath_element [ catpath_element ]
-
Lines of this form indicate which manpaths are to be treated as system
manpaths, and optionally where their cat files should be stored.
This field type is particularly important if
man
is a setuid program, as (when in the system configuration file
/etc/man_db.conf rather than the pe-user configuration file .manpath)
it indicates which manual page hierarchies to access as the setuid user and
which as the invoking user.
The system manual page hierarchies are usually those stored under
/usr
such as
/usr/man,
/usr/local/man
and
/usr/X11R6/man.
If cat pages from a particular
manpath_element
are not to be stored or are to be stored in the traditional location,
catpath_element
may be omitted.
Traditional cat placement would be impossible for read only mounted manual
page hierarchies and because of this it is possible to specify any valid
directory hierarchy for their storage.
To observe the
Linux FSSTND
the keyword
FSSTND
can be used in place of an actual directory.
Unfortunately, it is necessary to specify
all
system man tree paths, including alternate operating system paths such as
/usr/man/sun
and any
NLS locale
paths such as
/usr/man/de_DE.88591.
As the information is parsed line by line in the order written, it is
necessary for any manpath that is a su-hierarchy of another hierarchy to be
listed first, otherwise an incorrect match will be made.
An example is that
/usr/man/de_DE.88591
must come before
/usr/man.
- DEFINE key value
-
Lines of this form define miscellaneous configuration variables; see the
default configuration file for those variables used by the manual pager
utilities.
They include default paths to various programs (such as
grep
and
tbl),
and default sets of arguments to those programs.
- SECTION section ...
-
-
Lines of this form define the order in which manual sections should be
searched.
If there are no
SECTION
directives in the configuration file, the default is:
-
SECTION 1 n l 8 3 0 2 3type 5 4 9 6 7
If multiple
SECTION
directives are given, their section lists will be concatenated.
If a particular extension is not in this list (say, 1mh) it will be
displayed with the rest of the section it belongs to.
The effect of this is that you only need to explicitly list extensions if
you want to force a particular order.
Sections with extensions should usually be adjacent to their main section
(e.g. "1 1mh 8 ...").
SECTIONS
is accepted as an alternative name for this directive.
- MINCATWIDTH width
-
If the terminal width is less than
width,
cat pages will not be created (if missing) or displayed.
The default is 80.
- MAXCATWIDTH width
-
If the terminal width is greater than
width,
cat pages will not be created (if missing) or displayed.
The default is 80.
- CATWIDTH width
-
If
width
is no-zero, cat pages will always be formatted for a terminal of the given
width, regardless of the width of the terminal actually being used.
This overrides
MINCATWIDTH
and
MAXCATWIDTH.
- NOCACHE
-
This flag prevents
man(1)
from creating cat pages automatically.
BUGS
Unless the rules above are followed and observed precisely, the manual pager
utilities will not function as desired.
The rules are overly complicated.
https://gitlab.com/ma-db/ma-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
Index
- NAME
-
- DESCRIPTION
-
- SEARCH PATH
-
- FORMAT
-
- BUGS
-