How to use the command "mandb" (with examples)
- Linux
- December 25, 2023
“mandb” is a command-line utility used to manage the pre-formatted manual page database on a Linux system. It updates and maintains the database containing pre-built manual pages, which can then be accessed using the “man” command. The command “mandb” is typically run by the system administrator or during system startup to ensure that the manual page database is up to date.
Use case 1: Purge and process manual pages
Code:
mandb
Motivation: Running the “mandb” command without any arguments purges and updates the entire manual page database. This is useful when manual pages have been added or modified, ensuring that the changes are reflected in the database.
Explanation: The “mandb” command without any arguments performs the following tasks:
- Purges the existing manual page database.
- Recursively searches for all manual pages in the standard directories specified in the “manpath” environment variable.
- Parses and indexes each manual page found, creating or updating the corresponding entries in the database.
Example output: The output of the “mandb” command shows the progress of updating the manual page database, displaying information about each manual page being processed.
Updating index cache for section 1 (user commands)...
Updating index cache for section 2 (system calls)...
Updating index cache for section 3 (library functions)...
Done.
Use case 2: Update a single entry
Code:
mandb --filename path/to/file
Motivation: The “–filename” option allows you to specify a specific manual page file to be updated in the database. This can be useful when you have made changes to a manual page and want to update the corresponding entry in the database without having to update the entire database.
Explanation: The “–filename” option followed by the path to the manual page file tells “mandb” to only update the specified manual page entry in the database, rather than updating the entire database. This can save time and resources when you only need to update a single manual page.
Example output: The output of the command will show the progress of updating the specified manual page entry in the database.
Updating index cache for path/to/file...
Done.
Use case 3: Create entries from scratch instead of updating
Code:
mandb --create
Motivation: The “–create” option instructs “mandb” to create new entries in the manual page database instead of updating existing ones. This can be useful when you want to build a fresh manual page database from scratch or add additional manual page directories to the existing database.
Explanation: The “–create” option tells “mandb” to create new entries in the database for all manual pages found during the indexing process. It ignores the existing entries in the database, effectively creating a new database or adding to the existing one.
Example output: The output of the command will show the progress of creating new entries in the manual page database.
Creating index cache for section 1 (user commands)...
Creating index cache for section 2 (system calls)...
Creating index cache for section 3 (library functions)...
Done.
Use case 4: Only process user databases
Code:
mandb --user-db
Motivation: The “–user-db” option limits the processing of the manual page database to only the user-specific directories, skipping the system-wide directories. This can be useful in situations where you want to update the manual pages that are specific to a particular user or a custom installation.
Explanation: The “–user-db” option tells “mandb” to only process the manual page directories specified in the “manpath” environment variable for the current user. It skips the standard system-wide directories, focusing on the user-specific manual pages.
Example output: The output of the command will show the progress of updating the manual page database for the user-specific directories.
Updating index cache for user commands...
Updating index cache for user library functions...
Done.
Use case 5: Do not purge obsolete entries
Code:
mandb --no-purge
Motivation: By default, “mandb” purges obsolete entries from the manual page database. However, in some cases, you may want to keep these entries intact. The “–no-purge” option prevents “mandb” from removing obsolete entries during the update process.
Explanation: The “–no-purge” option instructs “mandb” to skip the purging of obsolete entries from the manual page database. Instead of removing outdated entries, “mandb” only updates the existing entries and adds new entries.
Example output: The output of the command will show the progress of updating the manual page database without purging the obsolete entries.
Updating existing index cache...
Adding new index entries...
Done.
Use case 6: Check the validity of manual pages
Code:
mandb --test
Motivation: The “–test” option allows you to check the validity of manual pages without updating the database. This can be useful when you want to verify the integrity and correctness of manual pages before updating the database.
Explanation: The “–test” option tells “mandb” to scan the specified manual page directories without making any changes to the database. It checks the validity of the manual pages, ensuring that they are properly formatted and can be read as expected.
Example output: The output of the command will show the results of the validity check for each manual page.
Testing manual page: path/to/file1...
Valid manual page.
Testing manual page: path/to/file2...
Valid manual page.
Done.
Conclusion:
The “mandb” command is a powerful tool for managing the pre-formatted manual page database on a Linux system. By using different options and arguments, you can control and customize how the manual page database is updated, allowing you to keep it up to date with the latest changes in the manual pages. Whether you need to update the entire database, create new entries, or skip certain directories, “mandb” provides the flexibility and control necessary for effective manual page management.