mandb manpage

Search topic Section

MANDB(8)		      Manual pager utils		      MANDB(8)

       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
       that are usually maintained by man.   The  caches  contain  information
       relevant	 to the current state of the manual page system and the infor-
       mation 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 data-
       base 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 termi-
       nation.	In an unusual case where this has occurred, it may  be	neces-
       sary  to rerun mandb with the -c option to re-create the databases from

       -d, --debug
	      Print debugging information.

       -q, --quiet
	      Produce no warnings.

       -s, --no-straycats
	      Do not spend time looking for or adding information to the data-
	      bases 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 neces-
	      sary 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

       -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

       -?, --help
	      Show the usage message, then exit.

	      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 sys-
	      tem  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	<file-
	      name> 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 sec-
	      tional 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

	      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.

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

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

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

2.6.3				  2012-09-17			      MANDB(8)