0

对于基于 rpm 的系统,我需要在安装新软件包时将软件包更改为另一个软件包。fg, package2.rpm 的安装将卸载 package1.rpm 并继续稍微安装。为此,我计划在安装 package2 时擦除 package1,并在 package2.rpm 的 %pre 部分调用 rpm -e。但我不能确定 rpm 是在它工作之后还是在安装进度开始之前锁定 rpm 数据库。可悲的是,由于现在这是一个概念问题,我没有任何 linux 系统可以快速尝试。是否可以在 %pre 部分使用 rpm -e ?或者有什么方法可以使用单个 rpm 包来执行此操作,因为我必须将包作为 rpm 包分发。

4

1 回答 1

0

处理这个问题的正确方法是包括

Obsoletes: package1

在您的 package2 规范中。通过 yum package1 安装时会自动卸载。

于 2010-08-24T03:36:21.103 回答