debconf config.dat 文件的格式是什么?

debconf config.dat 文件的格式是什么?

debconf 有一个文件,其中/var/cache/debconf/config.dat包含配置问题的答案。例如,

Name: libpam-runtime/profiles
Template: libpam-runtime/profiles
Value: unix, systemd
Owners: libpam-runtime
Variables:
 profile_names = mkhomedir, unix, systemd
 profiles = activate mkhomedir, Unix authentication, Register user sessions in the systemd control group hierarchy

它们是什么Name以及Template为什么它们看起来总是相同的?Value并且Owners看起来足够清楚。最重要的是,该Variables零件的用途是什么?我认为整个节都在描述一个变量。

答案1

从技术上讲,该节描述了问题,用 debconf 术语来说。

至于Template,从相应 Perl 模块的文档文本:

创建新模板时,会创建一个与模板同名的问题。这是为了确保模板至少有一个所有者(问题),并让 debconf 用户的生活更轻松,这样他们就不必手动注册该问题。

那么,所有者字段实际上用于设置问题的所有者。

大多数 debconf 用户可能不需要基于同一模板创建其他问题。

要理解该Variables部分,您需要查找相应的模板。在本例中,profiles是一个选项列表(请参阅/var/cache/debconf/templates.dat):

Name: libpam-runtime/profiles
Choices: ${profiles}
Choices-c: ${profile_names}
Description: PAM profiles to enable:
...

并从man 7 debconf,这是变量类型的一个实例select

select A choice between one of a number of values. The choices must be specified in
       a  field  named  'Choices'.  Separate  the  possible  values with commas and
       spaces, like this:
         Choices: yes, no, maybe

Choices-C领域密切相关:

DEBCONF_C_VALUES
      If this environment variable is set to 'true', the frontend will display the values
      in Choices-C fields (if present) of select and multiselect  templates  rather  than
      the descriptive values.

相关内容