影像描述

KIWI 需要使用影像描述來建立影像類型。影像描述為至少包含一個 config.xml 檔案或包含副檔名為 *.kiwi 之檔案的目錄。

影像描述的內容

下表包含了其他選擇性資訊。但是,若要在更高版本的作業系統中運作,您必須提供其中的大部分資訊︰

表格 17.1. 影像描述的其他檔案與目錄

檔案/目錄

描述

config/

選擇性子目錄。包含所有影像套件安裝後所執行的 Bash 程序檔。

config.sh

建立實體擴充時的選擇性組態程序檔

config.xml

每個影像描述的組態檔案,節 17.3.2 中做了說明

config-cdroot.tgz

僅用於 ISO 影像的歸檔

config-cdroot.sh

操作 config-cdroot.tgz 的解壓縮資料

config-yast-autoyast.xml

AutoYaST 建立的組態檔案

config-yast-firstboot.xml

用於控制 YaST 首次開機服務的組態檔案

images.sh

建立準備步驟時的選擇性組態程序檔

root/

包含所有影像套件安裝有變更的其他目錄、特殊檔案及程序檔。


config.xml 檔案

有關影像描述的所有資訊都儲存於中央組態 XML 檔案 config.xml 中。KIWI 每次執行時都會根據 RELAX NG 綱要來驗證 config.xml (有關此綱要語言的詳細資訊,請參閱 http://www.relaxng.org)。因此,建議使用支援 RELAX NG 功能的適用 XML 編輯器或使用 HTML 檔案 /usr/share/doc/packages/kiwi/schema/kiwi.xsd.html 中關於綱要的文件。

組態檔案由以下幾部分組成︰

  • 一些關於原著者的描述、聯絡人資訊及簡要說明。

  • 邏輯擴充階段所需的優先設定選項。

  • 有關使用者及其名稱、主目錄和密碼的資訊。

  • 指向儲存庫的連結。

  • 用於所定義影像類型的套件清單。

  • 以及其他不太重要的資訊,您可在上文中 RELAX NG 綱要文件的 HTML 檔案中進行檢視。

以下範例顯示了檔案的基本架構︰

範例 17.1. KIWI 組態檔案

<image schemeversion="2.0" name="..."> 1
  <description type="system"> 2
    <author>...</author>
    <contact>...</contact>
    <specification>...</specification>
  </description>
  <preferences> 3
    <type primary="true" boot="..." flags="...">iso</type>
    <type boot="..." filesystem="ext3" format="vmdk">vmx</type>
    <type boot="..." filesystem="ext3">xen</type>
    <type boot="..." filesystem="squashfs" flags="unified">oem</type>
    <version>2.7.0</version>
    <size unit="M">780</size>
    <packagemanager>zypper</packagemanager>
    <rpm-check-signatures>False</rpm-check-signatures>
    <rpm-force>False</rpm-force>
    <locale>en_US.UTF-8</locale>
    <oem-swap>no</oem-swap>
    <oem-boot-title>USB</oem-boot-title>
  </preferences>
  <users group="users"> 4
    <user name="root" pwd="" home="/root"/>
  </users>
  <repository type="rpm-md"> 5
    <source path="/home/rpmdir"/>
  </repository>
  <packages type="image" patternPackageType="onlyRequired"> 6
    <package name="yast2-live-installer"/>
    <package name="pam"/>
    <!-- List of packages reduced -->
  </packages>

1

每個 KIWI 組態檔案的根元素。每個檔案都需要版本號碼。選擇性的 kiwirevision 屬性可用於指定 KIWI 的 SVN 修正版。

2

包含必要的描述,其中包括有關此影像描述的建立者、聯絡人地址及一些簡要說明。

3

包含必要的優先設定,其中包括有關此影像的版本、使用的套件管理員、支援的影像類型及其他設定。

4

選擇性的 users 元素包含新增至影像的所有使用者清單。user 元素包含名稱、主目錄路徑、密碼及外圍程序。

5

包含套件管理員所使用的必要儲存庫清單。

6

包含影像中所包含的必要套件清單。

上文的 HTML 頁面中顯示了組態檔案的更多詳細資料。