为什么“man CMD”什么都不显示?

xan*_*eng 5 man

我跑后man ls,它显示:

男人:找到所有匹配的手册页
* ls (1)
ls (1p)
男人:你想要什么手册页?
男人:

输入“1”后,状态栏上只显示“ Manual page ls(1) line ?/? (END) ”。

我想我还没有为 安装手册页ls,所以我运行manpath并得到以下输出:

/usr/share/man:/usr/local/man:/usr/local/share/man

就在目录下,/usr/share/man/man1/我找到了 gzip 文件ls.1.gz,我认为这是ls.

那么为什么man ls这里什么都不显示呢?

xan*_*eng 3

感谢大家的建议。

我终于解决了问题并且现在man可以工作了。

回答

有人同时安装了 64 位和 32 位版本的glibc,我猜这会带来混乱。卸载 32 位版本并重新安装 64 位版本后glibcman可以使用。

==详细流程==

  • Ran mandb -t,出现很多错误信息:

iconv_open(“UTF-8 //忽略”,“ISO-8859-1”):参数无效

  • 通过谷歌我发现它iconv_opengconv(ref)中。
  • strace mandb -t两者strace man ls都显示此信息:

open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (没有这样的文件或目录)
open("/usr/lib64/gconv/gconv-modules", O_RDONLY) = -1 ENOENT(没有这样的文件或目录)

  • 通过google,我发现 gconv-modules 可能对 非常重要iconv,这对 可能非常重要man。而 gconv 位于 中glibc,现在最好的猜测是我的glibc安装不正确。
  • rpm -qa | grep glibc,我得到了这个:

glibc-i18ndata-2.11.1-0.17.4
glibc-locale-
2.11.1-0.17.4 glibc-info-2.11.1-0.17.4
glibc-html-2.11.1-0.17.4
glibc-profile-2.11。 1-0.17.4
glibc-devel-2.11.1-0.17.4
glibc-2.11.1-0.17.4
glibc-32bit-2.11.1-0.17.4
glibc-devel-32bit-2.11.1-0.17.4
glibc -locale-32bit-2.11.1-0.17.4
glibc-profile-32bit-2.11.1-0.17.4

  • rpm -e --nodeps 32bit-PACKAGE删除所有32位包,然后重新启动机器(除了重新启动之外还有其他方法吗?)。
  • 重新安装了所有 64 位 glibc 软件包。
  • man ls, 有效!