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       The caches contain information relevant to the  current  state  of  the
15       manual  page  system  and the information stored within them is used by
16       the man-db utilities to enhance their speed and functionality.
17
18       When creating or updating an index, mandb will warn of bad ROFF .so re‐
19       quests,  bogus  manual  page  filenames and manual pages from which the
20       whatis cannot be parsed.
21
22       Supplying mandb with an optional colon-delimited path will override the
23       internal  system manual page hierarchy search path, determined from in‐
24       formation found within the man-db configuration file.
25

DATABASE CACHES

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

OPTIONS

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

EXIT STATUS

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

DIAGNOSTICS

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

FILES

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

SEE ALSO

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

AUTHOR

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

BUGS

161       https://savannah.nongnu.org/bugs/?group=man-db
162
163
164
1652.9.4                             2021-02-08                          MANDB(8)
Impressum