为什么“man CMD”没有显示任何内容?

为什么“man CMD”没有显示任何内容?

我运行后man ls,它显示:

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

当我输入“1”后,它只显示“手册页 ls(1) 行 ?/? (结尾)” 在状态栏上。

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

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

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

那么为什么man ls这里什么也没有显示呢?

答案1

感谢大家的建议。

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

回答

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

==详细流程==

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

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

  • 通过谷歌我发现这iconv_open是在gconv(参考)
  • 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, 有效!

答案2

最后正确的也回答这个错误:

QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed

确实如此不是与您安装的字体有关,但与缺少 glibc-packages 有关。

相关内容