我想知道如何在命令行或shell脚本中用debconf集选择使用debconf show的结果来实现deb包的精度。
例如
如果我用
sudo debconf-get-selections | grep java7 > result;cat result我得到以下信息
oracle-java7-installer shared/present-oracle-license-v1-1 note
oracle-java7-installer oracle-java7-installer/local string
oracle-java7-installer shared/accepted-oracle-license-v1-1 boolean true
oracle-java7-installer shared/error-oracle-license-v1-1 error
oracle-java7-installer oracle-java7-installer/not_exist error在安装过程中出现的两个对话框中,正确的debconf集选择行看起来会是什么样的呢?
通常情况下,对debconf集选择的正确语法是怎样的,我假设不仅存在布尔型,比如真或假,还有是或否。
如果由bash脚本安装了lightdm和gdm,我想还有更多的其他示例将如何选择默认的桌面管理器。
是否有一种通用的验证方法来确定和正确的值为一个debconf包,并编写一个适当的bash脚本,安装类似于webupt8的java包,并预选用户通常需要的值?
发布于 2014-12-07 22:53:03
你需要使用预种。在安装包之前,debconf-set-selections命令会预先设置由debconf询问的答案。
例如:
sudo debconf-set-selections <<< "shared/accepted-oracle-license-v1-1 boolean true"然后安装软件包。
sudo apt-get install -y oracle-java7-installer发布于 2022-01-24 10:43:52
Debconf只接受一组受限制的可能类型值,例如boolean、string、note、select和其他类型值,这是非常有趣的。
在您的问题中,我假设您希望自动化Java license debconf值,因此您可以运行如下所示:
echo "oracle-java7-installer shared/accepted-oracle-license-v1-1 boolean true" | sudo debconf-set-selections如果需要添加字符串值,请运行如下所示:
echo "oracle-java7-installer oracle-java7-installer/local string java" | sudo debconf-set-selections如果需要选择值,可以运行:
echo "oracle-java7-installer oracle-java7-installer/legacy select true" | sudo debconf-set-selections注意:运行这些命令后,请确保使用类似于
sudo debconf-show oracle-java7-installer的内容设置正确的值,然后,当然,在真正的服务器安装上测试它。提示:与> result;cat result不同,您可以只使用| tee result,它的工作原理非常相似,但不会等到第一个命令完成后再显示内容。
https://askubuntu.com/questions/381593
复制相似问题