假设我有一个稍后运行apt upgrade -y的脚本,我需要手动回答不同包的这些问题。我怎么能自动这么做?
设置virtualbox-来宾-x11 (5.0.32-dfsg-0ubuntu1.16.04.2)
Configuration file '/etc/X11/Xsession.d/98vboxadd-xclient'
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** 98vboxadd-xclient (Y/I/N/O/D/Z) [default=N] ? conffile prompt detected: /etc/X11/Xsession.d/98vboxadd-xclient /etc/X11/Xsession.d/98vboxadd-xclient.dpkg-new我的脚本能够检测到confile提示符,但是我应该如何自动地回答是呢?
通过使用python-apt api,我能够通过此函数检测提示。
def conffile(self, current, new):
print " conffile prompt detected: %s %s" % (current, new)
"""(Abstract) Called when a conffile question from dpkg is detected."""发布于 2017-05-05 20:26:15
对于那些像我一样迷失的人,答案是:
import apt_pkg
apt_pkg.init_config()
apt_pkg.config.set("DPkg::Options::", "--force-confnew")这将使apt自动接受新的配置文件。
发布于 2017-04-10 11:44:44
使用yes命令:
yes Y | apt ...发布于 2017-04-10 07:44:54
由于(问题下的注释)您使用的是Python-APT,所以首先想到的方法是使用配置类来设置conf['APT::Get::Assume-Yes'] = True。
https://stackoverflow.com/questions/43316879
复制相似问题