1

私はパッケージを持っています。それをfooと呼びましょう。これは、postfix に依存する依存関係があります。debconf を使用して質問に答えることで、 fooのインストールを自動化しようとしています。fooの要件は、すべてをインストールおよび構成できる必要があり、次を使用してインストールする必要があることです。

sudo apt-get install foo

したがって、次のようなものは受け入れられません。

DEBIAN_FRONTEND=noninteractive apt-get install -y foo

また、 Ubuntu の新規インストール時にfooがインストールされていることに注意してください。

私が最初に試したのはこれでした(preinstスクリプトで):

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

ただし、それは私が与えられた要件には受け入れられません。

だから今、私は立ち往生しています。誰かが私が間違っていることを見つけることができれば、答えを探している間探していたので大歓迎です。

4

1 に答える 1

1

debconf-utils奇妙なことに、dpkg のデータを設定するためにインストールする必要はありません。

ダイアログ ウィンドウを表示させたくない場合は、次dpkgのオプションを使用してみてください。
--force-confdef(force to keep default option without prompting)
--force-confold (force to keep old conf files)

最終的には、次のよう
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 -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" foo
になります。そうでない場合は、こちらからお知らせください。

于 2015-07-07T08:52:14.023 に答える