我不得不承认,我真的很讨厌 apt-listchanges。如果我要进行大规模的 dist 升级,我只想将计算机留在那里几个小时。这个serverfault 问题的提问者有一个类似的目标,但是在实施了那个帖子中的所有建议之后,我仍然被apt-listchanges
.
为何如此难以实现非交互性apt
,否则优秀的节目,因为Unix哲学渴望呢?
我希望我所做的更改/etc/apt/listchanges.conf
会有所帮助,但我需要有关如何在没有任何交互的情况下可靠地进行升级的建议。
[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news
Run Code Online (Sandbox Code Playgroud)
这是我使用的命令是
DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade
Run Code Online (Sandbox Code Playgroud)
我还添加了以下几行 /etc/dpkg/dpkg.cfg
force-confold
force-confdef
Run Code Online (Sandbox Code Playgroud)
Jim*_*ris 12
正如您在配置中找到并设置的那样,apt-listchanges
如果您将前端设置为none
. 您还可以设置环境变量APT_LISTCHANGES_FRONTEND=none
来实现相同的目的。
听起来您真正想做的是使用该unattended-upgrades
软件包。它为您处理所有事情:禁用apt-listchanges
、将前端设置为noninteractive
、检查和避免 conffile 提示等。如果不出意外,Python 脚本的内容/usr/bin/unattended-upgrades
应该回答您关于它如何发挥其魔力的问题。