「man CMD」では何も表示されないのはなぜですか?

「man CMD」では何も表示されないのはなぜですか?

を実行するとman ls、次のように表示されます。

男: 一致するマニュアルページをすべて検索
* ls (1)
ls (1p)
男: どのマニュアルページが必要ですか?
男:

「1」と入力した後、「マニュアルページ ls(1) 行 ?/? (END)ステータスバーに「」が表示されます。

のマニュアル ページをインストールしていないと思われる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動作します。

== 詳細なプロセス ==

  • 実行するとmandb -t、多くのエラー メッセージが表示されました。

iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): 無効な引数

  • グーグルで調べたところiconv_opengconv(参照)
  • 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 パッケージが不足しています。

関連情報