我已经回顾了几个相关的问题——最接近的是:从 RPM 中提取规范文件——我必须补充一点,我会以同样的方式表达我的问题。但是,似乎 .spec 文件不在 .rpm 文件中(当它是二进制包时)。
所以,我的问题是:如何获取源自规范文件的信息 - 至少尽可能多。
rpm2cpio xxx.rpm | cpio -itv
是一个理想情况下,答案是一个命令 - 但如果它必须是多个命令,那就是 c'est la vie。
ps 我已经检查过rpmbuild --rebuild
(说它需要源 RPM)并且找不到rpmlint
谢谢你。
是的,rpm SPEC 不是打包 RPM 的一部分。但是,您可以查询 RPM 包以获取 SPEC 文件中存在的信息。
例如:
1)以下命令将为您提供在安装或更新 RPM 包时执行的前/后脚本。
rpm -q --scripts (installed RPM name, this name will be without the .rpm extension)
rpm -qp --scripts (if you have a rpm file)
Run Code Online (Sandbox Code Playgroud)
2)
您可以使用--queryformat
rpm 命令选项查看 SPEC 文件中存在的特定信息。
rpm -q --queryformat '%{ARCH} %{NAME}\n' (RPM name, if it installed)
rpm -qp --queryformat '%{ARCH} %{NAME}\n' (if you have an RPM file)
Run Code Online (Sandbox Code Playgroud)
上面将给出 RPM 设计的架构和 RPM 的实际名称。这些信息位于 SPEC 文件的特定部分,例如 Name、Arch、Requires(pre)、Requires(post)、BuildRequires 等。有关有效的查询选项,请查看此链接
归档时间: |
|
查看次数: |
2340 次 |
最近记录: |