Installation RPM修补程序/补丁方法

Installation RPM修补程序/补丁方法,installation,centos,rpm,hotfix,Installation,Centos,Rpm,Hotfix,我们在Centos 5.5上运行一个系统,并使用包含所有软件的一个RPM安装我们的软件。当我们需要应用热修复程序或补丁程序时,当前的系统只是简单地粘贴tar并将其解压 我正在尝试开发一个可跟踪、可重复的系统,用于应用修补程序和补丁,但我有点不确定RPM在这个过程中扮演什么角色 据我所知,如果我们升级版本号并重新安装,即使只更改了一个文件,RPM也会毁掉整个过程。这要求我们绝对确信没有人在系统上安装了另一个我们不知道的修补程序,因为它将被替换 是否可以制作一个只包含新文件的RPM,并将其应用于现有

我们在Centos 5.5上运行一个系统,并使用包含所有软件的一个RPM安装我们的软件。当我们需要应用热修复程序或补丁程序时,当前的系统只是简单地粘贴tar并将其解压

我正在尝试开发一个可跟踪、可重复的系统,用于应用修补程序和补丁,但我有点不确定RPM在这个过程中扮演什么角色

据我所知,如果我们升级版本号并重新安装,即使只更改了一个文件,RPM也会毁掉整个过程。这要求我们绝对确信没有人在系统上安装了另一个我们不知道的修补程序,因为它将被替换

是否可以制作一个只包含新文件的RPM,并将其应用于现有RPM之上?这将如何影响系统的后续升级?

您可以使用(但我不推荐使用,请参见下文)。 有了旧rpm和新rpm(在构建机器上),您可以使用deltarpm工具生成增量。 使用安装软件的盒子上的deltarpm工具,您可以自动将旧rpm升级到新rpm(并在需要时降级)

我不喜欢它,因为如果旧rpm提供的任何(非配置)文件将被更改,您将无法安装修复程序。此外,deltarpm不是生产准备工具。你已经被警告了


作为deltarpm的替代方案,我建议将您的软件拆分为几个较小的RPM,并将新RPM的子集作为修补程序提供。这是最常见的方法。

RPM的要点是要有可重复、可验证的安装。您应该生成一个新的RPM,其中包含更新(通过补丁或新的上游源)


拆分您的单片软件包将允许您单独升级部件。

问题在于更改rpm在本地安装的文件并忘记它们

如果您将其用作热修复程序,那么在热修复程序之后,您应该立即构建新的rpm,然后部署新的rpm

如果人们被允许在一台机器上安装一个接一个的热修复程序,而不将其提交到正常的过程中,那么你就是在招来灾难

你可以做的一件事是使用

rpm -q --verify (your rpm name)

这将打印自安装rpm以来已更改的文件列表。这样,你至少知道哪些文件被修补过,应该考虑进去。

我不再在该公司工作,也不再使用相关的操作系统,但嘿,这听起来不错。谢谢