RPM管理挑战

时间:2016-04-11 20:23:57

标签: redhat rpm yum rpm-spec

我们在首次部署软件时打包了一个RPM,我们对RPM很新,所以我们只定义了所有需要安装的文件,并且它是rpm安装的一部分。

快进6个月后,我们需要更新此RPM。以下是我们面临的挑战:

  1. rpm update会在安装新的RPM之前卸载之前RPM的所有文件。其中一些文件是配置文件,我们宁愿在卸载之前先备份它们

  2. 我们没有在第一个RPM中定义%preun和%postun

  3. 在谷歌搜索后,我们唯一的想法就是编写一个需要第一个RPM版本的虚拟RPM。虚拟RPM将简单地备份文件。我们将卸载第一个RPM并安装新的RPM,定义%preun和%postun。

    我很好奇是否有更好的方法来做到这一点?我们的应用环境肯定会发展,我想听听其他专业人士的意见。

1 个答案:

答案 0 :(得分:1)

如果您唯一关心的是丢失配置文件,则只需为配置文件添加%config(noreplace)标记即可。这将产生以下影响(仅适用于那些配置文件):

  • 磁盘文件未触及 - >来自更新的文件
  • 已编辑的磁盘文件 - >如果rpm提供新版本,则保留此文件;这个保存为 file.rpmnew

如果您想更多地使用scriptlet(使用%pre; %preun等),请查看this documenation.

如果认为不需要%preun和%postun部分......