Rpm
如何提取 rpm 規範文件提供的說明
我已經回顧了幾個相關的問題——最接近的是:從 RPM 中提取規範文件——我必須補充一點,我會以同樣的方式表達我的問題。但是,.spec 文件似乎不在 .rpm 文件中(當它是二進制包時)。
所以,我的問題是:如何獲取源自規範文件的資訊 - 至少盡可能多。
- 我知道有一個命令可以列出 .rpm 的內容(實際上至少有兩個 -
rpm2cpio xxx.rpm | cpio -itv
一個- 獲取所需內容的其他命令
- 特別是:獲取作為安裝過程的一部分執行的 pre/post/etc 腳本的 WHAT 命令。
理想情況下,答案是一個命令 - 但如果它必須是多個命令,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)
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)
上面將給出 RPM 設計的體系結構和 RPM 的實際名稱。這些資訊位於 SPEC 文件的特定部分,如 Name、Arch、Requires(pre)、Requires(post)、BuildRequires 等。有關有效查詢選項,請查看此連結