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

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


我相信很多朋友也会经常遇到这个问题。

要解决这个问题就需要安装相应的软件包,很多时候命令名不一定就是软件包的名字,

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

yum install iptraf


但是如果命令名字和软件包名字不相同怎么办呢?

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

[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


这时我们就需要使用下面的方法了:

[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是不存在的,那为什么却可以找到所属的包呢?

其实就是用了rpm数据库来查找的。至于为什么要用/usr/bin这个路径,是因为这个命令是属于用户的命令,即/usr。这个也是猜测的,如果用这个路径查不到包,就换一个。

这里要是用/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

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


比较好的方法,赞一个!