mandb [-dqsucpt?V] [-C file] [manpath]
mandb [-dqsut] [-C file] -f filename ...
mandb is used to initialise or manually update index database caches
that are usually maintained by man. The caches contain information
relevant to the current state of the manual page system and the infor-
mation stored within them is used by the man-db utilities to enhance
their speed and functionality.
When creating or updating an index, mandb will warn of bad ROFF .so
requests, bogus manual page filenames and manual pages from which the
whatis cannot be parsed.
Supplying mandb with an optional colon-delimited path will override the
internal system manual page hierarchy search path, determined from
information found within the man-db configuration file.
mandb can be compiled with support for any one of the following data-
Name Type Async Filename
Berkeley db Binary tree Yes index.bt
GNU gdbm v >= 1.6 Hashed Yes index.db
GNU gdbm v < 1.6 Hashed No index.db
UNIX ndbm Hashed No index.(dir|pag)
Those database types that support asynchronous updates provide enhanced
speed at the cost of possible corruption in the event of unusual termi-
nation. In an unusual case where this has occurred, it may be neces-
sary to rerun mandb with the -c option to re-create the databases from
Print debugging information.
Produce no warnings.
Do not spend time looking for or adding information to the data-
bases regarding stray cats.
Do not spend time checking for deleted manual pages and purging
them from the databases.
By default, mandb will try to update any previously created
databases. If a database does not exist, it will create it.
This option forces mandb to delete previous databases and re-
Update only the entries for the given filename. This option is
not for general use; it is used internally by man when it has
been compiled with the MAN_DB_UPDATES option and finds that a
page is out of date. It implies -p and disables -c and -s.
-C file, --config-file=file
Use this user configuration file rather than the default of
Show the usage message, then exit.
Print a short usage message and exit.
Show the version, then exit.
0 Successful program execution.
1 Usage, syntax, or configuration file error.
2 Operational error.
3 A child process failed.
The following warning messages can be emitted during database building.
<filename>: whatis parse for page(sec) failed
An attempt to extract whatis line(s) from the given <filename>
failed. This is usually due to a poorly written manual page,
but if many such messages are emitted it is likely that the sys-
tem contains non-standard manual pages which are incompatible
with the man-db whatis parser. See the WHATIS PARSING section
in lexgrog(1) for more information.
<filename>: is a dangling symlink
<filename> does not exist but is referenced by a symbolic link.
Further diagnostics are usually emitted to identify the <file-
name> of the offending link.
<filename>: bad symlink or ROFF `.so' request
<filename> is either a symbolic link to, or contains a ROFF
include request to, a non existent file.
<filename>: ignoring bogus filename
The <filename> may or may not be a valid manual page but its
name is invalid. This is usually due to a manual page with sec-
tional extension <x> being put in manual page section <y>.
Older locations for the database cache included:
A traditional global index database cache.
An alternate or FSSTND compliant global index database cache.
lexgrog(1), man(1), manpath(5), catman(8)
The WHATIS PARSING section formerly in this manual page is now part of
Fabrizio Polacco (email@example.com).
Colin Watson (firstname.lastname@example.org).
2.7.5 2015-11-06 MANDB(8)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019
All Rights Reserved.