因此,为了防止在 dpkg 安装后出现控制台 UI(newt、snack、dialog)提示,您必须执行以下操作:
debconf-set-selections <<< 'mysql-server mysql-server/root_password password password'
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password verify_password'
apt-get -y install mysql-server
- 这有什么规则吗?
- 我们如何发现调用控制台 UI 的其他包的提示名称/描述符以便阻止它们?
- 我们是否必须深入研究源代码才能弄清楚提示是如何被调用的?
- 有没有一种简单的方法可以选择所有默认值(有效地单击默认按钮和/或采用正确的文本/选项)?
谢谢。
笔记
看起来设置此变量是采用默认值的解决方案:
DEBIAN_FRONTEND=noninteractive
答案1
这将使用默认参数重新配置你的包:
DEBIAN_FRONTEND=noninteractive dpkg-reconfigure [package name]
这将显示您在安装包时设置的参数:
debconf-show [package name]
这将输出您在安装包时设置的参数,格式化为debconf-set-selections
:
debconf-get-selections | grep '^[package name]'
据我所知,您无法显示未安装的软件包的参数;如果不先使用该选项重新配置软件包,则无法显示默认参数noninteractive
。您可能希望使用容器进行测试。