防止“yum remove package”删除/重命名配置文件

防止“yum remove package”删除/重命名配置文件

我已经创建了一个 RPM 包,并将其上传到我的本地 yum 存储库。当我(或未来的用户)安装 + 编辑包的配置文件,然后删除包 ( yum remove <package>) 时,配置文件将被重命名或删除。

封装规格:

%files
%defattr(-, root, root, -)
%dir /etc/something

/etc/something/someA.conf                     # removed
%config /etc/something/someB.conf             # removed
%config(noreplace) /etc/something/someC.conf  # renamed => someC.conf.rpmsave

如果用户删除或更新软件包,我想保持修改后的配置文件不变。我怎样才能做到这一点?谢谢。

答案1

这不可能。

%config*有关更多详细信息以及和的所有组合,*{rpmsave,rpmnew}请参阅https://www.cl.cam.ac.uk/~jw35/docs/rpm_config.html

RPM 不是配置管理器。它只识别两种状态:已更改的文件或原始文件。

强烈建议使用 Ansible 进行配置管理。或者您可以用于rpmconf在命令行上处理conf更新。

顺便说一句:有点挑剔:%defattr(-, root, root, -)自古以来就不需要了。您可能是从一些旧教程中得到的。删除它即可。是无操作。

相关内容