RPM 规范:如何在安装之前删除 RPM

RPM 规范:如何在安装之前删除 RPM

我有一个名为的 RPM,dcca-img.rpm 在上述 RPM 的 spec 文件中,PreReqs我们有mysql-clientmysql,因此在安装 dcca-img.rpm 之前,两者都按预期安装。

PreReq: perl, mysql-client >= 5.5.43, libmysqlclient15 >= 5.0.96, libmysqlclient_r15 >= 5.0.96, mysql >= 5.5.43

问题是由于这个要求:如果机器中安装了 n 个现有的较低版本的 mysql,则在安装新版本之前应将其删除。

现在,在%pre部分中我可以放入rpm -e 'rpm -qa | grep mysql'但是这并不能解决问题,因为到那时更高的版本已经安装了,这%pre意味着在 RPM dcca-img.rpm 被安装之前而不是在依赖项dcca-img.rpm被安装之前。

我如何确保仅在安装 dcca-img.rpm 之后才安装 mysql-5.5.43(导致%post调用以删除以前的版本)?

相关内容