使用debconf回答软件包安装问题



我有一个包,让我们称之为foo,它有一个依赖项,而这个依赖项又依赖于后缀。我正试图通过使用debconf回答问题来自动安装foofoo的要求是它必须能够安装和配置所有内容,并且必须使用进行安装

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实用程序被放在Pre-Dependens中呢?那没用。

但是,如果我执行以下操作(从命令行而不是预安装脚本(,那么安装就可以毫无疑问地进行:

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

然而,对于我所得到的要求来说,这是不可接受的。

所以现在我被卡住了。如果有人能找出我做错了什么,我将不胜感激,因为我已经寻找了一段时间的答案。

这似乎很奇怪,您不需要安装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
我希望这会有所帮助。如果没有,请在这里通知我们。

相关内容

  • 没有找到相关文章

最新更新