У меня есть пакет, назовем его foo, который имеет зависимость, которая, в свою очередь, зависит от постфикса. Я пытаюсь автоматизировать установку foo, отвечая на вопросы с помощью debconf. Требования к foo заключаются в том, что он должен быть в состоянии установить и настроить все и должен быть установлен с использованием
sudo apt-get install foo
Так что что-то вроде этого было бы неприемлемо:
DEBIAN_FRONTEND=noninteractive apt-get install -y foo
Также обратите внимание, что foo устанавливается при новой установке Ubuntu.
Первое, что я попробовал, было это (в моем предварительном сценарии):
echo "postfix postfix/mailname string your.hostname.com" | debconf-set-selections
echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
Но это не сработало. Вопросы все же появились при установке.
Затем я попробовал это:
echo "postfix postfix/mailname string your.hostname.com" | debconf-set-selections
echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
DEBIAN_FRONTEND=noninteractive apt-get install -y postfix
И это:
echo "postfix postfix/mailname string your.hostname.com" | debconf-set-selections
echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
DEBIAN_FRONTEND=noninteractive apt-get install -y postfix << _EOT
y
EOT
И тогда я подумал:
Что, если бы debconf-utils были помещены в Pre-Depends? Это не сработало.
Однако, если я делаю следующее (из командной строки, а не из скрипта preinst), то установка работает без вопросов:
sudo apt-get install debconf-utils
echo "postfix postfix/mailname string your.hostname.com" | debconf-set-selections
echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
sudo apt-get install foo
Однако это неприемлемо для требований, которые мне дали.
Так что теперь я застрял. Если кто-нибудь может понять, что я делаю неправильно, это будет очень признательно, поскольку я некоторое время искал ответ.