NAME
makemandb —
parse the manual pages and
build a search index for
apropos(1)
SYNOPSIS
makemandb |
[-floQqv]
[-C
path] |
DESCRIPTION
The
makemandb utility traverses the directories containing man
pages, parses the manual pages with the help of
mandoc(3) and builds an Sqlite
database to support full text searches by
apropos(1). It obtains the list
of directories to traverse using the
-p option of
man(1).
It supports the following options:
-
-
- -C
path
- Use different
man(1) configuration file than
the default, /etc/man.conf.
-
-
- -f
- Force rebuilding the index from scratch, pruning the
existing one.
-
-
- -l
- Limit the parsing to only the NAME section of the pages.
This option can be used to mimic the behavior of the classic
apropos(1) and also to
substantially save disk space.
-
-
- -o
- Use this option to optimize the index for faster search by
apropos(1) and also to
significantly reduce disk space usage. This is an expensive I/O
operation.
-
-
- -Q
- Print only fatal error messages (i.e., when the database is
left in an inconsistent state and needs manual intervention).
-
-
- -q
- Print only warnings and error messages but no status
updates.
-
-
- -v
- Enable verbose output. This prints the name of every file
being parsed and a summary at the end of the index update.
The index generated by
makemandb is also used by the
whatis(1) program, replacing the
old “makewhatis” program.
DATABASE SCHEMA
The name of the FTS table is mandb and its schema is as follows:
section |
The section number of the page |
name |
The name of the page from the NAME section. |
name_desc |
The one line description from the NAME section. |
desc |
The DESCRIPTION section. |
lib |
The LIBRARY section. |
return_vals |
The RETURN VALUES section. |
env |
The ENVIRONMENT section. |
files |
The FILES section. |
exit_status |
The EXIT STATUS section. |
diagnostics |
The DIAGNOSTICS section. |
errors |
The ERRORS section. |
md5_hash |
MD5 checksum of the man page. |
machine |
The machine architecture (if any) for which the man
page is relevant. |
FILES
- /etc/man.conf
- The location of the Sqlite
FTS database can be configured using the _mandb
tag.
SEE ALSO
apropos(1),
man(1),
whatis(1),
mandoc(3),
man.conf(5)
AUTHORS
Abhinav Upadhyay