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 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
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
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
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
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
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
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)