Why can't I find any manpages?
I'm working on a Power8 server running Ubuntu 16.04.2 LTS:
$ uname -a
Linux power 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:55:30 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
None of the usual manpages appear to be installed. Even a simple command like:
man man
returns
No manual entry for man
See 'man 7 undocumented' for help when manual pages are not available.
This goes for a variety of other tools, like ls
, grep
, etc. and library functions like usleep
, printf
, and so on.
I've checked that at least some manpages are actually installed:
$ dpkg -l | grep -i manpages
ii manpages 4.04-2 all Manual pages about using a GNU/Linux system
ii manpages-dev 4.04-2 all Manual pages about using GNU/Linux for development
ii manpages-posix 2013a-1 all Manual pages about using POSIX system
ii manpages-posix-dev 2013a-1 all Manual pages about using a POSIX system for development
Am I missing something? Is this specific to the ppc64le
architecture? Or is there something else I can/should install to access these manpages?
Update: As requested, I ran sudo mandb
. The result was:
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
2 old database entries were purged.
There were no changes to man man
and other such commands.
Additionally, the output of manpath
was:
$ manpath -g
/usr/man:/usr/share/man:/usr/local/man:/usr/local/share/man:/usr/X11R6/man:/opt/man
$ manpath -c
/var/cache/man/oldlocal:/var/cache/man/local:/var/cache/man
I guess something is wrong with your manual pages caches, run:
sudo mandb
to update it, if it does not exist on your system it's going to be created.
You can also use sudo mandb -c
to fore the removal of old cache and creating a new one.
The other option which may be useful to you is -t
, it perform correctness checks on manual pages.
If you have some packages installed locally, e.g using pip
or other package managers in ~/.local/bin
then to add their manual pages once again run it without sudo
:
mandb
Extra steps
If the above instruction did not worked for you use manpath
to find out about manual search path, make sure it's not empty.
Then check to see if any manual has been installed at all:
$ man -w man
/usr/share/man/man1/man.1.gz
If the command does not have any result use:
$ file /usr/share/man/man1/man.1.gz
/usr/share/man/man1/man.1.gz: gzip compressed data, max compression, from Unix
Then try man
to open the manual, see if it works at all:
man /usr/share/man/man1/man.1.gz
If you didn't find out any man page try reinstalling that package.
Unfortunately, the accepted answer didn't work for me on Ubuntu 18 (Bionic). Here's what did work:
$ sudo apt install man-db manpages-posix manpages-dev manpages-posix-dev
$ sudo mandb
Reference: How to install man pages on Ubuntu Linux .
On my system (Ubuntu 20.04, Focal), GROMACS created a variable $MANPATH that took precedence over the one used by manpages. Using sudo man
works as well, but adding this line in ~/.bashrc made it permanent.
unset MANPATH
To go a step further, adding this instead makes sure both GROMACS and manpages work alongside.
function man() {
unset MANPATH
/usr/bin/man ${@}
. /usr/local/gromacs/bin/GMXRC
}