Apt

將 –force-confold 和 –force-confnew 與 dpkg 一起使用之間可能存在衝突嗎?

  • March 28, 2021

本質上,我正在使用這個答案來獲得與應用程序(例如dpkgapt以及其他可能依賴於前者的應用程序)的非互動式體驗。

但問題是,這兩個標誌之間是否有任何衝突,當一起使用時?

我問是因為,據我了解:

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

使用預設設置(取決於包,我相信有些替換舊配置,有些保留舊配置,除非我弄錯了)

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

而是保留新配置…

所以我有點困惑為什麼某些來源提到其中兩個標誌,即使它們可能會或可能不會相互衝突(嘗試過它們但不知道任何會啟動的包,debconf除非我執行dist-upgrade並等待正確的包來做到這一點)。

我只需要其中一個還是兩者都需要?

這在手冊dpkg中得到解決:

confnew: 如果一個 conffile 被修改並且包中的版本確實改變了,總是在沒有提示的情況下安裝新版本,除非--force-confdef還指定了,在這種情況下,首選預設操作。

confold: 如果某個配置文件被修改,並且包中的版本確實發生了變化,請始終保留舊版本而不提示,除非--force-confdef還指定了,在這種情況下,首選預設操作。

confdef: 如果某個配置文件被修改,並且包中的版本確實發生了變化,請始終選擇預設操作而不提示。如果沒有預設操作,它將停止詢問使用者,除非--force-confnew--force-confold也給出,在這種情況下,它將使用它來決定最終操作。

--force-confdef其本身有時會導致提示,因為並不總是指定預設操作。這可以通過添加--force-confnew或來解決--force-confold;與 結合使用時--force-confdef,它們不會替換它,而是對其進行補充——所選操作將是預設操作(如果有),否則為新操作或舊操作(取決於選擇了哪個選項)。

引用自:https://unix.stackexchange.com/questions/641099