Informationen zu nicht installierten RPM-Paketen anzeigen?

76

Ich habe danach gegoogelt, konnte aber nicht herausfinden, wie eine nicht installierte RPM-Datei nach ihren Informationen abgefragt werden kann:

# 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]
[...]

Gibt es einen Befehl zum Lesen von Informationen aus einer nicht installierten RPM-Datei?

Gulbahar
quelle

Antworten:

124

rpm -qip foo.rpm

verrückt
quelle
4
Ich kann mich auch nie erinnern, also habe ich einen Spickzettel gemacht pixelbeat.org/docs/packaging.html
pixelbeat
13
Sie können auch andere Informationen über das Paket mit folgenden Informationen versehen: Zum Beispiel, rpm -qp --scripts foo.rpmum die RPM-Pre- / Post-Skripte aufzulisten oder rpm -qp --list foo.rpmum den Paketinhalt aufzulisten . Endlich: der Vollständigkeit halber. -q ist eine Abfrage und -p ist für ein nicht installiertes Paket.
Jeff Sheffield
16

@crazyscot hat die Frage beantwortet. Vielen Dank.

Außerdem habe ich festgestellt, dass bestimmte Abfragetags auch auf diese Weise genutzt werden können, was beim Lesen der Manpage nicht offensichtlich war. So habe ich beispielsweise festgestellt, dass ich Folgendes tun kann:

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

oder auch:

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

Dies funktioniert gut für RPMs, die nicht installiert sind, und nutzt die verfügbaren Abfragetags in der installierten Drehzahl

Hier finden Sie weitere Informationen zu Tags

Joseph Wulf
quelle
1
Es ist auch möglich, die verfügbaren Tags mitrpm --querytags
Wilf
9

Wenn rpm dann nicht installiert ist (hier werden die vollständigen Informationen sowie das Inhaltsverzeichnis im Paket aufgelistet).

rpm -qipl <rpm_name.rpm> 

Wenn dann U / min installiert ist;

rpm -qi <rpm_name.rpm>

Weitere Informationen zu RPM-Abfragen . Weitere Informationen zu praktischen Fragen .

Parasrish
quelle
4

Verwendung rpm -qip:

rpm -qip package_path1 [package_path2 ...]
  • -q - das Paket abfragen
  • -p - Den Paketnamen aus Argumenten abrufen

Es zeigt die folgenden Informationen:

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

Die Manpage spricht nicht über die -iOption im -qKontext. Erzeugt rpm -qp filejedoch nicht die richtige Ausgabe.

Codeforester
quelle
0

Verwandte - Infos für installiertes Paket anzeigen:

rpm -qi InstalledPackageName
Intika
quelle
0

In den obigen Antworten werden viele -i-Optionen verwendet. Der beste Weg, dies zu überprüfen:

Für eine U / min,

rpm -qlp <rpm-name>.rpm

Suchen Sie für alle RPMs mit grep nach Ihrer Datei:

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

shashankS
quelle