MAKEMANDB(8) | System Manager's Manual | MAKEMANDB(8)

# NAME

makemandb — parse the manual pages and build a search index over them

# SYNOPSIS

makemandb | [-C path] [-floqv]

# DESCRIPTION

The makemandb utility traverses the directories containing man pages, parses the manual pages with the help of libmandoc and builds an Sqlite database man.db to support full text searches. It obtains the list of directories to traverse using the -path and -p options 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 speed and also to significantly reduce disk space usage. This is a somewhat expensive operation.
-q
  Print only error messages and no status updates.
-v
  Enable verbose output. This prints the name of every file being parsed.

As the database file is stored under /var/db, root privileges are required to run makemandb.

## 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.
`errors` | The ERRORS section.

# FILES

/var/db/man.db
  The Sqlite FTS database which contains an index of the manual pages.

# SEE ALSO

apropos(1), man(1), whatis(1), man.conf(5)

# AUTHORS

Abhinav Upadhyay

February 20, 2012 | NetBSD 6.0