2010-06-09 61 views
51

我GOOGLE了這一點,但無法找到如何查詢其信息的非安裝RPM文件:在未安裝的RPM軟件包上顯示信息?

# rpm -qa blackfin-jtag-tools-09r1.1-2.i386.rpm 
# 
# rpm -qi blackfin-jtag-tools-09r1.1-2.i386.rpm 
package blackfin-jtag-tools-09r1.1-2.i386.rpm is not installed 
# 
# rpm -q blackfin-jtag-tools-09r1.1-2.i386.rpm 
package blackfin-jtag-tools-09r1.1-2.i386.rpm is not installed 
# 
# rpm --info blackfin-jtag-tools-09r1.1-2.i386.rpm 
RPM version 4.8.0 
Copyright (C) 1998-2002 - Red Hat, Inc. 
This program may be freely redistributed under the terms of the GNU GPL 

Usage: rpm [-aKfgpWHqVcdilsKiv?] [-a|--all] [-f|--file] [-g|--group] [-p|--package] [-W|--ftswalk] [--pkgid] [--hdrid] [--fileid] 
     [--specfile] [--triggeredby] [--whatrequires] [--whatprovides] [--nomanifest] [-c|--configfiles] [-d|--docfiles] 
     [--dump] [-l|--list] [--queryformat=QUERYFORMAT] [-s|--state] [--nofiledigest] [--nomd5] [--nofiles] [--nodeps] 
[...] 

是否有一個命令來讀取信息了未安裝RPM文件?

回答

81

rpm -qip foo.rpm

+2

我永遠記得要麼,所以我做了小抄 HTTP://www.pixelb eat.org/docs/packaging.html – pixelbeat 2010-06-09 12:55:05

+9

你也可以通過以下方式瞭解關於軟件包的其他信息:例如'rpm -qp -scripts foo.rpm'來列出rpms前/後腳本或'rpm -qp --list foo.rpm'列出軟件包的內容。最後:爲了完整性。 -q是查詢,-p是非安裝包。 – 2014-02-12 07:11:45

13

@crazyscot確實回答了這個問題。謝謝。

此外,我發現特定的查詢標籤也可以用這種方式,這從閱讀手冊頁不明顯。 因此,舉例來說,我發現我能做到以下幾點:

rpm -qp --queryformat '%{ARCH}\n' foo.rpm 

,或者甚至是:

xyz="ARCH"; rpm -qp --qf %{${xyz}} foo.rpm; echo "" 

這很好地工作了RPM的未安裝,並利用現有的查詢標籤的安裝轉

這裏是more information about tags

+1

也可以用'rpm --querytags'列出可用標籤 – Wilf 2016-05-07 07:55:18

0

相關 - 顯示的相關信息在INS talled套餐:

rpm -qi InstalledPackageName 
5

當轉速爲未安裝然後(這將列出完整的信息,再加上內容包清單);

rpm -qipl <rpm_name.rpm> 

當轉數安裝然後;

rpm -qi <rpm_name.rpm> 

欲瞭解更多關於rpm-queries。 欲瞭解更多關於handy-queries

0

有很多上述的答案使用-i選項,最好的方法來檢查:

對於一個RPM包,

rpm -qlp <rpm-name>.rpm

對於所有進去,搜索文件使用grep:

rpm -qpl *.rpm|grep <string or file name>