天天看點

linux查找某個指令屬于哪個rpm包

背景: linux下的指令有很多,但是新安裝系統,尤其是最小化安裝之後,有些指令我們發現根本就沒有, 而且我們也不知道該指令屬于那個rpm包。 如何查找某個指令屬于那個rpm包呢? 這樣友善我們安裝。

我們拿pip指令來舉例

方法一:

确認指令的路徑

# which pip     

/usr/bin/pip

用yum指令查找pip屬于哪個rpm包

# yum whatprovides /usr/bin/pip

Loaded plugins: fastestmirror, refresh-packagekit, security    

Loading mirror speeds from cached hostfile    

* base: mirrors.sina.cn    

* epel: mirrors.ustc.edu.cn    

* extras: mirrors.zju.edu.cn    

* updates: mirrors.zju.edu.cn    

python-pip-7.1.0-1.el6.noarch : A tool for installing and managing Python packages    

Repo        : epel    

Matched from:    

Filename    : /usr/bin/pip

python-pip-7.1.0-1.el6.noarch : A tool for installing and managing Python packages   

Repo        : installed    

Matched from:

根據上述資訊,可知pip來自python-pip-7.1.0-1.el6.noarch這個包.

另外yum provides/whatprovides接受通配符選項:

假如不知道指令的路徑,也可以用通配來解決

yum whatprovides *pip

關于yum的其它用法可以man yum檢視

方法二:

# whereis pip

pip: /usr/bin/pip2.6 /usr/bin/pip

查找指令屬于那個安裝包

# rpm -qf /usr/bin/pip   

python-pip-7.1.0-1.el6.noarch

列出這個rpm包中的所有檔案

# rpm -ql python-pip-7.1.0-1.el6.noarch

查詢是否安裝某個rpm包.

rpm –qa python-pip

本文轉自pizibaidu 51CTO部落格,原文連結:http://blog.51cto.com/pizibaidu/1836849,如需轉載請自行聯系原作者