1MANDB(8)                      Manual pager utils                      MANDB(8)
2
3
4

NAME

6       mandb - create or update the manual page index caches
7

SYNOPSIS

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

DESCRIPTION

13       mandb  is  used  to initialise or manually update index database caches
14       that are usually maintained by man.   The  caches  contain  information
15       relevant  to the current state of the manual page system and the infor‐
16       mation stored within them is used by the man-db  utilities  to  enhance
17       their speed and functionality.
18
19       When  creating  or  updating  an index, mandb will warn of bad ROFF .so
20       requests, bogus manual page filenames and manual pages from  which  the
21       whatis cannot be parsed.
22
23       Supplying mandb with an optional colon-delimited path will override the
24       internal system manual page  hierarchy  search  path,  determined  from
25       information found within the man-db configuration file.
26

DATABASE CACHES

28       mandb  can  be compiled with support for any one of the following data‐
29       base types.
30
31
32       Name          Type                   Async   Filename
33       ─────────────────────────────────────────────────────────────
34       Berkeley db   Binary tree            Yes     index.bt
35       GNU gdbm      Hashed                 Yes     index.db
36       UNIX ndbm     Hashed                 No      index.(dir|pag)
37
38       Those database types that support asynchronous updates provide enhanced
39       speed at the cost of possible corruption in the event of unusual termi‐
40       nation.  In an unusual case where this has occurred, it may  be  neces‐
41       sary  to rerun mandb with the -c option to re-create the databases from
42       scratch.
43

OPTIONS

45       -d, --debug
46              Print debugging information.
47
48       -q, --quiet
49              Produce no warnings.
50
51       -s, --no-straycats
52              Do not spend time looking for or adding information to the data‐
53              bases regarding stray cats.
54
55       -p, --no-purge
56              Do  not spend time checking for deleted manual pages and purging
57              them from the databases.
58
59       -c, --create
60              By default, mandb will try  to  update  any  previously  created
61              databases.   If  a  database  does not exist, it will create it.
62              This option forces mandb to delete previous  databases  and  re-
63              create  them  from scratch, and implies --no-purge.  This may be
64              necessary if a database becomes corrupt or  if  a  new  database
65              storage scheme is introduced in the future.
66
67       -u, --user-db
68              Create  user  databases only, even with write permissions neces‐
69              sary to create system databases.
70
71       -t, --test
72              Perform correctness checks on  manual  pages  in  the  hierarchy
73              search  path.   With  this option, mandb will not alter existing
74              databases.
75
76       -f, --filename
77              Update only the entries for the given filename.  This option  is
78              not  for  general  use; it is used internally by man when it has
79              been compiled with the MAN_DB_UPDATES option and  finds  that  a
80              page is out of date.  It implies -p and disables -c and -s.
81
82       -C file, --config-file=file
83              Use  this  user  configuration  file  rather than the default of
84              ~/.manpath.
85
86       -?, --help
87              Show the usage message, then exit.
88
89       --usage
90              Print a short usage message and exit.
91
92       -V, --version
93              Show the version, then exit.
94

EXIT STATUS

96       0      Successful program execution.
97
98       1      Usage, syntax, or configuration file error.
99
100       2      Operational error.
101
102       3      A child process failed.
103

DIAGNOSTICS

105       The following warning messages can be emitted during database building.
106
107       <filename>: whatis parse for page(sec) failed
108              An attempt to extract whatis line(s) from the  given  <filename>
109              failed.   This  is  usually due to a poorly written manual page,
110              but if many such messages are emitted it is likely that the sys‐
111              tem  contains  non-standard  manual pages which are incompatible
112              with the man-db whatis parser.  See the WHATIS  PARSING  section
113              in lexgrog(1) for more information.
114
115       <filename>: is a dangling symlink
116              <filename>  does not exist but is referenced by a symbolic link.
117              Further diagnostics are usually emitted to identify  the  <file‐
118              name> of the offending link.
119
120       <filename>: bad symlink or ROFF `.so' request
121              <filename>  is  either  a  symbolic  link to, or contains a ROFF
122              include request to, a non existent file.
123
124       <filename>: ignoring bogus filename
125              The <filename> may or may not be a valid  manual  page  but  its
126              name is invalid.  This is usually due to a manual page with sec‐
127              tional extension <x> being put in manual page section <y>.
128
129       <filename_mask>: competing extensions
130              The wildcard <filename_mask> is not  unique.   This  is  usually
131              caused  by  the  existence of both a compressed and uncompressed
132              version of the same manual page.  All but the  most  recent  are
133              ignored.
134

FILES

136       /etc/man_db.conf
137              man-db configuration file.
138
139       /var/cache/man/index.(bt|db|dir|pag)
140              An FHS compliant global index database cache.
141
142       Older locations for the database cache included:
143
144       /usr/man/index.(bt|db|dir|pag)
145              A traditional global index database cache.
146
147       /var/catman/index.(bt|db|dir|pag)
148              An alternate or FSSTND compliant global index database cache.
149

SEE ALSO

151       lexgrog(1), man(1), manpath(5), catman(8)
152
153       The  WHATIS PARSING section formerly in this manual page is now part of
154       lexgrog(1).
155

AUTHOR

157       Wilf. (G.Wilford@ee.surrey.ac.uk).
158       Fabrizio Polacco (fpolacco@debian.org).
159       Colin Watson (cjwatson@debian.org).
160
161
162
1632.8.4                             2018-07-27                          MANDB(8)
Impressum