将 --force-confold 和 --force-confnew 与 dpkg 一起使用之间是否可能存在冲突?

将 --force-confold 和 --force-confnew 与 dpkg 一起使用之间是否可能存在冲突?

本质上,我正在使用答案是对应用程序有非交互式体验,例如dpkgapt以及可能依赖于前者的其他应用程序。

但问题是,这两个标志一起使用时是否有冲突?

我这么问是因为,据我了解:

apt-get -o Dpkg::Options::="--force-confdef"

使用默认设置(取决于软件包,我相信有些会替换旧配置,有些会保留旧配置,除非我弄错了)

apt-get -o Dpkg::Options::="--force-confnew"

保留新配置...

因此,我有点困惑为什么某些来源提到其中两个标志,即使它们可能会或可能不会相互冲突(尝试过它们,但不知道会启动任何包,debconf除非我运行dist-upgrade并等待正确的包来做到这一点)。

我只需要其中一个还是两者都需要?

答案1

这是在手册dpkg:

confnew:如果配置文件已被修改并且包中的版本确实发生更改,则始终安装新版本而不提示,除非还--force-confdef指定了,在这种情况下,首选默认操作。

confold:如果conf文件已被修改并且包中的版本确实发生更改,则始终保留旧版本而不提示,除非--force-confdef还指定了,在这种情况下首选默认操作。

confdef:如果conf文件已被修改并且包中的版本确实发生变化,则始终选择默认操作而不提示。如果没有默认操作,它将停止询问用户,除非也给出了--force-confnew或,在这种情况下,它将使用它来决定最终操作。--force-confold

--force-confdef其本身有时会导致提示,因为并不总是指定默认操作。这可以通过添加--force-confnew或来修复--force-confold;当与 结合时--force-confdef,它们不会取代它,而是补充它 - 所选操作将是默认操作(如果有),否则是新操作或旧操作(取决于选择的选项)。

相关内容