Как справиться с установкой 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
1 ответ
Ты можешь использовать
export DEBIAN_FRONTEND=noninteractive
а затем использовать debconf
предоставить значения, которые вы выбрали. Это объясняет, как
Если вы хотите предоставить ответ на вопрос о конфигурации, но не хотите, чтобы его запрашивали, это можно сделать, предварительно введя в базу данных DebConf необходимую информацию. Вам нужно будет знать:
- название пакета, отвечающего за вопрос (который может не совпадать с тем, который вы просили установить при наличии зависимостей),
- ключ базы данных конфигурации, на который записан ответ, и
- тип ответа (строка, логическое значение, выбор, множественный выбор или пароль).
Параметры конфигурации также могут быть предоставлены, в python-apt
с apt_pkg.Configuration
учебный класс. Примером
apt_pkg.config.set("Dir", self.tmpdir)
Затем вы должны найти имя опций, запрашиваемых скриптом конфигурации, и установить его через скрипт python.