19 部署自訂的預先安裝 #
透過將 SUSE Linux Enterprise Server 的自訂預先安裝部署到許多相同的機器上,可為您免除一個個單獨安裝的麻煩,並為最終使用者提供了標準化安裝。利用 YaST 首次開機功能,可以建立自訂的預先安裝影像,並確定涉及最終使用者互動的最終個人化步驟對應的工作流程 (這與允許採用完全自動化的安裝方式的 AutoYaST 不同)。如需詳細資訊,請參閱《AutoYaST Guide》(AutoYaST 指南) 中的「System registration and extension selection」(系統註冊和延伸選擇) 一章。
建立自定安裝、轉出至您的硬體並個人化最終產品,包括下列步驟:
備妥其磁碟需要複製到用戶端機器的主要機器。若需更多資訊,請參閱第 19.1 節 「準備主要機器」。
自定化第一次開機工作流程。若需更多資訊,請參閱第 19.2 節 「自訂首次開機安裝」。
複製主要機器的磁碟,並將影像轉出到用戶端磁碟。若需更多資訊,請參閱第 19.3 節 「複製主要安裝」。
讓終端使用者個人化 SUSE Linux Enterprise Server 例項。若需更多資訊,請參閱第 19.4 節 「個人化安裝」。
19.1 準備主要機器 #
若要備妥主要機器進行第一次開機工作流程,請遵循下列步驟:
將安裝媒體插入主要機器中。
開機。
執行正常的安裝程序 (包括所有必要的組態步驟),並務必選取安裝
yast2-firstboot
套件。若要為終端使用者定義您自己的 YaST 組態步驟工作流程,或將您自己的 YaST 模組新增到此工作流程,請繼續第 19.2 節 「自訂首次開機安裝」。否則請直接執行步驟 5。
以
root
身分啟用首次開機︰建立空白檔案
/var/lib/YaST2/reconfig_system
以觸發 firstboot 的執行。成功完成首次開機組態設定後,將會刪除此檔案。使用下列指令建立此檔案:touch /var/lib/YaST2/reconfig_system
繼續進行第 19.3 節 「複製主要安裝」。
19.2 自訂首次開機安裝 #
自訂首次開機安裝工作流程可能涉及數個元件。建議對它們進行自訂。若您不希望進行變更,firstboot 會使用預設設定進行安裝。可用的選項如下:
按第 19.2.1 節 「自訂 YaST 訊息」 所述針對使用者自定訊息。
按第 19.2.2 節 「自訂授權動作」 所述自定授權與授權動作。
按第 19.2.3 節 「自訂版本說明」 所述自定要顯示的版本說明。
按第 19.2.4 節 「自訂工作流程」 所述自定安裝所包含的元件數量與順序。
按第 19.2.5 節 「設定附加程序檔」 所述設定其他選用的程序檔。
若要自定這些元件,請修改下列組態檔:
/etc/sysconfig/firstboot
設定 firstboot 的各項設定,如版本說明、程序檔與授權動作。
/etc/YaST2/firstboot.xml
啟用或停用元件,或新增自定元件,設定安裝工作流程。
按第 19.2.6 節 「提供安裝工作流程的翻譯」 所述提供此類自定安裝工作流程的翻譯。
提示:控制檔案的替代位置/etc/YaST2/firstboot.xml
是控制檔案的預設路徑,透過yast2-firstboot
套件安裝。如果您需要為控制檔案定義其他位置,請編輯/etc/sysconfig/firstboot
,並將FIRSTBOOT_CONTROL_FILE
變數變更為您偏好的位置。
如果您要自定的不僅僅是工作流程元件,請參閱 http://doc.opensuse.org/projects/YaST/SLES11/tdg/inst_in_general_chap.html#product_control 處的 control.xml
文件。
19.2.1 自訂 YaST 訊息 #
依預設,SUSE Linux Enterprise Server 的安裝包含數種已當地化並顯示於各安裝過程特定階段的預設訊息。包括歡迎訊息、授權訊息,以及安裝完畢的恭喜訊息。您可以您自己的版本取代任一個訊息,並將當地語系化版本包含於安裝中。若要包含您個人的歡迎訊息,請如下執行:
以
root
身分登入。開啟
/etc/sysconfig/firstboot
組態檔並套用下列變更:將
FIRSTBOOT_WELCOME_DIR
設定為要在其中儲存含有歡迎訊息和當地語系化版本之檔案的目錄路徑,例如:FIRSTBOOT_WELCOME_DIR="/usr/share/firstboot/"
如果歡迎訊息使用的檔案名稱不是
welcome.txt
和welcome_locale.txt
(其中 locale 與 ISO 639 語言代碼相符,例如 「cs」、「de」),請在FIRSTBOOT_WELCOME_PATTERNS
中指定檔案名稱模式。例如:FIRSTBOOT_WELCOME_PATTERNS="mywelcome.txt"
若未設定的話,會假設使用預設值
welcome.txt
。
建立歡迎檔案與當地語系化版本,並將這些檔案放到
/etc/sysconfig/firstboot
組態檔中指定的目錄。
以類似方式設定自定授權與結束訊息。變數為 FIRSTBOOT_LICENSE_DIR
與 FIRSTBOOT_FINISH_FILE
。
如果使用者在執行安裝後需要能夠直接啟動 YaST,請將 SHOW_Y2CC_CHECKBOX
變更為 「yes」。
19.2.2 自訂授權動作 #
您可自定當使用者不接受授權合約時安裝系統的反應。對於此情況,系統可採取以下三種不同的應對方式︰
- halt
firstboot 安裝中止,整個系統關閉。此為預設值。
- continue
firstboot 繼續安裝。
- abort
firstboot 安裝中止,但系統會嘗試開機。
進行選擇,並將 LICENSE_REFUSAL_ACTION
設定為適當值。
19.2.3 自訂版本說明 #
依據您是否變更了要透過首次開機部署的 SUSE Linux Enterprise Server 例項,可能需要讓最終使用者瞭解新作業系統的重要方面。標準安裝使用版本說明 (會在安裝的某個最後階段顯示) 為使用者提供重要訊息。若要在 firstboot 安裝顯示您修改過的版本說明,請如下操作:
建立您自己的版本說明檔案。依照
/usr/share/doc/release-notes
中的範例檔案使用 RTF 格式,並將結果儲存為RELEASE-NOTES.en.rtf
(對於英文)。將可選用當地化版本儲存於原始版本旁,並將檔案名稱的
en
部份取代為實際的 ISO 639 語言代碼,如德文就用de
。從
/etc/sysconfig/firstboot
開啟第一次開機 組態檔,並將FIRSTBOOT_RELEASE_NOTES_PATH
設定為儲存版本說明檔案的實際目錄。
19.2.4 自訂工作流程 #
提供的 /etc/YaST2/firstboot.xml
範例定義了一個標準工作流程,其中包含下列已啟用的元件:
語言選擇
歡迎
授權書
時間和日期
使用者
Root 密碼
完成安裝
請注意,此工作流程是一個範本。您可以手動方式編輯首次開機組態檔案 /etc/YaST2/firstboot.xml
,以適當調整此工作流程。此 XML 檔案為標準 control.xml
檔案的子集,YaST 使用後者來控制安裝工作流程。請參閱範例 19.2 「設定工作流程部分」,以瞭解有關如何設定工作流程部分的詳細資訊。
如需簡要瞭解建議,請參閱範例 19.1 「設定建議螢幕」。綜覽會向您提供足夠的背景,以修改首次開機安裝工作流程。下面的範例介紹了首次開機組態檔案的基本語法 (以及關鍵元素的設定方式)。
… <proposals config:type="list">1 <proposal>2 <name>firstboot_hardware</name>3 <mode>installation</mode>4 <stage>firstboot</stage>5 <label>Hardware Configuration</label>6 <proposal_modules config:type="list">7 <proposal_module>printer</proposal_module>8 </proposal_modules> </proposal> <proposal> … </proposal> </proposals>
應為第一次開機工作流程的所有提議之容器。 | |
個別提議之容器。 | |
提議的內部名稱。 | |
此提議的模式。在此不進行任何變更。對於第一次開機安裝,這裡一定要設為 | |
此提議所呼叫的安裝程序階段。在此不進行任何變更。對於第一次開機安裝,這裡一定要設為 | |
要顯示在提議上的標籤。 | |
身為提議畫面一部分的所有模組之容器。 | |
一或多模組為提議畫面的一部分。 |
下一段的第一次開機組態檔包含工作流程定義。應為第一次開機安裝工作流程一部分的所有模組,都應該列於此。
<workflows config:type="list"> <workflow> <defaults> <enable_back>yes</enable_back> <enable_next>yes</enable_next> <archs>all</archs> </defaults> <stage>firstboot</stage> <label>Configuration</label> <mode>installation</mode> … <!–– list of modules ––> </modules> </workflow> </workflows> …
workflows
區段的整體結構與 proposals
區段非常相似。容器會包含工作流程元素,而工作流程元素均含有階段、標籤與模式資訊,如同範例 19.1 「設定建議螢幕」 介紹的建議部分。最大的差別在於 defaults
區段,其中包含工作流程元件的基本設計資訊:
enable_back
所有對話方塊都包含包含
。enable_next
所有對話方塊都包含
。archs
指定會使用此工作流程的硬體結構。
<modules config:type="list">1 <module>2 <label>Language</label>3 <enabled config:type="boolean">false</enabled>4 <name>firstboot_language</name>5 </module> <modules>
若要變更第一次開機安裝過程中的提議畫面數量與順序,請如下操作:
開啟位於
/etc/YaST2/firstboot.xml
的第一次開機組態檔。刪除或新增提議畫面,或變更現有畫面的順序:
若要刪除整個提議,請從
proposals
區段移除proposal
元素 (包括其所有子元素),並從工作流程中個別移除module
元素 (與子元素)。若要新增提議,請建立新的
proposal
元素,並填妥所有必填的子元素。確認建議以 YaST 模組形式存在於/usr/share/YaST2/clients
中。若要變更提議順序,請在工作流程中移動包含提議畫面的個別
module
元件。請注意,有些步驟可能相依於其他安裝步驟,需要建議和工作流程元件依特定的順序排列。
套用您的變更並關閉組態檔。
如果預設設定不符合您的需求,您隨時都可變更組態步驟的工作流程。在工作流程中啟用或停用特定模組,或新增您自定的模組。
若要切換第一次開機工作流程中的模組狀態,請如下操作:
開啟
/etc/YaST2/firstboot.xml
組態檔。將
enabled
元件的值從true
變更至false
,以停用模組,或從false
變更為true
,以再次啟用。<module> <label>Time and Date</label> <enabled config:type="boolean">true</enabled> <name>firstboot_timezone</name> </module>
套用您的變更並關閉組態檔。
若要將自定模組新增到工作流程,請如下操作:
建立您自己的 YaST 模組,並將模組檔案
module_name.rb
儲存在/usr/share/YaST2/clients
中。開啟
/etc/YaST2/firstboot.xml
組態檔。決定新模組在工作流程中的執行時機。這樣做時,請確定您已考慮並解決工作流程中對其他步驟的所有相依關係。
在
modules
容器中建立新的module
元素,並新增適當的子元素:<modules config:type="list"> … <module> <label>my_module</label> <enabled config:type="boolean">true</enabled> <name>filename_my_module</name> </module> </modules>
在
label
元素中輸入您的模組要顯示的標籤。確認
enabled
已設為true
,讓您的模組包含於工作流程中。在
name
元素中輸入您模組的檔案名稱。省略完整路徑和.rb
字尾。
套用您的設定並關閉組態檔。
如果目標硬體可以有多個網路介面,請將 network-autoconfig
套件新增至應用程式影像。network-autoconfig
會逐個嘗試所有可用的乙太網路介面,直至透過 DHCP 成功設定某個介面。
19.2.5 設定附加程序檔 #
首次開機可設定為在首次開機工作流程完成後執行其他程序檔。若要將其他程序檔新增至第一次開機序列,請如下操作:
開啟
/etc/sysconfig/firstboot
組態檔,並確認SCRIPT_DIR
指定的路徑正確。預設值為/usr/share/firstboot/scripts
。建立您的外圍程序檔、儲存於指定目錄中,並套用適當的檔案許可權。
19.2.6 提供安裝工作流程的翻譯 #
有些終端使用者可能需要提供自定工作流程的翻譯。如果您依第 19.2.4 節 「自訂工作流程」所述,透過變更 /etc/YaST2/firstboot.xml
檔案自訂了工作流程,則可能需要提供這些翻譯。
如果您變更過 /etc/YaST2/firstboot.xml
並引入了字串變更,則需要產生新的翻譯範本檔案 (.pot
檔案),然後使用 gettext
工具鏈翻譯該檔案,最後將翻譯好的檔案做為已編譯的 .mo
檔案安裝到 YaST 地區設定目錄 (/usr/share/YaST2/locale
) 中。請執行下列步驟:
例如,將
textdomain
設定從<textdomain>firstboot</textdomain>
變更為:
<textdomain>firstboot-oem</textdomain>
使用
xgettext
將可翻譯的字串擷取到翻譯範本檔案 (即.pot
檔案) 中,例如擷取到firstboot-oem.pot
檔案中︰xgettext -L Glade -o firstboot-oem.pot /etc/YaST2/firstboot.xml
開始翻譯程序。然後封裝翻譯好的檔案 (
.LL_code.po
檔案),方法與封裝其他專案翻譯的方法相同,之後再安裝firstboot-oem.mo
編譯檔案。
如果您需要其他模組或變更的 YaST 模組的翻譯,請在這類模組自身內提供翻譯。如果您變更了現有模組,請務必也變更該模組的 text-domain 陳述式,以免出現意外的不良後果。
如需關於 YaST 開發的詳細資訊,請參閱 https://en.opensuse.org/openSUSE:YaST_development。如需關於 YaST 首次開機的詳細資訊,請造訪 http://doc.opensuse.org/projects/YaST/SLES11/tdg/bk09ch01s02.html。
19.3 複製主要安裝 #
使用任意一種可用的影像複製機制複製主要機器的磁碟,並將這些影像轉出到目標機器。如需複製影像的詳細資訊,請參閱https://doc.suse.com/kiwi/。
19.4 個人化安裝 #
將複製的磁碟影像開機後,首次開機功能會啟動,並且安裝程序會完全依第 19.2.4 節 「自訂工作流程」中的佈置繼續。僅會啟動包含於第一次開機工作流程組態中的元件。而略過其他所有安裝步驟。使用者可調整語言、鍵盤、網路與密碼設定,以個人化工做站。此程序完成之後,所安裝的系統第一次開機時的行為與其他 SUSE Linux Enterprise Server 例項完全相同。