我对 `debconf-set-selections` 预配置文件中的“di”的含义感到困惑

我对 `debconf-set-selections` 预配置文件中的“di”的含义感到困惑

我正在使用 Ubuntu 18.04,并通过 自动安装 Debian 包apt install

这个包要求我查看许可协议并选择接受或拒绝它,我了解到我可以使用“预置”来自动化这个过程,这在“附录 B. 使用预置自动安装”

这部分“B.3. 创建预配置文件”对该领域发表了以下看法Owners

对于仅在安装程序本身中使用的 debconf 变量(模板),所有者应设置为“di”;要预先设置已安装系统中使用的变量,应使用包含相应 debconf 模板的软件包的名称。只有所有者设置为除“di”之外的其他值的变量才会传播到已安装系统的 debconf 数据库。

我的问题是:

  1. “安装程序”和“已安装系统”有什么区别?
  2. 我正在使用它apt来安装此包。这是“安装程序”的情况吗?
  3. 什么是 debconf 数据库?从我目前了解的情况来看,它是文件/var/cache/debconf/config.dat。我说得对吗?
  4. 最后一句“...'di' 将被传播到已安装系统的 debconf 数据库中”让我感觉如果我使用apt安装包并d-i在预置文件中使用,则该config.dat文件不会被我的安装更改。但是在我运行之后debconf-set-selections <my-preseed-file>,我发现config.dat文件曾是已改变。所以我对这部分文件到底是什么意思感到困惑。

谢谢您的帮助!

答案1

d-i展开后表示该变量debian-installer。它只适用于 Debian 安装过程中使用的变量。即在整个 Debian 操作系统安装到计算机时。

因此在这种情况下:

  1. “安装程序”将整个 Debian 安装为一个可运行的“安装系统”。

  2. 从某种意义上来说,是的,因为安装程序会使用 apt 作为安装包的工具,但 dpkg 也是参与该过程的另一个工具。

  3. 从技术上讲,这可以是存储的位置,但作为一个整体,Debconf 数据库将引用存储的每个 Debconf 变量及其内容,无论位置如何。这就是使用 Debconf 存储数据的所有内容。可以是 Debian 安装程序、所有已安装的软件包以及直接使用它的任何内容。

  4. 它指的是包含在安装时写入磁盘的安装程序变量的数据库。

这一切都涉及 Debian 安装程序。但是,如果您没有自定义 Debian 安装程序或预置文件(在安装整个操作系统之前使用),这看起来会很混乱。如果您只是试图在工作系统上安装软件,那么这些d-i东西就不相关了。特别是,Debian“OS”安装程序中使用预置文件来自动化设置。

相关内容