在 CentOS 下排除或更改 rpm 包中用作依赖项的包

在 CentOS 下排除或更改 rpm 包中用作依赖项的包

我有一个依赖于许多其他包的 RPM 包,因此安装它将安装我需要的一切 - 这是一种很正常的方法。但其中一个包依赖于来自第三方仓库的自定义 nginx 构建(通用 nginx + 一些额外模块),该构建不再受支持。糟糕的是,维护者用一些“自定义”名称命名该自定义 nginx 包,而不仅仅是“nginx”,而是“my-nginx”)。

由于我没有使用任何 nginx 模块,因此我最好使用 nginx.org 的 nginx 包,但当然我无法安装“nginx”,因为它与“my-nginx”冲突。我只能通过“强制”安装来做到这一点。

有没有什么办法可以让我将 nginx 设为“my-nginx”,这样依赖性就不会被破坏,并且系统可以更新而不会抱怨软件包损坏?

谢谢你!

答案1

实际上,使用 很容易rpmrebuild

yum install epel-release
yum install rpmrebuild

然后:

rpmrebuild --edit-spec --package /path/to/your/bad.rpm

然后编辑自动生成的 spec 文件,根据需要重命名包/依赖项。保存后,您将获得.rpm基于编辑的新文件。

相关内容