RPM 需要安装顺序

RPM 需要安装顺序

我正在寻求 RPM 专家的帮助。

假设我有一个 RPM 包A,它依赖于包B。RPMA的规范已Requires:B启用autoprovautoreq启用。

当我A在 centos 6.5 机器上使用以下方式安装RPM 时RPM version 4.8.0yum install A

  • rpmA首先安装,然后安装B
  • 安装B可能会部分失败。也就是说,A即使依赖项的安装B失败,也会安装。

这是预期的行为吗?(B之前不应该安装吗A?)

不同版本(例如 el5)是否会有相同的行为?

我希望依赖项能够被安装主软件包已安装。如果某个依赖项安装失败,则将阻止主软件包的安装。

还有其他方法可以实现我的要求吗?

谢谢。

答案1

Requires假设您在运行时需要此依赖项。例如,如果您输入Requiresfirefox.spec则当用户运行时,您将安装此依赖项/usr/bin/firefox

如果您需要在 rpm 脚本执行期间使用它,那么您需要说明在哪个阶段需要它。例如:

Requires(pre): perl

如果你在多个部分都需要它,则需要多次列出它。例如:

Requires(pre): perl
Requires(preun): perl

有关详细信息,请参阅http://rpm.org/api/4.4.2.2/tsort.html

相关内容