1MANDB(8) Manual pager utils MANDB(8)
2
3
4
6 mandb - create or update the manual page index caches
7
9 mandb [-dqsucpt|-h|-V] [-C file] [manpath]
10 mandb [-dqsut] [-C file] -f filename ...
11
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
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 v >= 1.6 Hashed Yes index.db
36 GNU gdbm v < 1.6 Hashed No index.db
37 UNIX ndbm Hashed No index.(dir|pag)
38
39 Those database types that support asynchronous updates provide enhanced
40 speed at the cost of possible corruption in the event of unusual termi‐
41 nation. In an unusual case where this has occurred, it may be neces‐
42 sary to rerun mandb with the -c option to re-create the databases from
43 scratch.
44
46 -d, --debug
47 Print debugging information.
48
49 -q, --quiet
50 Produce no warnings.
51
52 -s, --no-straycats
53 Do not spend time looking for or adding information to the data‐
54 bases regarding stray cats.
55
56 -p, --no-purge
57 Do not spend time checking for deleted manual pages and purging
58 them from the databases.
59
60 -c, --create
61 By default, mandb will try to update any previously created
62 databases. If a database does not exist, it will create it.
63 This option forces mandb to delete previous databases and re-
64 create them from scratch, and implies --no-purge. This may be
65 necessary if a database becomes corrupt or if a new database
66 storage scheme is introduced in the future.
67
68 -u, --user-db
69 Create user databases only, even with write permissions neces‐
70 sary to create system databases.
71
72 -t, --test
73 Perform correctness checks on manual pages in the hierarchy
74 search path. With this option, mandb will not alter existing
75 databases.
76
77 -f, --filename
78 Update only the entries for the given filename. This option is
79 not for general use; it is used internally by man when it has
80 been compiled with the MAN_DB_UPDATES option and finds that a
81 page is out of date. It implies -p and disables -c and -s.
82
83 -C file, --config-file=file
84 Use this user configuration file rather than the default of
85 ~/.manpath.
86
87 -h, --help
88 Show the usage message, then exit.
89
90 -V, --version
91 Show the version, then exit.
92
94 0 Successful program execution.
95
96 1 Usage, syntax, or configuration file error.
97
98 2 Operational error.
99
100 3 A child process failed.
101
103 The following warning messages can be emitted during database building.
104
105 <filename>: whatis parse for page(sec) failed
106 An attempt to extract whatis line(s) from the given <filename>
107 failed. This is usually due to a poorly written manual page,
108 but if many such messages are emitted it is likely that the sys‐
109 tem contains non-standard manual pages which are incompatible
110 with the man-db whatis parser. See the WHATIS PARSING section
111 in lexgrog(1) for more information.
112
113 <filename>: is a dangling symlink
114 <filename> does not exist but is referenced by a symbolic link.
115 Further diagnostics are usually emitted to identify the <file‐
116 name> of the offending link.
117
118 <filename>: bad symlink or ROFF `.so' request
119 <filename> is either a symbolic link to, or contains a ROFF
120 include request to, a non existent file.
121
122 <filename>: ignoring bogus filename
123 The <filename> may or may not be a valid manual page but its
124 name is invalid. This is usually due to a manual page with sec‐
125 tional extension <x> being put in manual page section <y>.
126
127 <filename_mask>: competing extensions
128 The wildcard <filename_mask> is not unique. This is usually
129 caused by the existence of both a compressed and uncompressed
130 version of the same manual page. All but the most recent are
131 ignored.
132
134 /etc/man_db.conf
135 man-db configuration file.
136
137 /var/cache/man/index.(bt|db|dir|pag)
138 An FHS compliant global index database cache.
139
140 Older locations for the database cache included:
141
142 /usr/man/index.(bt|db|dir|pag)
143 A traditional global index database cache.
144
145 /var/catman/index.(bt|db|dir|pag)
146 An alternate or FSSTND compliant global index database cache.
147
149 man(1), lexgrog(1), manpath(5), catman(8).
150
151 The WHATIS PARSING section formerly in this manual page is now part of
152 lexgrog(1).
153
155 Wilf. (G.Wilford@ee.surrey.ac.uk).
156 Fabrizio Polacco (fpolacco@debian.org).
157 Colin Watson (cjwatson@debian.org).
158
159
160
1612.5.7 2010-02-16 MANDB(8)