gpt4 book ai didi

rpm - 我可以从 .spec 脚本部分中删除 RPM 吗?

转载 作者:行者123 更新时间:2023-12-02 05:32:08 25 4
gpt4 key购买 nike

我正在构建现有 .spec/rpm 的新版本,并且我想删除不再需要的依赖项(以前的 .spec 具有“需要:rpm-xyz”)。

因此,除了删除 Requires: rpm-xyz 之外,我还在 .spec 文件的“%post”部分添加了以下内容:

rpm -e rpm-xyz。

当我用 yum 安装生成的 rpm 时,下载它并要求我确认处理后,我得到这一行,它永远卡在那里:

警告:WAITING/var/lib/rpm/__db.000 上的事务锁定

所以对我来说这看起来像是一个死锁(yum 调用 rpm,然后从内部调用 rpm)。所以我在/var/lib/rpm 中有 __db.oox 文件,我需要重建 rom 数据库以删除它们。

所以问题是:我是否允许从规范文件中调用 rpm 命令?我已阅读过时标签,但它不会删除 rpm。删除 rpm 的最佳方法是什么?

谢谢

-马丁

附注额外信息:是的,我需要删除旧的依赖项,不,没有其他 rpm 依赖于它。

最佳答案

不,您不能从 .spec 文件(无论是 %post 还是其他内容)的 scriptlet 中运行 rpm。你能做的就是放一行像

Obsoletes: rpm-xyv <= VERSION

在您的 .spec 文件中。然后 Yum 将继续删除另一个包。

参见http://yum.baseurl.org/wiki/YumPackageUpdates有关如何处理包重命名等的更多建议。

关于rpm - 我可以从 .spec 脚本部分中删除 RPM 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com