回答
源RPM包含Linux应用实际的源代码和补丁文件。所有的源RPM文件具有扩展名的src.rpm
如果您在基于Intel的计算机上使用RPM,你通常希望找到I386那里。如果您使用x86_64位计算机,您将在RPM文件名中看到x86_64。正常的rpm文件只有二进制文件,根本没有源代码。
以下链接帮助我关于源代码对二进制RPM
编辑:
- 检查的RPM签名包
转--checksig文件
- 显示包装信息
转-qi文件
我认为这是在工具用于这一目的没有内置。使用RPM相关的命令,或者你可以创建一个shell脚本作为一个工具来检查任何时间(它可以节省你的时间)。
我不相信有任何明确方式做你想做的,虽然你可能能够应用一些启发式来做出合理的猜测。
使用
rpm -qi -p
rpmfilename并看看是否有一个 “源RPM:” 值。使用来自
rpmdevtools
包的rpmls
。仅基于检查输出,SRPMS似乎包含.tar.gz或.tar.bz2和.spec文件。
我认为这将让你关闭一个答案,但它不能明确。这是否足够取决于在您的情况下完全正确的重要程度。
rpm -qlp rpmfilename | grep -c /usr/src/redhat
将给予它多少源文件包括(通常是源存档,一个规范文件,补丁极少数)的计数。如果您以编程方式执行此操作,则grep -q
将返回匹配或不匹配。
代码RPM通过在报头中的SOURCERPM标签的存在来定义。如果一个rpm有一个SOURCERPM标签,这意味着rpm是一个二进制rpm(SOURCERPM标签说明了用什么srpm构建二进制rpm)。如果没有SOURCERPM标签,那么rpm就是srpm。
我不确定这是否是srpm的“官方”定义,但它是rpmbuild
和其他实用程序当前用于确定给定rpm是否为参考rpm中srpm或不是的逻辑实施(见headerIsSource() in lib/headerutil.c)。所以它看起来很合理。
这里是检查是否使用rpm
命令行实用程序中的转速存在SOURCERPM标签的方式:,
$ rpm --query --package foo-1.2.3-1.src.rpm \
--queryformat "%|SOURCERPM?{binary-rpm}:{source-rpm}|\n"
source-rpm
$ rpm --query --package foo-1.2.3-1.el7.x86_64.rpm \
--queryformat "%|SOURCERPM?{binary-rpm}:{source-rpm}|\n"
binary-rpm
- 1. rpmbuilder创建只有源rpm不是二进制rpm
- 2. 如何使用rpmbuild为主机上的源RPM构建目标二进制RPM
- 3. 从rpm安装RPM
- 4. YUM/RPM - 如何指定不使用RPM
- 5. RPM升级卸载RPM
- 6. 如何检测rpm后脚本失败
- 7. RPM包中最新版RPM包的识别过程是什么?
- 8. 是否可以将RPM嵌入到另一个RPM中?
- 9. maven-rpm-plugin和rpm-maven-plugin之间的区别是什么
- 10. 什么是eCpm Fill rate rpm
- 11. noarch rpm和rpm之间的区别
- 12. 兼容RPM RPM构建环境
- 13. 使用rpm查看RPM脚本--scripts -qp
- 14. RPM安装成功,但rpm -q失败
- 15. rpm-maven-plugin截断rpm版本
- 16. RPM生成错误:/var/tmp/rpm-tmp.OJ8A3jinválido(%build)
- 17. rpm -F和rpm -U有什么区别?
- 18. 来自python源的rpm包
- 19. 检查RPM相关性
- 20. 如何使用Redline RPM Java库创建RPM包?
- 21. 如何将RPM声明为另一个RPM的子集?
- 22. 如何在安装rpm包后找到rpm前缀
- 23. 如何将RPM版本4.4。*升级到RPM版本4.8。?
- 24. 如何让一个RPM安装另一个RPM
- 25. 创建RPM包
- 26. 从rpm安装
- 27. centOR的solr rpm
- 28. RPM错误13
- 29. 创建Python RPM
- 30. 提取rpm包
我一直在寻找一种方式来提取RPM文件信息,比如'转'工具或类似的东西。 – sorin
@sorin我已经编辑了我的答案作为您的评论。我认为没有内置的工具来达到这个目的。使用RPM相关的命令,或者你可以创建一个shell脚本作为一个工具来检查任何时间(它可以节省你的时间)。 –