「man」コマンドが消えるのはなぜですか?


9

私は見つけるmanコマンドは私に消えます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)

しかしmanman-pagesすべて私の箱に入っています:

# 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

どこにman行ったの?

アップデート1

再インストールを試みmanますが、次のエラーが表示されます。

......
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

アップデート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: -

からの出力をls -l /usr/bin/man上記の質問に追加できますか(実際には、含めてくださいstat /usr/bin/man)。
EightBitTony

アンインストールman、削除/usr/bin/man、インストールしてman-pagesからインストールman
GAD3R 2016

@EightBitTony:ls -l /usr/bin/manandの出力を追加してくださいstat /usr/bin/man、ありがとう!
Nan Xiao

RPMはcpioアーカイブ形式として使用するため、ファイルを置換しようとするとcpioエラーが発生します/usr/bin/man
GAD3R

3
ええと、なぜなのかはわかりませんが、あなた/usr/bin/manは単一の実行可能ファイルではなく、ディレクトリのように見えます。まるで、誰かがmanページのディレクトリを/ usr / bin / manにコピーしたかのようです。
EightBitTony 2016

回答:


13

私はそれがどこに行ったのかあなたに伝えることができるとは思えませんが、あなたはそれを使ってそれを再インストールできるはずyumです。

yum reinstall man

yumではyum install、実行時にファイルが存在するかどうかは確認されません。インストールされているパッケージのデータベースが確認されるだけです。誰かがパッケージマネージャーの外ですべてのファイルを削除しても、そのことはわかりません(確認することはできますが、デフォルトではそうではありません)。を使用yum reinstallすると、パッケージがすでに存在すると見なされていても、インストールを実行するように指示されます。

削除または削除されたものに応じて、のyum reinstall ...ような他のものが必要になる場合がありますman-pages

新しい情報に照らして更新:

何らかの理由で、あなた/usr/bin/manは単一のファイルではなくディレクトリであり、コンテンツから判断すると、誰かが奇妙な、mv /usr/share/man /usr/binまたは奇妙な何かをしたように見えます。

単にこれを元に戻すことはできません。調査し、破損または移動されたものを確認して修正する必要があります。

あなた単に/usr/bin/manその内容を削除して再インストールmanしてman-pages使用することができるかもしれませんyumが、さらなる調査なしではそれは明確になりません。


manを再インストールしようとしましたが、「unpacking of archive failed on file /usr/bin/man: cpio: rename」エラーが表示されます。確認していただけませんか?よろしくお願いします!
Nan Xiao

@削除/usr/bin/manして再インストールしてman修正してください。
Nan Xiao

2
@NanXiao:/usr/bin/manディレクトリの場合、他に何が失敗しているのか誰が知っていますか?この時点で、ファイルをバックアップし、OSを最初から再インストールすることをお勧めします。そして、3歳の子供がルートシェルを使って次回遊ばないようにしてください。;)
イルマリKaronen

0

RPMはcpioアーカイブ形式として使用します。そのcpioため、ファイルを置き換えようとするとエラーが発生します/usr/bin/man

する必要がremoveあり、purge man次にインストールする必要がありますman-pages

ターミナルを開き、次のコマンドを入力します。

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

元の質問はそれyum install manを示しており、すでにインストールされていると考えているyum install man-pagesため、何の違いもありませんでしたyum
EightBitTony 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.