Вопрос Отвечая на вопросы debconf из пользовательского графического интерфейса в Python? (Пользовательский интерфейс)


Я пишу приложение, которое должно позволить пользователю устанавливать некоторые дополнительные пакеты, когда это необходимо. Я хотел бы создать пользовательский графический интерфейс, который собирает вопросы debconf пакетов вместе с некоторыми другими вопросами из моего приложения. Затем я установил пакет с помощью aptd или что-то еще, и на все вопросы, заданные с помощью скрипта установки пакета, будут отвечать поля в моем пользовательском графическом интерфейсе.

Как это сделать?


2
2018-01-29 14:44


происхождения




ответы:


Кажется, что debconf-set-selections команды из debconf-utils пакет подходит для этого.

Формат прост: debconf-set-selections [filename]

Если имя файла не указано, то он принимает свои данные от stdin. Формат самих линий ответов также прост: < packagename> < question_name> < datatype> < value>,

Итак, если вы хотите установить mysql-server используя предопределенный пароль, вы должны создать файл, такой как этот (mysql-prefs.seed)

mysql-server-5.5    mysql-server/root_password          password    my_root_password
mysql-server-5.5    mysql-server/root_password_again    password    my_root_password

Затем вы вставляете эти ответы в базу данных debconf, запуская debconf-set-selections mysql-prefs.seed, Наконец, вы просто устанавливаете пакет как обычно: sudo apt-get install mysql-server -yq и пароль пользователя root root теперь будет «my_root_password».

Я не знаю, является ли это Лучший способ сделать это, но он, безусловно, работает, и это достаточно просто.


2
2018-01-29 18:42