Por que "man CMD" não mostra nada?

Por que "man CMD" não mostra nada?

Depois que eu corri man ls, ele mostra:

Homem: encontre todas as páginas de manual correspondentes
* ls (1)
ls (1p)
Homem: Qual página de manual você deseja?
Homem:

Depois de inserir "1", não aparece nada além de "Página do manual ls(1) linha ?/? (FIM)" na barra de status.

Acho que não instalei a página de manual do ls, então executei manpathe obtive a saída abaixo:

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

Logo no diretório /usr/share/man/man1/encontrei o arquivo gzip ls.1.gz, que acho que é a informação manual do arquivo ls.

Então, por que man lsnão mostra nada aqui?

Responder1

Obrigado a todos por suas sugestões.

Finalmente resolvi o problema e agora manfunciona.

Responder

Alguém instalou as versões de 64 e 32 bits do glibc, o que traz o caos, eu acho. Depois de desinstalar a versão de 32 bits e reinstalar a versão de 64 bits glibc, manfunciona.

== Processo detalhado ==

  • Ran mandb -t, muitas mensagens de erro apareceram:

iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Argumento inválido

  • Pelo google descobri que iconv_openestá emgconv(ref.).
  • strace mandb -te strace man lsambos mostram esta informação:

open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (Esse arquivo ou diretório não existe)
open("/usr/lib64/gconv/gconv-modules", O_RDONLY) = -1 ENOENT (Esse arquivo ou diretório não existe)

  • Pelo google descobri que gconv-modules pode ser muito importante para iconv, o que pode ser muito importante para man. E o gconv está em glibc, agora o melhor palpite é que o meu glibcnão está instalado corretamente.
  • Ran rpm -qa | grep glibc, eu entendi:

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

  • Executei rpm -e --nodeps 32bit-PACKAGEpara remover todos os pacotes de 32 bits e reinicie a máquina (alguma outra maneira além de reiniciar?).
  • Reinstalei todos os pacotes glibc de 64 bits.
  • man ls, funcionou!

Responder2

Finalmente, ocorretoresponda a este erro também:

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

Isso acontecenãotem algo a ver com suas fontes instaladas, mas com pacotes glibc ausentes.

informação relacionada