我正在运行 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"
似乎没有安装任何常用的手册页。甚至像下面这样的简单命令:
man man
返回
No manual entry for man
See 'man 7 undocumented' for help when manual pages are not available.
这适用于各种其他工具,如ls
、grep
等,以及库函数,如usleep
、printf
等。
我已经检查过至少有一些手册页确实已经安装:
$ 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
我是不是漏掉了什么?这是否特定于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.
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
答案1
我猜你的手册页缓存有问题,请运行:
sudo mandb
来更新它,如果它不存在于您的系统中,它将被创建。
您还可以使用sudo mandb -c
它来删除旧缓存并创建新的缓存。
另一个可能对您有用的选项是-t
,它对手册页执行正确性检查。
如果您在本地安装了一些软件包,例如使用pip
或其他软件包管理器,~/.local/bin
那么要添加它们的手册页,请再次运行它sudo
:
mandb
额外步骤
如果上述说明对您不起作用,请使用manpath
查找手动搜索路径,确保它不为空。
然后检查是否已经安装了任何手册:
$ man -w man
/usr/share/man/man1/man.1.gz
如果该命令没有任何结果,请使用:
$ file /usr/share/man/man1/man.1.gz
/usr/share/man/man1/man.1.gz: gzip compressed data, max compression, from Unix
然后尝试man
打开手册,看看它是否有效:
man /usr/share/man/man1/man.1.gz
如果您没有找到任何手册页,请尝试重新安装该软件包。
答案2
不幸的是,接受的答案在 Ubuntu 18 (Bionic) 上对我不起作用。以下是有效的方法:
$ sudo apt install man-db manpages-posix manpages-dev manpages-posix-dev
$ sudo mandb
答案3
在我的系统 (Ubuntu 20.04,Focal) 上,GROMACS 创建了一个变量 $MANPATH,该变量优先于手册页使用的变量。使用sudo man
也可以,但在 ~/.bashrc 中添加此行可使其永久生效。
unset MANPATH
更进一步,添加此项可确保 GROMACS 和手册页能够一起工作。
function man() {
unset MANPATH
/usr/bin/man ${@}
. /usr/local/gromacs/bin/GMXRC
}