我们在首次部署软件时打包了一个RPM,我们对RPM很新,所以我们只定义了所有需要安装的文件,并且它是rpm安装的一部分。
快进6个月后,我们需要更新此RPM。以下是我们面临的挑战:
rpm update会在安装新的RPM之前卸载之前RPM的所有文件。其中一些文件是配置文件,我们宁愿在卸载之前先备份它们
我们没有在第一个RPM中定义%preun和%postun
在谷歌搜索后,我们唯一的想法就是编写一个需要第一个RPM版本的虚拟RPM。虚拟RPM将简单地备份文件。我们将卸载第一个RPM并安装新的RPM,定义%preun和%postun。
我很好奇是否有更好的方法来做到这一点?我们的应用环境肯定会发展,我想听听其他专业人士的意见。
答案 0 :(得分:1)
如果您唯一关心的是不丢失配置文件,则只需为配置文件添加%config(noreplace)标记即可。这将产生以下影响(仅适用于那些配置文件):
如果您想更多地使用scriptlet(使用%pre
; %preun
等),请查看this documenation.
如果认为不需要%preun和%postun部分......