xinhao
2015-10-07 16:54
rpm -qi 包名 查询已安装的包的信息;
我已经安装了httpd的四个包:
[root@localhost Packages]# rpm -qa|grep httpd
httpd-tools-2.2.15-15.el6.centos.1.i686
httpd-manual-2.2.15-15.el6.centos.1.noarch
httpd-devel-2.2.15-15.el6.centos.1.i686
httpd-2.2.15-15.el6.centos.1.i686
-----------------------------------------------------------------------------------分隔符------------------
我使用rpm -qi httpd-tools 查询已安装的包 httpd-tools-2.2.15-15.el6.centos.1.i686的信息
[root@localhost Packages]# rpm -qi httpd-tools
Name : httpd-tools Relocations: (not relocatable)
Version : 2.2.15 Vendor: CentOS
Release : 15.el6.centos.1 Build Date: Tue 14 Feb 2012 06:27:17 AM CST
Install Date: Wed 07 Oct 2015 07:14:59 PM CST Build Host: c6b18n2.bsys.dev.centos.org
Group : System Environment/Daemons Source RPM: httpd-2.2.15-15.el6.centos.1.src.rpm
Size : 131477 License: ASL 2.0
Signature : RSA/SHA1, Tue 14 Feb 2012 07:11:00 PM CST, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://httpd.apache.org/
Summary : Tools for use with the Apache HTTP Server
Description :
The httpd-tools package contains tools which can be used with
the Apache HTTP Server.
提示是已安装的包。
----------------分隔符-----------------------------------------------------------------------------------------
既然httpd-tools-2.2.15-15.el6.centos.1.i686这个包已经是安装了的包,那么我用命令
rpm -qip httpd-tools-2.2.15-15.el6.centos.1.i686 查询光盘Packages目录下的这个包的信息,为什么显示没有安装此包?
[root@localhost Packages]# rpm -qip httpd-tools-2.2.15-15.el6.centos.1.i686.rpm
warning: httpd-tools-2.2.15-15.el6.centos.1.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Name : httpd-tools Relocations: (not relocatable)
Version : 2.2.15 Vendor: CentOS
Release : 15.el6.centos.1 Build Date: Tue 14 Feb 2012 06:27:17 AM CST
Install Date: (not installed) Build Host: c6b18n2.bsys.dev.centos.org
Group : System Environment/Daemons Source RPM: httpd-2.2.15-15.el6.centos.1.src.rpm
Size : 131477 License: ASL 2.0
Signature : RSA/SHA1, Tue 14 Feb 2012 07:11:00 PM CST, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://httpd.apache.org/
Summary : Tools for use with the Apache HTTP Server
Description :
The httpd-tools package contains tools which can be used with
the Apache HTTP Server.
-----------------------------分隔符---------------------------------------------
难道命令只能严格的通过包名与包全名来识别系统有没有安装软件包?
总结!!!!!!在Package目录下,如果使用包全名,rpm -qi命令也会显示未安装,如果用包名,就会提示已安装和rpm包信息。所以,在Package目录下,使用rpm -qip 包全名可以查看原作者写的软件信息,即使包已经安装。
不要钻牛角尖,就当rpm -qip是查询Package中rpm包的原本的自带信息,就是老师说的包作者事先写好的信息,install date当然是是没安装。
本人才疏学浅,尝试回答你的问题,你的rpm -qip命令确实查到了信息,我仔细看了下结果区别在于:Install Date: (not installed) ,显示没有安装。
首先,我觉得很正常, 从rpm -qip说起,rpm -qip命令可以用来查看网上的某个包的信息(比如: rpm -qip http://kev.coolcavemen.com/static/repository/mandriva/2006.0/RPMS/amarok-1.4.1-4mdk.i586.rpm),它没有必要把包下载下来再来比对一下 是否安装,也不可能单纯的直接比较名称 ,从设计的角度来说,rpm -qip只用于查看包的信息。
然后,一个包可能有很多个版本,名字大致相同却不完全相同,这个很好理解,于是查看未安装的包需要跟上全名,再加上可以访问网络地址,这就更需要包全名。我依稀记得,linux上一个包只能安装一个版本,就算安装低版本的包,也会把高版本的卸载了,这点不完全能确定,我平时用apt-get的时候,我记得是这样的。每次包的安装都会留下安装记录,并记录下如何卸载,依赖有哪些,安装信息等。所以本地包才能查到安装信息。
总结,因为本地有了安装过的包的信息,所以,不用加版本就可以查询到
也就是,未安装的要全名,安装过的可以用包名。
Linux软件安装管理
80161 学习 · 275 问题
相似问题
回答 2
回答 1