首次安装时未安装conffiles中定义的文件

首次安装时未安装conffiles中定义的文件

简而言之:conffiles 中定义的文件在首次安装时不安装。

我正在使用 CMake 创建 debian 包。这个包按我的预期工作。在软件包中,我有一个配置文件,我希望在升级软件包时保持该文件不被修改。我在conffilesdebian包的控制文件中定义了该文件。当我升级文件时,这也按预期工作:

  1. 如果未更改,则保留原始文件。当我更新配置文件的内容时,系统会提示我是否要保留原始文件/更新/等。

但是,当我第一次在新系统上安装该软件包时,conffiles 控制文件中定义的文件不会安装在该软件包中。根据文档:https://www.debian.org/doc/debian-policy/ap-pkg-conffiles.html 当您第一次安装该软件包时,它们应该与所有其他文件一起安装,但是这些文件丢失了。

  1. 我知道该文件存在于我的 debian 软件包中,因为我验证了这一点并且没有添加它的 conffiles 控制文件。
  2. 我认为conffiles 中的条目是正确的,因为更新时的行为符合预期。

问题:是什么阻止了首次安装时安装 conffiles 控件中的文件?

答案1

“已删除”也是在升级过程中保留的配置文件的有效状态,只要包处于配置文件保留的状态,例如在删除包而不清除配置文件时。

如果在使用--force-confnew或进行安装时安装了该conf文件--force-confmiss,则表明该conf文件之前已在 dpkg 中注册,并且已知已被删除。

相关内容