查找命令所属rpm包

有时咱们在执行某个命令时,却提示:ios

[root@localhost ~]# iptraf
-bash: iptraf: command not found


我相信不少朋友也会常常遇到这个问题。数据库

要解决这个问题就须要安装相应的软件包,不少时候命令名不必定就是软件包的名字,bash

在这里的iptraf命令刚好是软件包的名字,这样就比较好解决了,直接安装软件包就ok了。以下:ide

yum install iptrafthis


可是若是命令名字和软件包名字不相同怎么办呢?ip

如iostat命令,其命令名就和软件包名字不同,直接安装的话会失败:it

[root@localhost ~]# yum install iostat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * rpmforge: mirrors.neusoft.edu.cn
Setting up Install Process
No package iostat available.
Error: Nothing to do


这时咱们就须要使用下面的方法了:io

[root@localhost ~]# yum -q install /usr/bin/iostat
==========================================================================================================================================
 Package                         Arch                           Version                                 Repository                   Size
==========================================================================================================================================
Installing:
 sysstat                         x86_64                         9.0.4-20.el6                            163                         225 k
Transaction Summary
==========================================================================================================================================
Install       1 Package(s)
Is this ok [y/N]:

这里的/usr/bin/iostat是不存在的,那为何却能够找到所属的包呢?ast

其实就是用了rpm数据库来查找的。至于为何要用/usr/bin这个路径,是由于这个命令是属于用户的命令,即/usr。这个也是猜想的,若是用这个路径查不到包,就换一个。class

这里要是用/bin的话是查不到的:

[root@localhost bin]# yum install /bin/iostat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * rpmforge: mirrors.neusoft.edu.cn
Setting up Install Process
No package /bin/iostat available.
Error: Nothing to do

主要问题是看命令的路径了,要是对的话,应该能够查到的。


比较好的方法,赞一个!

相关文章
相关标签/搜索