MANDB(8) manual page
Table of Contents
mandb - create or update the manual page index caches
mandb
[-dqsucpt|-h|-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 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.
mandb can be
compiled with support for any one of the following database types.
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 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.
- -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.
- Successful program execution.
- Usage, syntax, or configuration
file error.
- Operational error.
- 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 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.
- /etc/man_db.conf
- man-db configuration file.
- /var/cache/man/index.(bt|db|dir|pag)
- An FHS compliant global index database cache.
Older locations for the database
cache included:
- /usr/man/index.(bt|db|dir|pag)
- A traditional global index database
cache.
- /var/catman/index.(bt|db|dir|pag)
- 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
lexgrog(1)
.
Wilf. (G.Wilford@ee.surrey.ac.uk).
Fabrizio Polacco (fpolacco@debian.org).
Colin Watson (cjwatson@debian.org).
Table of Contents