创建一个提供用户可编辑配置文件的 RPM

Creating an RPM which delivers a user-editable configuration file

我想创建一个 RPM,其中包含一个供用户自定义的文件,具有初始默认模板配置。

如果用户编辑了该文件,我不想破坏它。我什至不想将用户文件移动到备份 - 我只想让它一个人呆着。

这是否可能,无需编写某种安装后逻辑来测试是否将模板复制到目标路径?我可以将文件声明为 "editable" 以便它在更改后不会被覆盖吗?

我想你想用

%files
%config(noreplace) /path/to/config/file

在这种情况下:

  • 如果用户编辑了文件;它会一直保持这样,即使在更新后
  • 如果更新包含新模板;新模板将保存在 /path/to/config/file.rpmnew
  • 如果更新包含新模板;并且用户从未编辑过旧模板;新模板将在 /path/to/config/file
  • 下提供

关于 %config 以及哪个文件保存在哪个用例中的精彩读物:http://people.ds.cam.ac.uk/jw35/docs/rpm_config.html