查找命令所屬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

主要問題是看命令的路徑了,要是對的話,應該能夠查到的。


比較好的方法,贊一個!

相關文章
相關標籤/搜索