我目前正在测试使用该config(noreplace)
指令安装带有配置文件的 RPM 。
根据使用 config(noreplace)我的规范文件将单个文件标记为配置文件:
%config(noreplace) /opt/lm/dest/conf/db.xml
Run Code Online (Sandbox Code Playgroud)
我对版本 1 的文件进行了磁盘修改并继续升级到版本 2。我期待详细输出(使用时-Uvh
)表明它已经创建了一个db.xml.rpmnew
它没有但是我所做的磁盘修改完好无损。
有谁知道为什么会这样?
一些背景信息:我使用相同的 tar 文件来创建版本 1 和 2,这应该没有什么不同,但我想无论如何我都会提到它。
编辑 1:
如果不清楚db.xml.rpmnew
文件未创建。
您观察到的是预期行为。一个.rpmnew
当两个下列条件都满足时,才会创建包:
根据更新日志:
提交 e64bf5b93ab689e6031fce4489e4ae38ebaebef1
作者:Panu Matilainen
日期:2007 年 8 月 28 日星期二 09:04:09 +0300当包中的文件没有改变时,避免使用 .rpmnew (rhbz#194246)
%config(noreplace) 的当前行为创建了一个 .rpmnewfile,如果当前文件的类型已更改为原始安装的类型。
该补丁更改了这种行为,因此当新旧(在 db 和包中)相同时 -> 未更改,该函数返回 FA_SKIP -> 它不会破坏任何内容,它只是跳过包中文件的安装。当新旧包包含
%config
符号链接并且我们在磁盘上有常规文件时,此补丁还处理相反的情况 。Run Code Online (Sandbox Code Playgroud)Patch from Tomas Mraz.
归档时间: |
|
查看次数: |
1711 次 |
最近记录: |