Por que “man CMD” não mostra nada?

4

Depois de executar man ls , mostra:

Man: find all matching manual pages
* ls (1)
ls (1p)
Man: What manual page do you want?
Man:

Depois que eu inseri "1", ele não mostra nada além de " Manual da página ls (1) line? /? (END)

Eu acho que não instalei a página de manual para ls , então eu corri manpath e obtive a saída abaixo:

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

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

Então, por que man ls não mostra nada aqui?

    
por xanpeng 14.03.2012 / 07:58

2 respostas

3

Obrigado por todas as suas sugestões.

Eu finalmente resolvi o problema e agora man funciona.

Resposta

Alguém instalou a versão de 64 bits 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 de glibc , man funciona.

== Processo detalhado ==

  • Ran mandb -t , muitas mensagens de erro foram exibidas:

iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): Invalid argument

  • No google, descobri que iconv_open está em gconv (ref ) .
  • strace mandb -t e strace man ls mostram essas informações:

open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/gconv/gconv-modules", O_RDONLY) = -1 ENOENT (No such file or directory)

  • No google, descobri que os módulos gconv podem ser muito importantes para iconv , o que pode ser muito importante para man . E o gconv está em glibc , agora o melhor palpite é que meu glibc não está instalado corretamente.
  • Ran rpm -qa | grep glibc , eu tenho isso:

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

  • Ran rpm -e --nodeps 32bit-PACKAGE para remover todos os pacotes de 32 bits e, em seguida, reinicialize a máquina (Qualquer outra maneira além da reinicialização?).
  • Reinstalou todos os pacotes glibc de 64 bits.
  • man ls , funcionou!
por 15.03.2012 / 06:59
-2

Por fim, a resposta correta para esse erro também:

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

não tem nada a ver com suas fontes instaladas, mas com pacotes glibc ausentes.

    
por 26.10.2012 / 16:38

Tags