Por que o comando "homem" desaparece?


9

Acho que o mancomando desaparece no meu RHEL7:

# man ls
bash: man: command not found...
# which man
/usr/bin/which: no man in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/go/bin:/root/gocode/bin:/root/bin:/opt/linuxki)

Mas mane man-pagesestão todos na minha caixa:

# yum install man
Loaded plugins: auto-update-debuginfo, langpacks, product-id, search-disabled-repos, subscription-manager
Package man-db-2.6.3-9.el7.x86_64 already installed and latest version
Nothing to do
# yum install man-pages
Loaded plugins: auto-update-debuginfo, langpacks, product-id, search-disabled-repos, subscription-manager
Package man-pages-3.53-5.el7.noarch already installed and latest version
Nothing to do

Para onde foi man?

Atualização 1 :

Tente reinstalar man, mas ele solicita os seguintes erros:

......
Running transaction
  Installing : man-db-2.6.3-9.el7.x86_64                                                                                                 1/1
Error unpacking rpm package man-db-2.6.3-9.el7.x86_64
error: unpacking of archive failed on file /usr/bin/man: cpio: rename
  Verifying  : man-db-2.6.3-9.el7.x86_64                                                                                               1/1

Failed:
  man-db.x86_64 0:2.6.3-9.el7

Atualização 2

# ls -lt /usr/bin/man
total 4
drwxr-xr-x. 2 nan nan   81 Mar 24 22:30 man1
drwxr-xr-x. 2 nan nan 4096 Mar 24 22:30 man7
# stat /usr/bin/man
  File: ‘/usr/bin/man’
  Size: 28              Blocks: 0          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 67811254    Links: 4
Access: (0755/drwxr-xr-x)  Uid: ( 1000/     nan)   Gid: ( 1000/     nan)
Context: unconfined_u:object_r:bin_t:s0
Access: 2016-04-15 17:47:56.613595324 +0800
Modify: 2016-03-24 22:30:30.000000000 +0800
Change: 2016-04-08 11:08:45.605815500 +0800
 Birth: -

Você pode adicionar a saída de ls -l /usr/bin/manà sua pergunta acima (na verdade, incluir stat /usr/bin/mantambém).
EightBitTony

desinstalar man, remover /usr/bin/mane instalar man-pagese instalarman
GAD3R 15/04

@ EightBitTony: adicione saída de ls -l /usr/bin/mane stat /usr/bin/man, obrigado!
Nan Xiao

Usa rpm cpiocomo é formato de arquivo, que é por isso que estamos vendo um erro cpio ao tentar substituir o arquivo/usr/bin/man
GAD3R

3
Bem, não sei por que - mas o seu /usr/bin/manparece ser um diretório, e não um único executável. É quase como se alguém tivesse copiado o diretório de páginas do manual em / usr / bin / man.
EightBitTony

Respostas:


13

Duvido que algum dia possamos dizer a você onde foi, mas você poderá reinstalá-lo usando yum.

yum reinstall man

yumnão verifica se existem arquivos quando você executa yum install, apenas verifica um banco de dados de quais pacotes foram instalados. Se alguém excluir todos os arquivos fora do gerenciador de pacotes, ele não saberá (você pode fazer a verificação, mas não o faz por padrão). O uso yum reinstalldiz para ele fazer a instalação, apesar de achar que o pacote já está lá.

Dependendo do que foi excluído ou removido, você pode precisar de yum reinstall ...outras coisas, como man-pages.

Atualizado à luz de novas informações:

Por alguma razão, você /usr/bin/mané um diretório, e não um único arquivo, e a julgar pelo conteúdo, parece que alguém fez algo estranho mv /usr/share/man /usr/binou estranho.

Você não poderá simplesmente desfazer isso - é necessário investigar, ver o que foi quebrado ou movido e corrigi-lo.

Talvez você consiga remover /usr/bin/mane seu conteúdo e, em seguida, reinstalar mane man-pagesusar, yummas sem mais investigação, não ficará claro.


Eu tento reinstalar o homem, mas ele " unpacking of archive failed on file /usr/bin/man: cpio: rename" pede erro. Você poderia ajudar a verificar? Muito obrigado antecipadamente!
Nan Xiao

@ Remova /usr/bin/mane reinstale mancorrigi-lo, muito obrigado!
Nan Xiao

2
@ NanXiao: Se /usr/bin/mané um diretório, quem sabe o que mais está errado? Neste ponto, recomendo fazer backup de seus arquivos e reinstalar o SO a partir do zero. E não deixe seu filho de três anos brincar com um shell raiz na próxima vez. ;)
Ilmari Karonen

0

O RPM usa cpiocomo formato de arquivo morto. É por isso que estamos vendo um cpioerro ao tentar substituir o arquivo /usr/bin/man.

Você precisa removee purge mandepois precisa instalar man-pages.

Abra o Terminal e digite os seguintes comandos:

yum check-update
yum update
yum install man-pages
yum install man

A pergunta original mostra isso yum install mane yum install man-pagesnão fez nenhuma diferença porque yumpensa que eles já estão instalados.
EightBitTony
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.