Пакет DEB: сценарий оболочки с debconf не показывает диалог ввода

Следующий скрипт config внутри control.tar.gz

#!/bin/sh -e

. /usr/share/debconf/confmodule

db_fset mailadmin/database_host seen false
db_clear
db_purge

db_input medium mailadmin/database_host || true
db_go

db_get mailadmin/database_host
echo "$RET" > /tmp/from_config_script.txt

exit 0

с шаблоном

Template: mailadmin/database_host
Type: string
Description: The database server's host name or IP address.

(файл ] templates ) не показывает диалоговое окно ввода при установке пакета с помощью dpkg -i , а также при запуске его из командной строки.

Вместо этого он записывает «localhost» в /tmp/from_config_script.txt , даже если это значение по умолчанию больше не является частью файла шаблона. Я никогда не видел всплывающее окно ввода. Попытка ввода - это то, чего я пытаюсь достичь.

Я удалил пакет с помощью apt-get purge mailadmin , но даже purge не очистил это значение по умолчанию. Что я могу сделать?

4
задан 28 May 2014 в 17:32

2 ответа

Простое решение:

db_input high ...

Это не упоминается в учебном руководстве в http://www.fifi.org ( http://www.fifi.org/doc/debconf-doc/tutorial.html ), только косвенным способом.

приоритет А носитель является слишком низким для показа диалогового окна. Пороговый приоритет должен быть установлен где-нибудь на компьютере. К сожалению, я все еще не знаю где. Но по крайней мере я знаю, как заставить диалоговые окна работать.

0
ответ дан 28 May 2014 в 17:32

После следования за предложением перечислил в более раннем ответе, мой сценарий конфигурации все еще не выполнил бы диалоговых подсказок и т.д. Я наконец споткнулся через этот комментарий в следующей статье страницы справочника (см. раздел The PostInst Script)

https://manpages.debian.org/testing/debconf-doc/debconf-devel.7.en.html

Всегда источник/usr/share/debconf/confmodule наверху Вашего postinst, даже если Вы не будете выполнять команд db_* в нем. Это требуется, чтобы удостоверяться, что сценарий конфигурации получает шанс работать (см. ВЗЛОМЫ для деталей).

, После того как я получил confmodule в postinst (даже при том, что я не называю команды db_* здесь), мой сценарий конфигурации начал работать, как ожидается

0
ответ дан 7 October 2019 в 18:34

Другие вопросы по тегам:

Похожие вопросы: