为什么我找不到任何联机帮助页?

ton*_*sdg 7 command-line manpage ppc64le

我正在运行 Ubuntu 16.04.2 LTS 的 Power8 服务器上工作:

$ 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"
Run Code Online (Sandbox Code Playgroud)

似乎没有安装任何常见的联机帮助页。即使是一个简单的命令,如:

man man

返回

No manual entry for man
See 'man 7 undocumented' for help when manual pages are not available.
Run Code Online (Sandbox Code Playgroud)

这同样适用于其他各种工具,比如lsgrep等和库函数一样usleepprintf等。

我已经检查过至少确实安装了一些联机帮助页:

$ 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
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?这是特定于ppc64le架构的吗?或者我可以/应该安装其他什么东西来访问这些联机帮助页?

更新:根据要求,我跑了sudo mandb。结果是:

0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
2 old database entries were purged.
Run Code Online (Sandbox Code Playgroud)

man man和其他此类命令没有任何变化。

此外,输出manpath为:

$ 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
Run Code Online (Sandbox Code Playgroud)

Rav*_*ina 7

我猜你的手册页缓存有问题,运行:

sudo mandb
Run Code Online (Sandbox Code Playgroud)

更新它,如果它在您的系统上不存在,它将被创建。

您还可以使用sudo mandb -c预先删除旧缓存并创建一个新缓存。

另一个可能对您有用的选项是-t,它在手册页上执行正确性检查。

如果您在本地安装了一些软件包,例如使用pip或其他软件包管理器~/.local/bin然后添加他们的手册页再次运行它没有sudo

mandb
Run Code Online (Sandbox Code Playgroud)

额外的步骤

如果上述说明对您用于manpath查找手动搜索路径不起作用,请确保它不为空。

然后检查是否安装了任何手册:

$ man -w man
/usr/share/man/man1/man.1.gz
Run Code Online (Sandbox Code Playgroud)

如果命令没有任何结果,请使用:

$ file /usr/share/man/man1/man.1.gz
/usr/share/man/man1/man.1.gz: gzip compressed data, max compression, from Unix
Run Code Online (Sandbox Code Playgroud)

然后尝试man打开手册,看看它是否有效:

man /usr/share/man/man1/man.1.gz
Run Code Online (Sandbox Code Playgroud)

如果您没有找到任何手册页,请尝试重新安装该软件包。