mandb(8) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | DATABASE CACHES | OPTIONS | EXIT STATUS | DIAGNOSTICS | FILES | SEE ALSO | AUTHOR | BUGS | COLOPHON

MANDB(8)                   Manual pager utils                   MANDB(8)

NAME         top

       mandb - create or update the manual page index caches

SYNOPSIS         top

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

DESCRIPTION         top

       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.

DATABASE CACHES         top

       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.

OPTIONS         top

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

EXIT STATUS         top

       0      Successful program execution.

       1      Usage, syntax, or configuration file error.

       2      Operational error.

       3      A child process failed.

DIAGNOSTICS         top

       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.

FILES         top

       /usr/local/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.

SEE ALSO         top

       lexgrog(1), man(1), manpath(5), catman(8)

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

AUTHOR         top

       Wilf. (G.Wilford@ee.surrey.ac.uk).
       Fabrizio Polacco (fpolacco@debian.org).
       Colin Watson (cjwatson@debian.org).

BUGS         top

       https://gitlab.com/man-db/man-db/-/issues
       https://savannah.nongnu.org/bugs/?group=man-db

COLOPHON         top

       This page is part of the man-db (manual pager suite) project.
       Information about the project can be found at 
       ⟨http://www.nongnu.org/man-db/⟩.  If you have a bug report for
       this manual page, send it to man-db-devel@nongnu.org.  This page
       was obtained from the project's upstream Git repository
       ⟨https://gitlab.com/cjwatson/man-db⟩ on 2023-12-22.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2023-12-18.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

2.12.0                         2023-09-23                       MANDB(8)

Pages that refer to this page: apropos(1)lexgrog(1)man(1)whatis(1)man(7)catman(8)