不安装rpm如何查看版本号

9

我需要获取像“foo-[RELEASE].rpm”这样的rpm文件的版本号。

我尝试了以下命令:

rpm -q --queryformat '%{VERSION}' foo-[RELEASE].rpm 
package foo-[RELEASE].rpm is not installed

rpm -qp --queryformat "[%{VERSION}\n]" foo-[RELEASE].rpm

我需要将[RELEASE]占位符替换为版本号。

2个回答

19

sbt.rpm为例,以下是提取信息的方法。请注意,软件包文件名本身不显示版本和发布信息。

获取完整的软件包名称:

$ rpm -qp sbt.rpm
sbt-0.12.2-1.noarch

分别获取NAME、VERSION、RELEASE和ARCHITECTURE:

$ rpm -qp --queryformat '%{NAME}' sbt.rpm
sbt

$ rpm -qp --queryformat '%{VERSION}' sbt.rpm
0.12.2

$ rpm -qp --queryformat '%{RELEASE}' sbt.rpm
1

$ rpm -qp --queryformat '%{ARCH}' sbt.rpm
noarch

获取 NAME、VERSION、RELEASE 和 ARCHITECTURE 的组合:

$ rpm -qp --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH}' sbt.rpm
sbt-0.12.2-1-noarch

只获取名称和版本:

$ rpm -qp --queryformat '%{NAME}-%{VERSION}' sbt.rpm
sbt-0.12.2

谢谢您的回复,tuxdna,但它没有起作用。没有得到任何输出。 - nakeer
我正在使用Fedora release 20上的RPM版本4.11.1。也许这可能会有所不同。另外,您能否在问题中更新您尝试过的命令? - tuxdna
我尝试了你建议的所有命令,但没有得到任何输出。我使用的是RPM版本4.8.0和CentOS 6.4。 - nakeer
谢谢tuxdna,问题不在命令上,而是在rpm文件上。我尝试了一个不同的rpm文件,命令可以正常工作。 - nakeer

3
 rpm -qip foo.rpm

显示版本号:

Version     : 1.3.4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接