2016-04-11 144 views
0

当我们的软件首次部署时,我们打包了一个RPM,我们对RPM很新,所以我们只定义了需要安装的所有文件,并且它已完成rpm安装的一部分。RPM管理挑战

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

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

  2. 我们没有%preun和%postun第一RPM

定义围绕谷歌搜索后,之前对它们进行备份我们唯一的想法是编写一个需要第一个RPM版本的虚拟RPM。虚拟RPM将简单地备份文件。我们将他们卸载第一个RPM并安装新的RPM,其中定义了%preun和%postun。

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

回答

1

如果您唯一担心的是而不是丢失了您的配置文件,您只需要为您的配置文件添加一个%config(noreplace)标记。这将具有以下效果(对于只有那些配置文件):

  • 磁盘上的文件不变 - 从更新>文件
  • 磁盘上的文件编辑 - >此文件被保持,如果RPM提供新版本;这一个(使用%pre; %preun等)保存为file.rpmnew

如果你想与小脚本各地的发挥,看看this documenation.

如果想删除您的需要% preun和%postun部分...

+0

谢谢Chris,%配置正是我们需要的 – user2066671