Por que o comando “man” desaparece?

9

Acho que o comando man 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 man e man-pages estão 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

Onde man foi?

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: -
    
por Nan Xiao 15.04.2016 / 09:29

2 respostas

13

Eu duvido que algum dia nós possamos lhe dizer para onde foi, mas você deve ser capaz de reinstalá-lo usando yum .

yum reinstall man

yum nã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 obtê-lo para verificar, mas isso não ocorre por padrão). Usar yum reinstall diz para fazer a instalação, mesmo que ache que o pacote já está lá.

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

Atualizado à luz de novas informações:

Por algum motivo, seu /usr/bin/man é um diretório, em vez de um único arquivo, e a julgar pelo conteúdo, parece que alguém fez algo estranho como mv /usr/share/man /usr/bin ou algo estranho.

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

Você pode só conseguir remover /usr/bin/man e seu conteúdo e, em seguida, reinstalar man e man-pages usando yum , mas sem mais investigação não ficará claro.

    
por 15.04.2016 / 09:34
0

O RPM usa cpio como formato de arquivo. É por isso que estamos vendo um erro cpio ao tentar substituir o arquivo /usr/bin/man .

Você precisa remove e purge man , e precisará instalar man-pages .

Abra o Terminal e digite os seguintes comandos:

yum check-update
yum update
yum install man-pages
yum install man
    
por 15.04.2016 / 09:44