Que fait rpm -H?

Je suis tombé sur la command RPM de quelqu'un qui a écrit:

rpm -ivH .... 

et ensuite remarqué que l'option -H n'est pas documentée nulle part.

La command rpm -H ne fonctionne plus avec la version plus récente de rpm, mais elle s'exécute avec succès sous la version 4.8 de rpm, ne produit pas de sortie, puis se ferme.

Alors, quelle est la command rpm -H ?

Le système est un scientifique Linux 6.1:

 $ rpm --version RPM version 4.8.0 $ rpm -H $ echo $? 0 

1. Sommes-nous sûrs que ce n'est pas une faute de frappe?

Etes-vous sûr que cela fonctionnait sous 4.8? Je l'ai juste essayé en 4.3.2 .

 $ rpm --version RPM version 4.3.2 $ rpm -H -H: unknown option 

2. L'interrupteur est confirmé!

Cela semble être limité à la version 4.8 seulement.

 $ rpm -H $ $ cat /etc/redhat-release CentOS release 6.5 (Final) 

3. Preuve de son existence

J'ai trouvé ce fil sur rpm5.org, intitulé: Re: parsing de hdlists avec rpmgi? qui montre le commutateur -H en action.

 $ rpm -qH error: rpmpkgRead: Header: Header V3 DSA signature: UNKNOWN, key ID 26752624 [jbj@localhost tmp]$ sudo rpm --import 0x26752624 [jbj@localhost tmp]$ rpm -qH error: rpmpkgRead: Header: Header V3 DSA signature: UNKNOWN, key ID 26752624 

et ici:

 $ rpm -qH -vv --nosignature D: pool fd: created size 384 limit -1 flags 0 D: pool lua: created size 56 limit -1 flags 0 D: pool ts: created size 1192 limit -1 flags 0 D: pool gi: created size 160 limit -1 flags 0 D: pool dig: created size 400 limit -1 flags 0 D: pool ctx: created size 104 limit -1 flags 0 D: pool h: created size 352 limit -1 flags 0 lib64rpm1-4.8.1-1mnb2.x86_64 x11-driver-video-ati-6.13.99-0.20101119.1mdv2011.0.x86_64 

4. Fumer le pistolet … Git commit logs!

Cela semble être le pistolet fumant. Cela montre une discussion sur la suppression de cette fonctionnalité. C'est le journal de commit git .

 From: Panu Matilainen <[email protected]> Date: Fri, 19 Mar 2010 14:54:00 +0000 (+0200) Subject: Eliminate hysterical --hdlist query option and everything implementing it X-Git-Tag: rpm-4.9.0-beta1~839 X-Git-Url: http://rpm.org/gitweb?p=rpm.git;a=commitdiff_plain;h=367c0d7014b769a5c12f83b525dddb0a7c76beef ... Eliminate hysterical --hdlist query option and everything implementing it - This hidden gem used "system hdlist", ie "/usr/share/comps/%{_arch}/hdlist as the source for queries. Such "system hdlist" hasn't existed anywhere since RHL 9/FC 1 times... 

Dans ce même thread est cet extrait de code qui montre le commutateur en cours de suppression.

 - { "hdlist", 'H', POPT_ARGFLAG_DOC_HIDDEN, 0, POPT_HDLIST, - N_("query/verify package(s) from system HDLIST"), "HDLIST" }, - 

Donc, le commutateur est synonyme de --hdlist .

Les references

  • 5.3 Génération d'un nouveau file hdlist