是否显示有关未安装的RPM软件包的信息?


77

我为此搜索了一下,但是找不到如何查询未安装的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文件中读取信息?

Answers:



16

@crazyscot确实回答了这个问题。谢谢。

此外,我发现还可以通过这种方式利用特定的查询标签,这在阅读手册页时并不明显。因此,例如,我发现我可以执行以下操作:

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

甚至:

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

这对于未安装的RPM效果很好,并且可以利用已安装的rpm中的可用查询标记

这是有关标签的更多信息


1
也可能与列出可用的标签rpm --querytags
维尔夫

9

未安装rpm时(这将列出完整的信息以及软件包中的内容列表);

rpm -qipl <rpm_name.rpm> 

安装了rpm时;

rpm -qi <rpm_name.rpm>

有关rpm查询的更多信息。有关方便查询的更多信息。


4

用途rpm -qip

rpm -qip package_path1 [package_path2 ...]
  • -q -查询包裹
  • -p -从参数获取包名称

它显示以下信息:

Name
Version
Release
Architecture
Install Date
Group
Size
License
Signature
Source RPM
Build Date
Build Host
Relocations
Packager
Vendor
URL
Summary
Description

手册页没有讨论上下文中的-i选项-q。但是,rpm -qp file不会产生正确的输出。



0

相关-已安装软件包的显示信息:

rpm -qi InstalledPackageName

0

上面的答案中有很多-i选项,最好的检查方法是:

一转

rpm -qlp <rpm-name>.rpm

对于所有rpm,请使用grep搜索文件:

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.