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
}