linux下各种软件包很多,有些时候我们在使用一些命令的时候,根本不知道这个命令是哪个软件包所带的,如果这个软件包没有安装我们如何查找,今天我碰到了,找到了一个很笨的办法,暂时记下,如果有人有更好的办法,请帮忙指点一下。

   linux中centos下查看软件包的命令,我比较常用的是rpm -qa,rpm -ql和rpm -qf

   rpm -qa xxxx  ------->查询是否安装了软件包

   rpm -ql xxxx  ------->列出rpm软件包的信息

   rpm -qf xxxx  ------->查找指定文件属于哪个rpm软件包


   下面是我今天所做的一个实例,查找nslook属于哪个软件包,由于我的机器是最小安装的,基本什么都没有,但是今天需要使用nslookup这条命令,结果却提示找不到这条命令,

[root@server~]# nslook www.baidu.com
-bash: nslook: command not found

   那么这个命令属于哪个软件包呢?百度了半天没有找到,只能去另外一台安装过的机器上找一下了

[root@localhost ~]# rpm -qa nslookup
[root@localhost ~]#

好吧,看到上边我应该知道,这个命令的软件包的名字应该不是nslookup。


[root@localhost ~]# which nslookup
/usr/bin/nslookup

   看得出来,我们这台机器确实安装了这个软件包。还有什么命令能找一下呢,rpm -qf,呵呵~

[root@localhost ~]# rpm -qf /usr/bin/nslookup
bind-utils-9.8.2-0.10.rc1.el6.x86_64

  好吧,原来是叫这个名字啊,那么接下来就好办了,到新的机器上yum安装一下吧

[root@server~]# yum install bind-utils* -y
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.5 will be installed
--> Processing Dependency: bind-libs = 32:9.8.2-0.17.rc1.el6_4.5 for package: 32:bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64
--> Processing Dependency: liblwres.so.80()(64bit) for package: 32:bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64
--> Processing Dependency: libisccfg.so.82()(64bit) for package: 32:bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64
--> Processing Dependency: libisccc.so.80()(64bit) for package: 32:bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64
--> Processing Dependency: libisc.so.83()(64bit) for package: 32:bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64
--> Processing Dependency: libdns.so.81()(64bit) for package: 32:bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64
--> Processing Dependency: libbind9.so.80()(64bit) for package: 32:bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64
--> Running transaction check
---> Package bind-libs.x86_64 32:9.8.2-0.17.rc1.el6_4.5 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================================================Package                      Arch                     Version                                      Repository                 Size
====================================================================================================================================
Installing:bind-utils                   x86_64                   32:9.8.2-0.17.rc1.el6_4.5                    updates                   182 k
Installing for dependencies:bind-libs                    x86_64                   32:9.8.2-0.17.rc1.el6_4.5                    updates                   878 k
Transaction Summary
====================================================================================================================================
Install       2 Package(s)
Total download size: 1.0 M
Installed size: 2.6 M
Downloading Packages:
(1/2): bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64.rpm                                                           | 878 kB     00:01  
(2/2): bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64.rpm                                                          | 182 kB     00:00  
------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                               183 kB/s | 1.0 MB     00:05  
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running TransactionInstalling : 32:bind-libs-9.8.2-0.17.rc1.el6_4.5.x86_64                                                                       1/2Installing : 32:bind-utils-9.8.2-0.17.rc1.el6_4.5.x86_64                                                                      2/2
Installed:bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.5                                                                                    
Dependency Installed:bind-libs.x86_64 32:9.8.2-0.17.rc1.el6_4.5                                                                                     
Complete!

  现在再试试,没问题~~

[root@server~]# nslookup
>

    不知道还有没有别的更简单的办法,如果有人知道,麻烦指导一下,我现在在想如果没有另外一台机器,怎么去查找呢,我知道命令,但是却不知道软件包的名称。