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
の部分は何のためのものですか?スタンザ全体が変数を記述していると思いました。
技術的には、そのスタンザはdebconfの用語で Question を記述しています。
Template
については、 対応するPerlモジュールのドキュメントテキスト から:
新しいテンプレートが作成されると、テンプレートと同じ名前で質問が作成されます。これは、テンプレートに少なくとも1人の所有者(質問)がいることを確認し、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.