我创建了一个 Debian 软件包,其中的文件深深嵌套在 /etc 下。 (我正在为这个自定义包使用本地存储库。)
该软件包将部署在没有前端的嵌入式系统上。 确保文件与包匹配比保留用户修改更重要。 /etc 下的包文件不应有用户修改,但我想确保升级时任何意外的用户修改(损坏)都是正确的。
我注意到当我手动修改/etc/.../my_file并将软件包升级到最新版本时,/etc/.../my_file仍然包含我的修改并且与软件包中的文件不匹配。 我什至不记得有人问过我是否要保留本地版本或软件包版本(就像我经常使用“真正的”Debian 软件包一样)。
我明白为什么保留本地修改对于普通包来说是正确的,但我需要覆盖它。
如何使 /etc 下的 Debian 软件包文件始终覆盖本地更改? 理想情况下无需提示。
你不能也不应该这样做。您所描述的内容严重违反了 Debian 政策。
您可能想问的是“如果本地管理员没有修改类似配置的文件,我该如何将其从该软件包的先前版本升级到新版本?” ucf
包为此提供了逻辑。
也许另请参阅https://www.debian.org/doc/debian-policy/ap-pkg-conffiles.html