1MANDB(8) Manual pager utils MANDB(8)
2
3
4
6 mandb - create or update the manual page index caches
7
9 mandb [-dqsucpt?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 -?, --help
88 Show the usage message, then exit.
89
90 --usage
91 Print a short usage message and exit.
92
93 -V, --version
94 Show the version, then exit.
95
97 0 Successful program execution.
98
99 1 Usage, syntax, or configuration file error.
100
101 2 Operational error.
102
103 3 A child process failed.
104
106 The following warning messages can be emitted during database building.
107
108 <filename>: whatis parse for page(sec) failed
109 An attempt to extract whatis line(s) from the given <filename>
110 failed. This is usually due to a poorly written manual page,
111 but if many such messages are emitted it is likely that the sys‐
112 tem contains non-standard manual pages which are incompatible
113 with the man-db whatis parser. See the WHATIS PARSING section
114 in lexgrog(1) for more information.
115
116 <filename>: is a dangling symlink
117 <filename> does not exist but is referenced by a symbolic link.
118 Further diagnostics are usually emitted to identify the <file‐
119 name> of the offending link.
120
121 <filename>: bad symlink or ROFF `.so' request
122 <filename> is either a symbolic link to, or contains a ROFF
123 include request to, a non existent file.
124
125 <filename>: ignoring bogus filename
126 The <filename> may or may not be a valid manual page but its
127 name is invalid. This is usually due to a manual page with sec‐
128 tional extension <x> being put in manual page section <y>.
129
130 <filename_mask>: competing extensions
131 The wildcard <filename_mask> is not unique. This is usually
132 caused by the existence of both a compressed and uncompressed
133 version of the same manual page. All but the most recent are
134 ignored.
135
137 /etc/man_db.conf
138 man-db configuration file.
139
140 /var/cache/man/index.(bt|db|dir|pag)
141 An FHS compliant global index database cache.
142
143 Older locations for the database cache included:
144
145 /usr/man/index.(bt|db|dir|pag)
146 A traditional global index database cache.
147
148 /var/catman/index.(bt|db|dir|pag)
149 An alternate or FSSTND compliant global index database cache.
150
152 lexgrog(1), man(1), manpath(5), catman(8)
153
154 The WHATIS PARSING section formerly in this manual page is now part of
155 lexgrog(1).
156
158 Wilf. (G.Wilford@ee.surrey.ac.uk).
159 Fabrizio Polacco (fpolacco@debian.org).
160 Colin Watson (cjwatson@debian.org).
161
162
163
1642.6.3 2012-09-17 MANDB(8)