由rpm -qi package
显示?
我真的不想parsingrpm -qi
的输出。 我更愿意使用rpm -q --qf
,其中我可以控制格式,不受未来版本的审美冲动。
但是我能在man page中find的唯一有用的标签是SIGPGP,它使我获得了整个签名,而不仅仅是短密钥ID。 看到不同:
$ rpm -qi coreutils Name : coreutils Relocations: (not relocatable) Version : 8.4 Vendor: Fedora Project Release : 8.fc13 Build Date: Tue 20 Jul 2010 05:21:15 AM BRT Install Date: Tue 03 Aug 2010 01:58:53 PM BRT Build Host: x86-17.phx2.fedoraproject.org Group : System Environment/Base Source RPM: coreutils-8.4-8.fc13.src.rpm Size : 12659257 License: GPLv3+ Signature : RSA/SHA256, Tue 20 Jul 2010 03:14:09 PM BRT, Key ID 7edc6ad6e8e40fde Packager : Fedora Project URL : http://www.gnu.org/software/coreutils/ Summary : A set of basic GNU tools commonly used in shell scripts Description : These are the GNU core utilities. This package is the combination of the old GNU fileutils, sh-utils, and textutils packages. $ rpm -q --qf '%{NAME}\t%{VERSION}\t%{RELEASE}\t%{ARCH}\t%{EPOCH}\t%{SIGPGP}\n' coreutils coreutils 8.4 8.fc13 i686 (none)
为了回答实际问题,不,没有办法直接查询keyid。 我遇到了同样的问题,并发现有人实际上创建了一个bug报告与红帽功能要求添加功能。
在错误报告中,响应者说使用下面的东西:
rpm -q --qf "%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:{(none}|}| %{NVRA}\n" emacs | cut -d' ' -f11
任何你不能削减SIGPGP相关部分的原因? 我强烈怀疑它在每个rpm头文件中都位于相同的偏移量处,但是您应该检查来自多个来源的RPM,以确保一致。