KIWI的安裝及使用
1???前言
1.1?????????文檔目標(biāo)
本文檔主要記錄了鏡像制作工具KIWI的安裝和使用方法。
KIWI官方提供了一篇很詳細(xì)的文檔:https://doc.opensuse.org/projects/kiwi/doc/,但是全英文且冗長,可以做工具書使用,但是不適合新手用戶閱讀,因此本文簡單記錄KIWI的上手方式,為新手用戶提供一個(gè)較平滑的學(xué)習(xí)曲線。
1.2?????????文檔讀者
本文檔的主要讀者是KIWI的使用者。
2???KIWI簡介
KIWI是SUSE提供的鏡像制作工具,可以制作各種類型的鏡像,包括容器鏡像(lxc|docker、lxc|docker),壓縮包鏡像(tbz),安裝包鏡像(iso),虛擬機(jī)鏡像(vmx)等等。
3???KIWI的安裝
KIWI的安裝在聯(lián)網(wǎng)情況下相對比較簡單,只需要配置好zypper源然后執(zhí)行zypper install即可。
3.1?????????配置zypper源
由于在kiwi安裝過程中可能出現(xiàn)循環(huán)包依賴從而導(dǎo)致始終無法安裝成功的情況,因此建議將zypper自帶的源全部刪除,然后替換成國內(nèi)源。
配置過程如下:
#?刪除zypper自帶的源
zypper rr Suse-SLES-Application
#?替換新的源
zypper ar?http://mirrors.aliyun.com/opensuse/distribution/openSUSE-stable/repo/oss/?aliyun-oss
zypper ar?http://mirrors.aliyun.com/opensuse/distribution/openSUSE-stable/repo/non-oss/?aliyun-non-oss
3.2?????????安裝kiwi
配置好zypper后,kiwi的安裝就相對比較簡單了,執(zhí)行如下命令即可。
zypper in kiwi kiwi-doc kiwi-templates kiwi-desc-vmxboot kiwi-desc-usbboot kiwi-desc-isoboot kiwi-desc-xenboot kiwi-desc-oemboot squashfs
4???KIWI使用
Kiwi的使用通常分為兩步,kiwi-prepare和kiwi-create,其中kiwi-prepare步驟創(chuàng)建了一個(gè)目錄,并以該目錄為根路徑(使用chroot工具)安裝了一個(gè)操作系統(tǒng),kiwi-create步驟則將該目錄再次打包為一個(gè)鏡像。
Kiwi在進(jìn)行prepare和create兩個(gè)步驟時(shí)都依賴于一個(gè)核心配置文件——config.xml文件,kiwi自身在/usr/share/kiwi/image下面提供了許多config.xml模板,使用時(shí)可以選擇適合自己的模板適當(dāng)進(jìn)行修改即可。下面將本人使用的config.xml文件列出來,并對其關(guān)鍵部分進(jìn)行講解。
下面對文件中的關(guān)鍵部分進(jìn)行講解。
①?Description記錄了要生成鏡像的描述信息,其中最重要的一個(gè)屬性是type屬性,該屬性有兩個(gè)可選值:system和boot,其中system表示要生成的是一個(gè)可安裝的鏡像,如iso等,而boot則表示要生成的是一個(gè)已安裝的鏡像,如vhd等。
②?preferences記錄了要生成鏡像的主要信息,其中最重要的是type參數(shù)中的image子參數(shù),該參數(shù)決定了生成鏡像的具體類型,可選值包括“l(fā)xc|docker”、“ext2|ext3|ext4|btrfs|squashfs”、“tbz”、“cpio”、“iso”、“oem”、“pxe”、“split”、“vmx”等等。
③?profiles可以認(rèn)為是一個(gè)標(biāo)簽的聲明,可以聲明出多個(gè)標(biāo)簽,該標(biāo)簽在profiles中被聲明后可以使用在packages和drivers參數(shù)中,然后在kiwi --prepare和kiwi –create中通過--add-profile參數(shù)來指定標(biāo)簽,從而使得僅帶有該標(biāo)簽的packages和drivers參數(shù)有效。
④?users標(biāo)簽應(yīng)該是最好理解的標(biāo)簽了,它定義了系統(tǒng)中的初始用戶。需要注意的是其中的密碼默認(rèn)是加密存儲的,需要通過kiwi –createpassword來生成。如果需要進(jìn)行不加密存儲,則需要添加pwdformat="plain"參數(shù)。
⑤?repository參數(shù)指定了制作鏡像時(shí)安裝軟件所使用的源。需要注意的是,這里的源不僅是用于安裝系統(tǒng)中的軟件,同時(shí)也用于安裝系統(tǒng)自身。
⑥?package參數(shù)用于定義包相關(guān)的屬性,通過type不同進(jìn)行區(qū)分:type=bootstrap表示這些package需要在系統(tǒng)的安裝階段進(jìn)行預(yù)安裝,type=image表示這些package需要在系統(tǒng)制作鏡像時(shí)進(jìn)行安裝,type=delete表示這些package需要在系統(tǒng)制作鏡像時(shí)預(yù)先刪除。
config.xml文件編寫好之后,通過kiwi --prepare和kiwi --create即可創(chuàng)建出需要的鏡像,這個(gè)過程比較簡單,在此就不多贅述了。
鏡像服務(wù) XML
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。