为什么“man”命令消失了?

为什么“man”命令消失了?

我发现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: -

答案1

我怀疑我们永远无法告诉您它去了哪里,但您应该能够使用 重新安装它yum

yum reinstall man

yum运行时不会检查文件是否存在yum install,它只是检查已安装的软件包的数据库。如果有人删除了包管理器之外的所有文件,它不会知道(您可以让它检查,但默认情况下不会)。 usingyum reinstall告诉它进行安装,即使它认为该包已经存在。

根据已删除或删除的内容,您可能需要yum reinstall ...其他内容,例如man-pages.

根据新信息更新:

由于某种原因,您的/usr/bin/man文件是一个目录,而不是单个文件,并且从内容来看,似乎有人做了一些奇怪的事情,例如mv /usr/share/man /usr/bin或奇怪的事情。

您无法简单地撤消此操作 - 您需要进行调查,查看哪些内容被破坏或移动,并进行更正。

可能只是能够删除/usr/bin/man及其内容,然后重新安装manman-pages使用yum,但如果不进行更多调查,就不会清楚。

答案2

RPM 使用cpio作为其归档格式。这就是为什么我们cpio在尝试替换文件时看到错误/usr/bin/man

您需要remove然后purge man需要安装man-pages

打开终端并键入以下命令:

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

相关内容