After years, I have been experimenting with Arch Linux again. I had forgotten the usage of the pacman command so I tried accessing its man page.
What happened next shocked me (yeah! I have been reading BuzzFeed 😜). It showed me this error:
bash: man: command not found
And it was not just for pacman but for all commands, of course.
It baffled me because I have never been in a situation before where man command was not available to use.
If you find yourself in a similar situation where man command is not found, let me assure you that the fix is easy:
- Install
man-db
package (to install man pages) - Update
mandb
cache (for indexing the man pages for all commands)
Let’s see it in a bit more deatil.
Install man pages in Linux
I never imagined that I would have to install man pages explictely. But Arch Linux puts you in uncharted territory. Which is good in a way, as you discover things you never encountered before.
The key here is that the package that installs the man pages is named man-db
. That was also a discovery for me.
You can use your distribution’s package manager to install it.
For Arch and Manjaro, use:
sudo pacman -S man-db
For Ubuntu and Debian, use:
sudo apt install man-db
For Fedora, use:
sudo dnf install man-db
For Red Hat Linux, use:
sudo yum install man-db
You get the gist. It is also a wise step to build the cache for manpages.
Build man page cache
To refresh or build the man page cache, run the mandb command:
sudo mandb
It will look for the manual pages at different locations and build the cache so that you can access the man pages quickly.
Once that is done, I was able to use the man command as usual.
Conclusion
This did come as shock to me because I always thought that manpages were a core part of Linux. Never imagined that I would have to install them explicitely.
Should I add it to the list of things to do after installing Arch Linux? Not sure.
Perhaps I am one of the rare few users who encountered this missing man command issue in Arch. Perhaps not. Do let me know in the comments if you ever encounted such an ‘unexepected error’.