在我的 RedHat 7.4 上,我正在使用 CMake 创建一个 RPM,我想要给 RPM 的指令之一是 - 单独保留某个配置文件,以防操作是升级。
我想我可以在我的 CMakeLists.txt 中使用(mcve)来完成此任务:
cmake_minimum_required(VERSION 3.4.0 FATAL_ERROR)
project(MyKibana)
set(kibana_version 6.2.2)
set(kibana_dir /usr/share/mykibana)
list(APPEND CPACK_RPM_USER_FILELIST
"%config(noreplace) ${kibana_dir}/config/kibana.yml"
)
Run Code Online (Sandbox Code Playgroud)
然而,当我这样做时sudo yum upgrade /tmp/my-kibana-6.2.2-577-g7cca696.el7.my.x86_64.rpm -y,我发现 处的文件/usr/share/mykibana/config/kibana.yml被RPM 中的文件覆盖。
除了指令之外我还需要做些什么吗%config(noreplace)?
配置文件的行为rpm很难理解。
%config(noreplace)如果您更改了配置文件,则不会替换它。如果您没有触及配置文件,它将始终被新的配置文件覆盖。
为了更彻底的了解;请参阅这个优秀的页面:http://people.ds.cam.ac.uk/jw35/docs/rpm_config.html
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |