Solaris 9 12/03 安裝指南

第 18章 建立 Solaris Flash 歸檔檔案 (工作)

本章介紹了建立 Solaris Flash 歸檔檔案的程序,其中包括安裝主系統,然後從該主系統建立 Solaris Flash 歸檔檔案。如果先前已在複製系統上安裝了歸檔檔案,則還可建立差動歸檔檔案。建立差動歸檔檔案後,系統會比對兩個影像:未變更的主影像和已更新的影像。差動歸檔檔案僅安裝兩個影像之間的差異部分。另外,本章還介紹建立程序檔的程序,以重新配置或自訂歸檔檔案。

工作表:建立 Solaris Flash 歸檔檔案

表 18–1 工作表:建立 Solaris Flash 歸檔檔案以進行初始安裝

工作 

描述 

相關章節 

在主系統上安裝您選擇的軟體配置 

確定滿足您需要的配置,並使用任何一種 Solaris 安裝方式來安裝主系統。 

以初始安裝方式來安裝主系統

(可選) 建立自訂程序檔 

確定您是否需要建立程序檔,以執行下列動作: 

  • 自訂或重新配置歸檔檔案

  • 保護複製系統上的本機變更

建立自訂程序檔

建立 Solaris Flash 歸檔檔案 

使用 flar create 指令來建立歸檔檔案。

建立 Solaris Flash 歸檔檔案以進行初始安裝

(可選) 儲存歸檔檔案的副本 

保留歸檔檔案的副本以備日後比對,以使用差動歸檔檔案來更新複製系統。 

建立 Solaris Flash 歸檔檔案以進行初始安裝

表 18–2 工作表:建立 Solaris Flash 歸檔檔案以更新複製系統

工作 

描述 

相關章節 

準備主影像 

變更未變更的主影像,例如加入或刪除套裝軟體,或安裝修補程式。 

安裝主系統

(可選) 建立自訂程序檔 

確定您是否需要建立程序檔,以執行下列動作: 

  • 自訂或重新配置歸檔檔案

  • 保護複製系統上的本機變更

建立自訂程序檔

建立 Solaris Flash 差動歸檔檔案 

  1. 裝載未變更的主影像。

  2. 使用 flar create 指令來比對兩個影像,並建立差動歸檔檔案。

更新主影像並建立差動歸檔檔案

安裝主系統

可以使用您要其他系統具有的軟體配置來安裝主系統。您可以藉由初始安裝來安裝複製系統,這樣會覆寫系統上的所有檔案;也可以藉由更新來安裝複製系統,更新中僅包含兩個影像之間的差異部分。對於初始安裝,可使用任何一種 Solaris 安裝方式,在主系統上安裝 Solaris 作業環境。

如果先前已在複製系統上安裝了歸檔檔案,您可以使用差動歸檔檔案,利用變更來更新系統。這些是針對原始影像的變更,例如安裝修補程式,或者加入或移除套裝軟體。差動歸檔檔案僅覆寫歸檔檔案中指定的檔案。如需更新原始主影像和建立差動歸檔檔案的程序,請參閱更新主影像並建立差動歸檔檔案

以初始安裝方式來安裝主系統

  1. 識別您要安裝的系統配置。

  2. 使用 Solaris 安裝方式,在主系統上安裝 Solaris 作業環境。如需有關不同安裝方式的討論,請參閱第 3章, 選擇 Solaris 安裝方法 (概述)

  3. 以下列任何一種方法來自訂您的 Solaris 安裝:

    • 刪除軟體。

    • 加入軟體。

    • 修改配置檔。

    • 為複製系統的週邊裝置加入支援。

    您可以建立自訂程序檔,或使用 flar create 指令來建立歸檔檔案。

建立自訂程序檔

程序檔可自訂歸檔檔案。這些程序檔可用於下列目的:

如需有關建立程序檔的準則,請參閱建立自訂程序檔的準則

建立預先建立程序檔

此程序檔在歸檔檔案建立期間執行,具有多種用途。

  1. 建立預先建立程序檔。遵循建立自訂程序檔的準則中所述的準則。

  2. 將程序檔儲存在 /etc/flash/precreation 目錄中。


範例 18–1 預先建立程序檔摘錄

下列範例摘錄自預先建立程序檔。



範例 18–2 預先建立程序檔

#!/bin/sh
echo "Test precreation script started">> $FLASH_DIR/summary
cat /opt/TestApp/critical_file_list | flcheck -
if [ $? != 0 ]; then
	echo "Test precreation script failure">> $FLASH_DIR/summary
	exit 1
fi
echo "Test precreation script started">> $FLASH_DIR/summary
/opt/TestApplication/license_cloning
	$FLASH_DIR/predeployment/.TestApplicationLicenceTransfer \
	$FLASH_DIR/custom_sections/TestApplicationLicenceCounter
echo "Test precreation script finished">> $FLASH_DIR/summary
exit 0

使用預先建立程序檔來建立使用者定義的歸檔檔案區段

預先建立程序檔可在歸檔檔案中建立使用者定義的區段,以提供特定的應用程式資訊。此區段會用於維護歸檔檔案。必須將此程序檔置於 $FLASH_DIR/sections 目錄中。Solaris Flash 歸檔檔案不處理使用者定義的區段。例如,區段中可包含對該歸檔檔案的描述,也可包含檢查應用程式完整性的程序檔。

使用者定義的區段應使用以下格式:

建立預先部署程序檔

此程序檔在安裝歸檔檔案之前執行。如果此程序檔是用來驗證歸檔檔案的,則會保留在該歸檔檔案中。如果此程序檔是用來在複製系統上保留本機配置的,則會保留在複製系統中。此程序檔還可以分析和收集必要的本機資料,以備日後自訂。例如,在由即將要擷取的檔案覆寫之前,系統可以先儲存特定於用戶端的資訊。此資訊可在擷取後於最終階段使用。

  1. 建立預先部署程序檔。遵循建立自訂程序檔的準則中所述的準則。

  2. 將程序檔儲存在下列其中一個目錄中。

    • 如果要驗證歸檔檔案,請儲存在 /etc/flash/predeployment 目錄中。

    • 如果要參考預先建立程序檔,請儲存在 $FLASH_DIR/preinstall 目錄中。

    • 如果要在複製系統上保留配置,則應提供儲存於複製系統上的程序檔之路徑,以及 JumpStart 設定檔中的 local_customization 關鍵字 。


範例 18–3 預先部署程序檔

#!/bin/sh
$FLASH_DIR/TestApplication/check_hardware
if [ $? != 0 ]; then
	echo Unsupported hardware
	exit 1
fi
$FLASH_DIR/TestApplication/check_licence_key
if [ $? != 0 ]; then
	echo No license for this host
	exit 1
fi
$FLASH_DIR/TestApplication/deploy_license_key \
	$FLASH_DIR/TestApplication/.TestApplicationLicenceTransfer
$FLASH_DIR/TestApplication/save_data_files $FLASH_DIR/flash

exit 0

建立部署後程序檔

此程序檔保留在歸檔檔案中,或儲存在複製系統上的本機目錄中,並且會在安裝後執行。此程序檔可在複製系統上重新配置新的系統影像。如果該程序檔儲存在歸檔檔案中,則變更會影響所有的複製系統。如果該程序檔儲存在複製系統上的本機目錄中,則變更僅影響該複製系統。例如,可以將預先部署程序檔所儲存的特定於用戶端的資訊套用至複製環境,以完成安裝。

部署後程序檔也可用於在安裝歸檔檔案後清除檔案,例如,清除 /var/adm 中的日誌檔。


註解 –

並非所有的日誌檔都需要使用程序檔來清除。/var/tmp 中的日誌檔可在建立歸檔檔案時排除。


  1. 建立部署後程序檔。遵循建立自訂程序檔的準則中所述的準則。

  2. 將該程序檔儲存在下列其中一個目錄中:

    • 若要影響所有的複製系統,請儲存在 /etc/flash/postdeployment 目錄中。

    • 若要僅影響本機複製系統,則應提供儲存於複製系統上的程序檔的路徑,以及 JumpStart 設定檔中的 local_customization 關鍵字 。


範例 18–4 部署後程序檔

#!/bin/sh
$FLASH_DIR/TestApplication/clone_reconfiguration
$FLASH_DIR/TestApplication/restore_data $FLASH_DIR/flash

建立重新啟動程序檔

此程序檔保留在歸檔檔案中,並在系統重新啟動後執行。此程序檔會在系統重新配置後,進行所有最終配置。

在複製系統上安裝 Solaris Flash 歸檔檔案後,系統會為複製機器刪除某些特定於主機的檔案,然後重新建立這些檔案。安裝程式使用 sys-unconfig(1M) 指令和 sysidtool(1M) 程式來刪除並重新建立特定於主機的網路配置檔。重新建立的檔案包括 /etc/hosts/etc/defaultrouter 以及 /etc/defaultdomain 等。您可以使用重新啟動程序檔進行任何最終重新配置。

  1. 建立重新啟動程序檔。

  2. 將該程序檔儲存在 /etc/flash/reboot 目錄中。


範例 18–5 建立重新啟動程序檔

#!/bin/sh 
$FLASH_DIR/TestApplication/finalize_license

建立 Solaris Flash 歸檔檔案

您可以藉由初始安裝建立歸檔檔案,這樣會覆寫複製系統上所有的檔案;也可以建立差動歸檔檔案,這樣僅覆寫指定的變更。如需差動歸檔檔案的概述,請參閱規劃建立 Solaris Flash 差動歸檔檔案以進行更新

建立 Solaris Flash 歸檔檔案以進行初始安裝

安裝主系統之後,建立一個 Solaris Flash 歸檔檔案,以用於安裝其他系統。

  1. 啟動主系統,並儘量以停用狀態來執行。

    如果可能,請以單一使用者模式來執行該系統;否則,請關閉您要歸檔的所有應用程式以及需要耗用大量作業系統資源的所有應用程式。

    當主系統在多使用者模式或單一使用者模式下執行,或以下列其中一種方式啟動時,您可以建立 Solaris Flash 歸檔檔案:

    • Solaris DVD。

    • Solaris Software 1 of 2 CD。

    • Solaris Software 的影像。如果您使用 CD 媒體,此影像可以在需要時包含 Solaris Languages CD。

  2. 若要建立歸檔檔案,請使用 flar create 指令。


    # flar create -n name options path/filename
    
    name

    您為該歸檔檔案指定的名稱。您指定的 name 就是關鍵字 content_name 的值。

    options

    如需各選項的描述,請參閱flar create

    path

    您要儲存歸檔檔案的目錄之路徑。如果不指定路徑,flar create 會將歸檔檔案儲存在目前的目錄中。

    filename

    歸檔檔案的名稱。

    • 如果歸檔檔案建立成功,flar create 指令會傳回退出碼 0。

    • 如果歸檔檔案建立失敗,flar create 指令會傳回一個非零的退出碼。

  3. 建立歸檔檔案的副本並儲存它。日後可使用此副本,藉由差動歸檔檔案來更新複製系統。

範例 — 建立歸檔檔案以進行初始安裝

可以完整複製檔案系統,也可以透過排除某些目錄或檔案來自訂檔案系統。您可以使用其他選項來取得相同的結果。請使用最適合您環境的選項。

為便於說明,下列範例中的檔案系統已經過了大幅簡化。這些範例中的主系統檔案結構不使用諸如 /var/usr/opt 之類的檔案系統名稱,而是使用以下結構


/aaa/bbb/ccc/ddd
/aaa/bbb/fff
/aaa/eee
/ggg

小心 – 小心 –

使用 flar create 檔案排除選項時應注意,在排除某些目錄時,可能會有未察覺的其他目錄留在歸檔檔案中,例如系統配置檔。由此,系統可能會不一致,而且無法執行安裝。如果目錄或檔案的資料 (例如大型資料檔) 易於移除,且不會破壞系統,則最適合使用排除功能。



範例 18–6 建立精確複製的歸檔檔案

在此範例中,歸檔檔案名為 archive1。此歸檔檔案自主系統精確複製而成,並經過壓縮。此歸檔檔案是主系統的精確複製,會儲存到 archive1.flar 中。


# flar create -n archive1 -c archive1.flar

若要檢查歸檔檔案的檔案結構,請鍵入下列內容。


# flar info -l archive1.flar
aaa
aaa/bbb
aaa/bbb/ccc
aaa/bbb/ccc/ddd
aaa/bbb/fff
aaa/eee
aaa/eee
ggg


範例 18–7 建立歸檔檔案並排除或包含檔案與目錄

在此範例中,歸檔檔案名為 archive2。此歸檔檔案自主系統複製而成,但並非精確副本。/aaa 目錄下的內容被排除在外,但 /aaa/bbb/ccc 中的內容會保留下來。


# flar create -n archive2 -x /aaa -y /aaa/bbb/ccc  archive2.flar

若要檢查歸檔檔案的檔案結構,請鍵入下列內容。螢幕上顯示包含複製檔案的被排除的目錄,但是僅有回復的檔案包含資料。


# flar info -l aaa
aaa
aaa/bbb/ccc
aaa/bbb/ccc/ddd
aaa/bbb
ggg


範例 18–8 使用清單來建立用於排除和包含檔案與目錄的歸檔檔案

在此範例中,歸檔檔案名為 archive5。此歸檔檔案自主系統複製而成,但並非精確副本。

exclude 檔案包含下列清單:


/aaa

include 檔案包含下列清單:


/aaa/bbb/ccc

/aaa 目錄下的內容被排除在外,但 /aaa/bbb/ccc 中的內容會保留下來。


# flar create -n archive5 -X exclude -f include  archive5.flar

若要檢查歸檔檔案的檔案結構,請鍵入下列內容。螢幕上顯示包含複製檔案的被排除的目錄,但是僅有回復的檔案包含資料。


# flar info -l archive5.flar
aaa
aaa/bbb/ccc
aaa/bbb/ccc/ddd
aaa/bbb
ggg


範例 18–9 透過使用清單並回復目錄來建立用於排除檔案與目錄的歸檔檔案

您可以結合選項 -x-y-X-f。此範例結合使用選項 -X-y。此歸檔檔案名為 archive5。此歸檔檔案自主系統複製而成,但並非精確副本。

exclude 檔案包含下列清單:


/aaa

-y 選項可回復 /aaa/bbb/ccc 目錄。以下指令可產生此歸檔檔案。


# flar create -n archive5 -X exclude -y /aaa/bbb/ccc  archive5.flar

若要檢查歸檔檔案的檔案結構,請鍵入下列內容。螢幕上顯示包含複製檔案的被排除的目錄,但是僅有回復的檔案包含資料。


# flar info -l archive5.flar
aaa
aaa/bbb
aaa/bbb/ccc
aaa/bbb/ccc/ddd
ggg


範例 18–10 使用清單和 -z 選項來建立用於排除和包含檔案與目錄的歸檔檔案

在此範例中,歸檔檔案名為 archive3。此歸檔檔案自主系統複製而成,但並非精確副本。要選取的檔案與目錄包含在 filter1 檔案中。在此檔案中,目錄均標示有減號 (-) 或加號 (+),以指示要排除及要回復的檔案。在此範例中,目錄 /aaa 標示有減號,將會排除;子目錄 /aaa/bbb/ccc 標示有加號,將會回復。filter1 檔案包含下列清單。


- /aaa
+ /aaa/bbb/ccc

以下指令可產生此歸檔檔案。


# flar create -n archive3 -z filter1 archive3.flar 

若要檢查歸檔檔案的檔案結構,請鍵入下列內容。螢幕上顯示包含複製檔案的被排除的目錄,但是僅有回復的檔案包含資料。


# flar info -l archive3.flar
aaa
aaa/bbb
aaa/bbb/ccc
aaa/bbb/ccc/ddd
ggg


範例 18–11 自替代啟動環境建立歸檔檔案

在此範例中,歸檔檔案名為 archive4。此歸檔檔案自主系統精確複製而成,並經過壓縮。此歸檔檔案是主系統的精確複製,儲存在 archive4.flar 中。-R 選項用於從其他目錄樹建立該歸檔檔案。


# flar create -n archive4 -c -R /x/yy/zz archive4.flar


範例 18–12 建立歸檔檔案並加入關鍵字以描述該歸檔檔案

在此範例中,歸檔檔案名為 archive3。此歸檔檔案自主系統精確複製而成,並經過壓縮。選項可將描述加入該歸檔檔案識別區段中,以協助您日後識別該歸檔檔案。如需有關關鍵字、關鍵字的值以及格式的資訊,請參閱Solaris Flash 關鍵字


# flar create -n archive3 -i 20000131221409 -m pumbaa \
-e "Solaris 8 Print Server" -a "Mighty Matt" -U "Internal Finance" \
-T server archive3.flar 

建立歸檔檔案後,您可以存取包含詳細描述的識別區段。以下為識別區段的範例。


section_begin=identification
     files_archived_method=cpio
     files_compressed_method=compress
     files_archived_size=259323342
     files_unarchived_size=591238111
     creation_date=20000131221409
     creation_master=pumbaa
     content_name=Finance Print Server
     content_type=server
     content_description=Solaris 8 Print Server
     content_author=Mighty Matt
     content_architectures=sun4u,sun4m
     creation_node=pumbaa
     creation_hardware_class=sun4u
     creation_platform=SUNW,Sun-Fire
     creation_processor=sparc
     creation_release=5.9
     creation_os_name=SunOS
     creation_os_version=s81_49
     x-department=Internal Finance

更新主影像並建立差動歸檔檔案

建立差動歸檔檔案之前,需要比對兩個影像:未變更的主影像和已更新的主影像。其中一個為未變更的主影像,它一直保持不變,該影像已儲存且需要存取。另一個影像為未變更的主影像,但以少量的變更更新過。根 (/) 檔案系統是新影像的預設位置,但是如果此影像已儲存在其他位置,您可以存取此影像。擁有這兩個影像後,您可以建立差動歸檔檔案,其中僅包含兩個影像之間的差異部分。然後,可以將差動歸檔檔案安裝在先前透過未變更的主影像安裝的複製系統上。

  1. 準備要對主系統進行變更。進行變更之前,應在主系統上複製原始歸檔檔案。


    註解 –

    必須妥善保管未變更的主影像之副本,避免變更,以備日後裝載時使用。


  2. 以下列變更來更新未變更的主影像:

    • 刪除套裝軟體。

    • 加入套裝軟體或修補程式。

    • 修改配置檔。

    • 為複製系統的週邊裝置加入支援。

  3. (可選) 建立自訂程序檔。請參閱建立自訂程序檔

  4. 在裝載點發送未變更的主影像。

    • 如果未變更的主影像儲存在非作用中的啟動環境內,可使用 lumount 指令來擷取。


      # lumount BE_name mountpoint
      
      BE_name

      指定儲存未變更的主影像的啟動環境名稱。

      mountpoint

      指定儲存影像的根 (/) 檔案系統

      在以下範例中,非作用中的啟動環境名為 unchanged_master1,裝載點是主系統上的目錄 /a


      # lumount  unchanged_master1 /a
      
    • 如果該影像儲存在複製系統上,可使用 NFS 來裝載複製系統。

      1. 在主系統上,共用複製系統的根 (/) 檔案系統,並指定在複製系統上的主根檔案系統許可權。


        # share -F nfs -o rw,root=master_system "/"
        

        master_system 是主系統的名稱。

      2. 在主系統上,裝載該複製系統。


        # mount -F nfs clone_system:/ master_dir
        
        clone_system

        指定要裝載的系統之名稱

        master_dir

        指定儲存未變更的主影像的目錄

    • 如果該影像是透過 ufsdump 指令儲存的,可使用 ufsrestore 指令來擷取副本。如需有關如何使用這些指令的資訊,請參閱System Administration Guide: Basic Administration」中的「UFS Backup and Restore Commands (Reference)」

  5. 建立差動歸檔檔案。


    # flar create -n archive_name -A unchanged_master_image_dir\
     options path/filename
    
    archive_name

    指定歸檔檔案的名稱。您指定的 archive_name 是關鍵字 content_name 的值,該名稱列在歸檔檔案識別區段中。

    -A unchanged_master_image_dir

    透過比對新的系統影像和 unchanged_master_image_dir 引數所指定的影像,來建立差動歸檔檔案。依預設,新的系統影像為根 (/)。您可以使用 -R 選項來變更預設值。unchanged_master_image_dir 是儲存未變更的系統影像的目錄,或是透過 UFS、NFS 或 lumount 裝載未變更的系統影像的目錄。

    您可以使用這些選項選取內容,以包含或排除一些檔案。如需選項清單,請參閱flar create

    options

    如需選項的描述,請參閱flar create

    path

    指定您要儲存該歸檔檔案的目錄之路徑。如果不指定路徑,flar create 會將歸檔檔案儲存在目前的目錄中。

    filename

    指定該歸檔檔案的名稱。

    • 如果差動歸檔檔案建立成功,flar create 指令會傳回退出碼 0。

    • 如果差動歸檔檔案建立失敗,flar create 指令會傳回非零的退出碼。

    如需有關安裝歸檔檔案的程序,請參閱安裝 Solaris Flash 歸檔檔案的程序參照

範例 — 建立差動歸檔檔案


範例 18–13 使用主系統上的新主影像來建立差動歸檔檔案

在此範例中,未變更的主影像之目錄名為 unchanged_master1,包含變更的新主影像是根 (/) 目錄。新的主影像會與未變更的主影像進行比對,所產生的差動歸檔檔案會經過壓縮。差動歸檔檔案儲存在 diffarchive1.flar 檔案中。此歸檔檔案中包含安裝時將要刪除、變更或加入的檔案。


# flar create -n diffarchive1 -A /a/unchanged_master1 -c diffarchive1.flar


範例 18–14 使用儲存在非作用中的啟動環境內的影像來建立差動歸檔檔案

在此範例中,未變更的主影像 unchanged_master1 儲存在非作用中的啟動環境內,並可透過裝載啟動環境來存取。新的主影像是根 (/) 目錄。新的主影像會與未變更的主影像進行比對,所產生的差動歸檔檔案會經過壓縮。歸檔檔案儲存在 diffarchive4.flar 中。此歸檔檔案中包含安裝時將要刪除、變更或加入的檔案。


# lumount unchanged_master1 /a
# flar create -n diffarchive4 -A /a -c  diffarchive4.flar