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é?
rpm -qip foo.rpm
@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.
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 .
Utilisez rpm -qip
:
rpm -qip package_path1 [package_path2 ...]
-q
- interroge le paquet-p
- récupère le nom du paquet à partir des argumentsIl 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.
Related - Infos sur le paquet installé:
rpm -qi InstalledPackageName
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>
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/ .