為什麼「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.111。 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 有關。

相關內容