Linux Commands Examples

A great documentation place for Linux commands


create or update the manual page index caches

see also : lexgrog - man - manpath - catman


mandb [-dqsucpt|-h|-V] [-C file] [manpath]
[-dqsut] [-C file] -f filename ...

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


no example yet ...

... Feel free to add your own example above to help other Linux-lovers !


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 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.


-d, --debug

Print debugging information.

-q, --quiet

Produce no warnings.

-s, --no-straycats

Do not spend time looking for or adding information to the databases regarding stray cats.

-p, --no-purge

Do not spend time checking for deleted manual pages and purging them from the databases.

-c, --create

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-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.

-u, --user-db

Create user databases only, even with write permissions necessary to create system databases.

-t, --test

Perform correctness checks on manual pages in the hierarchy search path. With this option, mandb will not alter existing databases.

-f, --filename

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 ~/.manpath.

-h, --help

Show the usage message, then exit.

-V, --version

Show the version, then exit.

database caches

mandb can be compiled with support for any one of the following database types.

Image grohtml-83701.png

Those database types that support asynchronous updates provide enhanced speed at the cost of possible corruption in the event of unusual termination. 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.


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. 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 <filename> 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 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.

exit status


Successful program execution.


Usage, syntax, or configuration file error.


Operational error.


A child process failed.



man-db configuration file.


An FHS compliant global index database cache.

Older locations for the database cache included:

A traditional global index database cache.


An alternate or FSSTND compliant global index database cache.

see also

lexgrog , man , manpath , catman

The WHATIS PARSING section formerly in this manual page is now part of lexgrog.


Wilf. (G.Wilford[:at:][:dot:]uk).
Fabrizio Polacco (fpolacco[:at:]debian[:dot:]org).
Colin Watson (cjwatson[:at:]debian[:dot:]org).

How can this site be more helpful to YOU ?

give  feedback