mandb - create or update the manual page index caches
mandb [
-dqsucpt?V] [
-C file] [
manpath]
mandb [
-dqsut] [
-C file]
-f
filename ...
mandb is used to initialise or manually update
index database
caches. 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 |
Async |
Filename |
|
Berkeley db |
Yes |
index.bt |
GNU gdbm |
Yes |
index.db |
UNIX ndbm |
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.
-
-?, --help
- Show the usage message, then exit.
- --usage
- Print a short usage message and exit.
-
-V, --version
- 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 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/manpath.config
- 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. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db