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 information stored within them is used by the man-db
utilities to enhance their speed and functionality.
When creating or updating an
mandb will warn of bad ROFF .so requests, bogus manual page filenames and
manual pages from which the
whatis cannot be parsed.
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 database types.
GNU gdbm v >= 1.6
GNU gdbm v < 1.6
Those database types that support asynchronous updates provide enhanced
speed at the cost of possible corruption in the event of unusual
In an unusual case where this has occurred, it may be necessary to rerun
mandb with the
-c option to re-create the databases from scratch.
Do not spend time looking for or adding information to the databases
regarding stray cats.
Do not spend time checking for deleted manual pages and purging them from
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-create them from scratch, and implies
--no-purge. This may be necessary if a database becomes corrupt or if a new database
storage scheme is introduced in the future.
Create user databases only, even with write permissions necessary to create
Perform correctness checks on manual pages in the hierarchy search path.
With this option,
mandb will not alter existing databases.
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.
-p and disables
-C file, --config-file=file
Use this user configuration file rather than the default of
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 system contains non-standard
manual pages which are incompatible with the man-db whatis parser.
WHATIS PARSING section in
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 <filename> of the
<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
This is usually due to a manual page with sectional extension <x> being put
in manual page section <y>.
<filename_mask>: competing extensions
The wildcard <filename_mask> is not unique.
This is usually caused by the existence of both a compressed and
uncompressed version of the same manual page.
All but the most recent are ignored.