问题描述
我们有一个专有软件包(称为api_package-1.0
),我们已经打包和部署了相当长的一段时间。该文件包含一个文件,该文件是部分配置文件,部分应用程序定义(如果需要,则是uwsgi应用程序的xml文件)。该文件位于/etc/
下。尽管其中包含某些人在安装后可能会合理更改的部分,但未声明为conffile很久了。
现在,我们已将此软件包迁移到新的打包过程(如果需要,可以从CPack迁移到fpm),将其称为api-package_1.0-1
。在新过程中,文件 被标记为conffile(正如我所说,可以说这是正确的)。
现在让我感到困扰的是dpkg
(或apt
)试图在旧软件包上安装新软件包时的行为。运行时:
sudo dpkg --force-confold --force-confdef -i api-package_1.0-1_amd64.deb
我看到来自dpkg
的以下消息:
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
==> Keeping old config file as default.
现在我想知道怎么回事?该文件显然尚未修改(校验和匹配)。该文件肯定是旧软件包的一部分。
那么dpkg
为什么认为我们自己创建了它?
附录:当然,我们可以从conffile中排除该文件。正如我所说的,这确实是一个边缘事件。但是从我阅读的文档中,我希望它可以正常工作,直到有人真正更改了文件。显然,我对dpkg
缺乏了解,因此,我将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)