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 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
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
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
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
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
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
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
156 Wilf. (G.Wilford@ee.surrey.ac.uk).
157 Fabrizio Polacco (fpolacco@debian.org).
158 Colin Watson (cjwatson@debian.org).
159
161 https://gitlab.com/man-db/man-db/-/issues
162 https://savannah.nongnu.org/bugs/?group=man-db
163
164
165
1662.11.2 2023-01-08 MANDB(8)