我可以告诉下一步要安装哪些软件包吗?

时间:2014-01-28 20:56:07

标签: scripting rpm suse zypper

我有3个软件包,我们正在构建spec文件,以便安装我们的应用程序:

Package A
Package B
Package C

A depends on B
A depends on c

问题是这些软件包中的每个软件包都会在安装之前安装需要App Server关闭的东西,并在安装后重新启动。

如果仅安装B或C,则可以。

安装A时出现的问题以及B和/或C的新版本,最终我的App Server重启3次,每次重启需要10分钟。

当我们构建RPM时,有没有办法让A和B检测到它们是作为A的依赖项安装/更新的,而不是重新启动服务器并让A这样做?

1 个答案:

答案 0 :(得分:1)

我不知道是否有本地方法可以做到这一点,但我过去所做的就是让目标服务正在运行时%pre检查所有包(例如{{1} })。如果是,请将其关闭并使用httpd在将来的合理时间内重启(例如两分钟)。每个RPM还检查重新启动是否已经在队列中(我使用了像“n”或其他东西一样的随机队列),如果是,则将其再次撞击两分钟。最终结果应该是服务器在安装最终软件包两分钟后才出现一次。

缺点:即使atin the LSB,由于某种原因,少数计算机没有安装它,因此我必须将其添加到我的at标记。