web-dev-qa-db-fra.com

Affichage d'informations sur les packages RPM non installés?

J'ai cherché sur Google, mais je n'ai pas trouvé comment interroger un fichier RPM non installé pour obtenir ses informations:

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

Existe-t-il une commande permettant de lire des informations à partir d'un fichier RPM non installé?

60
Gulbahar

rpm -qip foo.rpm

99
crazyscot

@crazyscot a répondu à la question. Merci.

De plus, j'ai découvert que des balises de requête spécifiques peuvent également être utilisées de cette façon, ce qui n'était pas évident à la lecture de la page de manuel . Ainsi, par exemple, j'ai constaté que je pouvais effectuer les opérations suivantes:

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

ou même:

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

Cela fonctionne bien pour les RPM qui ne sont pas installés, et pour tirer parti des balises de requête disponibles dans les rpm installés.

Voici plus d'informations sur les tags

13
Joseph Wulf

Quand rpm est not-installed, alors (cela affichera les informations complètes, plus la liste du contenu du paquet);

rpm -qipl <rpm_name.rpm> 

Quand rpm est installed alors;

rpm -qi <rpm_name.rpm>

Pour plus d'informations sur rpm-queries . Pour plus d'informations sur handy-queries .

6
parasrish

Utilisez rpm -qip:

rpm -qip package_path1 [package_path2 ...]
  • -q - interroge le paquet
  • -p - récupère le nom du paquet à partir des arguments

Il montre les informations suivantes:

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

La page de manuel ne parle pas de l'option -i dans le contexte -q. Cependant, rpm -qp file ne produit pas le bon résultat.

1
codeforester

Related - Infos sur le paquet installé:

rpm -qi InstalledPackageName
0
intika

il y a beaucoup d'option -i utilisée dans les réponses ci-dessus, meilleure façon de vérifier:

Pour un tour, 

rpm -qlp <rpm-name>.rpm

Pour tous les modèles, recherchez votre fichier avec grep:

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

0
shashankS
less <rpm_name.rpm>

Affiche tout ce dont j'ai besoin, comme "rpm -qlpv". 
Très bonne ressource: https://blog.packagecloud.io/eng/2015/10/13/inspect-extract-contents-rpm-packages/ .

0
Alexander