分类: LINUX
2011-09-19 16:56:10
debconf 是 Debian 使用的一种软件包配置方法。支持 debconf 的软件在安装时,会弹出对话框,要求用户输入一定配置参数。
在非交互式环境下安装这类软件,用户无法在线提供软件的配置项。因此用户需要通过 dpkg-preconfigure 预先指定软件配置。
目前 dpkg-preconfigure 的用法比较奇怪。没有非常完美的用法,总觉得怪怪的。下面这个方案应该是我从网上可以找到,综合比较靠谱的。
1. 导入 debconf 模板
debconf 模板包含软件的配置项的名称、说明、默认值等内容。一般来说 debconf 模板是包含在 deb 包中。由于需要在安装 deb 时自动提供软件配置,所以需要在安装 deb 包之前,提前导入 debconf 模板。过程如下。
不完美的地方就在这里:导入一个软件的配置项,竟然要用三个命令。总觉得应该一个命令搞定。。。
2. 指定 debconf 配置
模板导入之后,可以使用 debconf-set-selections 设置软件配置。用下面的命令:
上面命令将 mysql-server-5.0/start_on_boot 设置为 true,并且设置配置项已经显示(区分配置项的值是默认值,还是用户输入值)。一般来说,软件安装时,只会显示 seen 为 false 的那些配置参数。
如果不知道软件有哪些配置选项,可以用 debconf-show 看到:
上面每行输出中第一个 * 表示 seen 为 true,没有星号表示 seen 为 false;每行输出中,冒号前面配置项,冒号后是值。
3. 安装软件
如果所有的 debconf 选项都通过上面的方法设置完毕。用下面的方法安装
此时应该不会显示 debconf 的对话框。