規格可能會變動,請同時參閱原始文件

Debconf

  • Debian Linux 用來設定管理系統。
  • 不同的 debian 套件可以使用此系統分享設定值,也可以使用套件名稱存儲該套件專有的設定值
  • 不使用資料庫,只使用檔案來存放設定值,位置在 /var/cache/debconf/config.dat

Template

格式與 Debian Package control file 一樣,為 rfc-822 compliant format
使用 metadata 來描述設定選項,下為範例

Template: hostname
Type: string
Default: debian
Description: unqualified hostname for this computer
 This is the name by which this computer will be known on the network. It
 has to be a unique name in your domain.

說明:

Template: 設定選項名稱
Type: 設定值類型
Default: 預設值
Description: 短描述
長描述

Available data types

  • string 字串
  • boolean 真假值
  • select 單選,使用Choices欄位指定 用逗號與空格分開可能的值 Ex. Choices: yes, no, maybe
  • multiselect 多選, 與select相同
  • note 用於顯示使用者必須要讀的文字。無法顯示則會被存在紀錄黨內。
  • text 文字
  • password 密碼, 明碼除存
  • title 可用 SETTITLE command 設定的字串

讀取與存入設定值

回傳狀態值 0 為成功,其餘皆為錯誤

操作命令

  • SETTITLE template :
    • 設定前端介面的Titile
  • INPUT priority question:
    • 告訴前段介面要顯示該問題, 前段介面只會顯示 priority 比使用者設定高的問題.
    • 在GO命令執行前,問題不會被顯示,所以我們能在一個畫面內指定要顯示幾個問題
  • GET question
    • 取得使用者回答的設定值
  • Set question value
    • 除存使用者回答的設定值
  • Reset question
    • 將除存的設定還原成預設值
  • SUBST
    • 類似 sprintf的功用, 被替換的字通成使用 ${key} 表示
  • FGET
    • 取得問題的 flag 值, 最常用的 flag 是 seen, 當為 false 時,該問題被忽略
  • FSET
    • 設定 flag 值
  • METAGET
    • 取得 question 的欄位, 例如 Type
  • Register:
    • 建立一個新的 question
  • PURGE:
    • 清空設定

延伸閱讀