如何处理apt安装,该安装使用python-apt生成另一个配置对话框屏幕



例如,在安装 lirc 软件包时,它会给出配置对话框屏幕。如何自动化以选择默认值(或可能提供特定值)并继续?

现在我有一个简单的脚本:

  #!/usr/bin/env python
  import apt
  import sys
  pkg_name = "lirc"
  cache = apt.cache.Cache()
  cache.update()
  pkg = cache[pkg_name]
  if pkg.is_installed:
      print "{pkg_name} already installed".format(pkg_name=pkg_name)
  else:
      pkg.mark_install()
      try:
          cache.commit()
      except Exception, arg:
          print >> sys.stderr, "Sorry, package installation failed [{err}]".format(err=str(arg))

配置窗口如下链接所示http://cdn.avsforum.com/d/db/db48d778_vbattach158986.jpeg

您可以使用

export DEBIAN_FRONTEND=noninteractive

,然后使用debconf提供您选择的值。本操作指南说明

如果您想提供配置问题的答案,但不想被提示,那么可以通过在 DebConf 数据库中预先插入所需信息来安排。您需要知道:

  • 负责提问的软件包的名称(如果有依赖项,可能不是您要求安装的软件包),
  • 记录答案所依据的配置数据库密钥,以及
  • 答案的类型(字符串、布尔值、选择、多选或密码)。

还可以提供配置选项,与apt_pkg.Configurationpython-apt。通过示例

apt_pkg.config.set("Dir", self.tmpdir)

然后,您必须找到配置脚本要求的选项的名称,并通过python脚本进行设置。