
我運行後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 位元版本後glibc
,man
可以使用。
==詳細流程==
- 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 有關。