B.3. 创建预置文件

预置文件是 debconf-set-selections 命令使用的格式。通常预置文件中每一行的格式为:

<owner> <question name> <question type> <value>

文件应该以 #_preseed_V1开始

编写预置文件的时候要留意几条规则。

建立预置文件最简单的方法是使用例子文件作为工作的基础,它位于 第 B.4 节 “预置文件的内容(bookworm)”

另一种方法是手动安装,重启后使用 debconf-utils 软件包里面的 debconf-get-selections,将 debconf 数据库和安装程序的 cdebconf 数据库导出到单一一个文件:

$ echo "#_preseed_V1" > file
$ debconf-get-selections --installer >> file
$ debconf-get-selections >> file

但用此方法产生的文件,有些项无法预置。对于大多数用户,示例文件是一个较佳的开始。

[注意] 注意

这种方法在安装的最后,安装程序的 cdebconf 数据库被保存到新安装系统的 /var/log/installer/cdebconf 文件。由于数据库里面常还有敏感的信息,默认只为 root 可读。

如果您清除 installation-report 软件包,那么 /var/log/installer 目录及其中的所有文件将从您的系统中删除。

为了检测问题答案可用的值,您可以在安装进行中使用 nano 检查 /var/lib/cdebconf 下的文件。templates.dat 是原始的模板,questions.dat 是当前变量设置的值。

为了在安装之前测试您的预置文件是否有效,您可以使用 debconf-set-selections -c preseed.cfg 命令。