rpm -qip 查詢未安裝的包的信息 有問(wèn)題
rpm -qi ?包名 ? 查詢已安裝的包的信息;
我已經(jīng)安裝了httpd的四個(gè)包:
[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這個(gè)包已經(jīng)是安裝了的包,那么我用命令
rpm -qip?httpd-tools-2.2.15-15.el6.centos.1.i686?查詢光盤Packages目錄下的這個(gè)包的信息,為什么顯示沒(méi)有安裝此包?
[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.
-----------------------------分隔符---------------------------------------------
難道命令只能嚴(yán)格的通過(guò)包名與包全名來(lái)識(shí)別系統(tǒng)有沒(méi)有安裝軟件包?
2017-06-21
總結(jié)!?。。。。≡赑ackage目錄下,如果使用包全名,rpm -qi命令也會(huì)顯示未安裝,如果用包名,就會(huì)提示已安裝和rpm包信息。所以,在Package目錄下,使用rpm -qip 包全名可以查看原作者寫的軟件信息,即使包已經(jīng)安裝。
2017-06-21
不要鉆牛角尖,就當(dāng)rpm -qip是查詢Package中rpm包的原本的自帶信息,就是老師說(shuō)的包作者事先寫好的信息,install date當(dāng)然是是沒(méi)安裝。
2015-12-30
本人才疏學(xué)淺,嘗試回答你的問(wèn)題,你的rpm -qip命令確實(shí)查到了信息,我仔細(xì)看了下結(jié)果區(qū)別在于:Install Date: (not installed) ,顯示沒(méi)有安裝。
首先,我覺(jué)得很正常, 從rpm -qip說(shuō)起,rpm -qip命令可以用來(lái)查看網(wǎng)上的某個(gè)包的信息(比如:?rpm -qip http://kev.coolcavemen.com/static/repository/mandriva/2006.0/RPMS/amarok-1.4.1-4mdk.i586.rpm),它沒(méi)有必要把包下載下來(lái)再來(lái)比對(duì)一下?是否安裝,也不可能單純的直接比較名稱?,從設(shè)計(jì)的角度來(lái)說(shuō),rpm -qip只用于查看包的信息。
然后,一個(gè)包可能有很多個(gè)版本,名字大致相同卻不完全相同,這個(gè)很好理解,于是查看未安裝的包需要跟上全名,再加上可以訪問(wèn)網(wǎng)絡(luò)地址,這就更需要包全名。我依稀記得,linux上一個(gè)包只能安裝一個(gè)版本,就算安裝低版本的包,也會(huì)把高版本的卸載了,這點(diǎn)不完全能確定,我平時(shí)用apt-get的時(shí)候,我記得是這樣的。每次包的安裝都會(huì)留下安裝記錄,并記錄下如何卸載,依賴有哪些,安裝信息等。所以本地包才能查到安裝信息。
總結(jié),因?yàn)楸镜赜辛税惭b過(guò)的包的信息,所以,不用加版本就可以查詢到
也就是,未安裝的要全名,安裝過(guò)的可以用包名。