Solaris 10 10/09 インストールガイド (Solaris フラッシュアーカイブの作成とインストール)

第 3 章 Solaris フラッシュアーカイブの作成 (作業)

この章では、Solaris フラッシュアーカイブを作成する手順を説明します。手順には、マスターシステムにインストールし、その後そのマスターシステムから Solaris フラッシュアーカイブを作成する方法が含まれます。クローンシステムにアーカイブをインストール済みの場合、差分アーカイブを作成することも可能です。差分アーカイブの作成時に、 更新前のマスターイメージと更新されたイメージの 2 つが比較されます。差分アーカイブでは、2 つのイメージの相違部分のみがインストールされます。さらに、アーカイブの再構成またはカスタマイズを実行するスクリプトの作成手順も示します。

Solaris フラッシュアーカイブの作成時またはインストール時の制限については、表 2–1 を参照してください。

作業マップ : フラッシュアーカイブを作成する

表 3–1 作業マップ: 初期インストールで使用する Solaris フラッシュアーカイブを作成する

作業 

説明 

参照先 

マスターシステムに選択したソフトウェア構成をインストールします 

ニーズに合った構成を決定し、Solaris の任意のインストール方法を使用してマスターシステムにインストールします。 

「初期インストールでマスターシステムにインストールする方法」

(省略可能) カスタマイズスクリプトを作成します 

次の作業を行うスクリプトの作成が必要かどうかを判断します。 

  • アーカイブをカスタマイズまたは再構成する

  • クローンシステム上のローカルな変更を保護する

「カスタムスクリプトの作成」

Solaris フラッシュアーカイブを作成します 

flarcreate コマンドを使用してアーカイブを作成します。

「初期インストール用 Solaris フラッシュアーカイブの作成方法」

(省略可能) アーカイブのコピーを保存します 

将来、比較に使用するためにアーカイブのコピーを保存します。差分アーカイブを使用して、クローンシステムの更新が可能になります。 

「初期インストール用 Solaris フラッシュアーカイブの作成方法」

表 3–2 作業マップ: クローンシステムを更新する Solaris フラッシュアーカイブを作成する

作業 

説明 

参照先 

マスターイメージの準備を行います 

パッケージを追加または削除したり、パッチをインストールして、更新前のマスターイメージに変更を加えます。 

「マスターシステムへのインストール」

(省略可能) カスタマイズスクリプトを作成します 

次の作業を行うスクリプトの作成が必要かどうかを判断します。 

  • アーカイブをカスタマイズまたは再構成する

  • クローンシステム上のローカルな変更を保護する

「カスタムスクリプトの作成」

Solaris フラッシュ差分アーカイブを作成します 

  1. 更新前のマスターイメージをマウントします。

  2. flarcreate コマンドを使用して 2 つのイメージを比較し、差分アーカイブを作成します。

「更新されたマスターイメージを使用して Solaris フラッシュ差分アーカイブを作成する方法」

マスターシステムへのインストール

マスターシステムには、ほかのシステムに持たせたいソフトウェア構成をインストールします。クローンシステムに、初期インストールによりシステム上のすべてのファイルを上書きすることも、2 つのイメージの相違部分のみを更新することも可能です。初期インストールでは、任意の Solaris インストール方法を使用してマスターシステムに Solaris OS をインストールします。

アーカイブをクローンシステムにインストール済みの場合、差分アーカイブを使用してシステムの変更部分を更新できます。元のイメージへの変更は、パッチのインストールやパッケージの追加および削除により実行されます。差分アーカイブでは、アーカイブ内で指定されたファイルだけが上書きされます。元のマスターイメージを更新して、差分アーカイブを作成する手順については、「更新されたマスターイメージを使用して Solaris フラッシュ差分アーカイブを作成する方法」を参照してください。

Procedure初期インストールでマスターシステムにインストールする方法

  1. インストールするシステム構成を決定します。

  2. Solaris インストールプログラムを使用して、マスターシステムに Solaris OS をインストールします。さまざまなインストールプログラムについては、『Solaris 10 10/09 インストールガイド(インストールとアップグレードの計画)』「Solaris インストール方法の選択」を参照してください。

  3. マスターシステムを次のいずれかの方法でカスタマイズします。

    • ソフトウェアを削除する。

    • ソフトウェアを追加する。

    • 構成ファイルを変更します。

    • クローンシステム上にある周辺装置のサポートを追加します。

    カスタムスクリプトを作成するか、flarcreate コマンドを使用してアーカイブを作成できます。

カスタムスクリプトの作成

スクリプトによってアーカイブをカスタマイズできます。カスタムスクリプトは、次の目的で使用します。

スクリプト作成のガイドラインについては、「カスタムスクリプト作成のガイドライン」を参照してください。

Procedure作成前スクリプトの作成方法

このスクリプトは、アーカイブの作成時に実行されます。このスクリプトには、さまざまな使用法があります。

  1. 作成前スクリプトを作成します。「カスタムスクリプト作成のガイドライン」に記されているガイドラインに従います。

  2. スクリプトを /etc/flash/precreation ディレクトリに保存します。


例 3–1 作成前スクリプトからの抜粋

次の例は、作成前スクリプトからの抜粋です。



例 3–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 フラッシュアーカイブは、ユーザー定義セクションを処理しません。たとえば、このセクションには、アーカイブの説明や、アプリケーションの整合性をチェックするスクリプトなどを含めることができます。

ユーザー定義セクションでは、次の書式を使用する必要があります。

Procedure配置前スクリプトの作成方法

このスクリプトは、アーカイブのインストール前に実行されます。スクリプトの目的がアーカイブの妥当性検査である場合、このスクリプトはアーカイブ内に保持されます。スクリプトの目的がクローンシステムのローカル構成を保存することである場合、このスクリプトはクローンシステム上に保持されます。このスクリプトは、将来のカスタマイズに必要なローカルデータの分析および収集も実行可能です。たとえば、クライアント固有の情報を、抽出されるファイルで上書きされる前に保存できます。この情報は、抽出後の最終段階で使用できます。

  1. 配置前スクリプトを作成します。「カスタムスクリプト作成のガイドライン」に記されているガイドラインに従います。

  2. スクリプトを次のディレクトリのいずれかに保存します。

    • アーカイブの妥当性検査を実行するには、/etc/flash/predeployment ディレクトリに保存します。

    • 作成前スクリプトを参照する場合、$FLASH_DIR/preinstall ディレクトリに保存します。

    • クローンシステム上の構成を保持する場合、JumpStart プロファイル内の local_customization キーワードに、クローンシステムに保存されているスクリプトへのパスを指定します。


例 3–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

Procedure配置後スクリプトの作成方法

このスクリプトは、アーカイブ内またはクローンシステムのローカルディレクトリに格納され、インストール後に実行されます。スクリプトにより、クローンシステム上で新規システムイメージが再構成されます。スクリプトがアーカイブ内に格納されている場合、変更はすべてのクローンシステムに影響を及ぼします。スクリプトがクローンシステムのローカルディレクトリに格納されている場合、変更はそのクローンシステムにのみ影響します。たとえば、配置前スクリプトにより保存されたクライアント固有の情報をクローン環境に適用して、インストールを完了できます。

配置後スクリプトを使用して、アーカイブのインストール後にファイルを整理することも可能です。たとえば、/var/adm 内のログファイルなどを削除できます。


注 –

すべてのログファイルが、クリーンアップ用のスクリプトを必要とするわけではありません。/var/tmp 内のログファイルはアーカイブの作成時に自動的に削除されます。


  1. 配置後スクリプトを作成します。「カスタムスクリプト作成のガイドライン」に記されているガイドラインに従います。

  2. スクリプトを次のディレクトリのいずれかに保存します。

    • すべてのクローンシステムを操作するには、スクリプトを /etc/flash/postdeployment ディレクトリに保存します。

    • ローカルのクローンシステムのみを操作する場合は、JumpStart プロファイル内の local_customization キーワードに、クローンシステムに保存されているスクリプトへのパスを指定します。


例 3–4 配置後スクリプト

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

Procedure再起動スクリプトの作成方法

このスクリプトはアーカイブ内に格納され、システムの再起動後に実行されます。このスクリプトにより、システムの再構成後の最終構成がすべて実行されます。

クローンシステムに Solaris フラッシュアーカイブをインストールしたあと、ホスト固有のファイルがいくつか削除され、クローンマシン用として作成し直されます。インストールプログラムは、sys-unconfig(1M) コマンドと sysidtool(1M) プログラムを使用して、ホスト固有のネットワーク構成ファイルを削除して再作成します。再作成されるファイルは、/etc/hosts/etc/defaultrouter/etc/defaultdomain などです。再起動スクリプトを使用することで、任意の最終的な再構成処理を実行できます。

  1. 再起動スクリプトを作成します。

  2. スクリプトを /etc/flash/reboot ディレクトリに保存します。


例 3–5 再起動スクリプトの作成

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

Solaris フラッシュアーカイブの作成

クローンシステムのファイルすべてを上書きする初期インストール用アーカイブを作成することも、指定された変更部分のみを上書きする差分アーカイブを作成することもできます。差分アーカイブの概要については、「更新用 Solaris フラッシュ差分アーカイブの作成を計画する」を参照してください。


注意 – 注意 –

非大域ゾーンがインストールされていると、Solaris フラッシュアーカイブは正常に作成できません。Solaris フラッシュ機能には Solaris ゾーン区分技術との互換性はありません。Solaris フラッシュアーカイブを作成する場合、そのアーカイブの配備条件が次のいずれかの場合は、作成されたアーカイブは正しくインストールされません。


Procedure初期インストール用 Solaris フラッシュアーカイブの作成方法

マスターシステムにインストールした後で、他のシステムへのインストールに使用する Solaris フラッシュアーカイブを作成します。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. マスターシステムをブートし、できるだけ静的な状態で稼働させます。

    可能であれば、システムをシングルユーザーモードで実行してください。これが不可能な場合、アーカイブするアプリケーションおよび大量のオペレーティングシステムリソースを必要とするアプリケーションを停止します。

    Solaris フラッシュアーカイブの作成は、マルチユーザーモードまたはシングルユーザーモードで稼動しているマスターシステム上で、あるいは次に示すメディアの 1 つからブートさせたシステム上で行うことができます。

    • Solaris Operating System DVD。

    • Solaris SOFTWARE - 1 CD。

    • Solaris SOFTWARE のイメージ。CD メディアを使用している場合、イメージには必要に応じて Solaris LANGUAGES CD が含まれます。

  3. flarcreate コマンドを使用して、アーカイブを作成します。


    # flarcreate -n name options path/filename
    
    name

    アーカイブに指定する名前です。指定する name は、content_name キーワードの値になります。

    options

    オプションの詳細は、flar コマンド」 を参照してください。

    path

    アーカイブファイルを保存するディレクトリへのパス。パスを指定しない場合、アーカイブファイルは現在のディレクトリに保存されます。

    filename

    アーカイブファイルの名前です。

    • アーカイブの作成が正常に完了すると、flarcreate コマンドは終了コード 0 を返します。

    • アーカイブの作成が失敗すると、flarcreate コマンドは 0 以外の終了コードを返します。

  4. アーカイブのコピーを作成して保存します。将来、クローンシステムを差分アーカイブで更新するときに、このコピーを使用できます。

Solaris フラッシュアーカイブの作成 (例)

ファイルシステムを複製する際、全く同じようにコピーすることも、カスタマイズしてディレクトリやファイルのいくつかを除外することもできます。異なるオプションを使用して、同じ結果を得ることも可能です。使用する環境に最も適したオプションを使用してください。

次の例に示すファイルシステムは、わかりやすくするために大幅に簡略化されています。これらの例では、マスターシステムのファイル構造は、/var/usr、または /opt などのファイルシステム名の代わりに、次のようなファイル構造を使用します。


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

注意 – 注意 –

flarcreate のファイル除外オプションは、注意して使用してください。一部のディレクトリを除外する際、気づかずにシステム構成ファイルなどの他のファイルがアーカイブに残ってしまう場合があります。この場合、システムの整合性が損なわれるため、インストールが失敗してしまいます。ディレクトリやファイルの除外は、大規模なデータファイルなど、システムを破綻させることなく容易に削除可能なデータに対して行うのが最善です。


Solaris フラッシュアーカイブの作成 (さまざまな例)


例 3–6 完全な複製アーカイブの作成

この例では、アーカイブの名前は archive1 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。アーカイブはマスターシステムの完全な複製で、archive1.flar に格納されます。


# flarcreate -n archive1 -c archive1.flar

アーカイブのファイル構造を確認するには、次のように入力します。


# flar info -l archive1.flarlost+found
export
export/home
export/home/lost+found
var
var/sadm
var/sadm/install
var/sadm/install/admin
var/sadm/install/admin/default
var/sadm/install/logs
var/sadm/install/contents
var/sadm/install/.lockfile
var/sadm/install/.pkg.lock
var/sadm/pkg
var/sadm/pkg/SUNWocfd
var/sadm/pkg/SUNWocfd/install
var/sadm/pkg/SUNWocfd/install/copyright
var/sadm/pkg/SUNWocfd/save
var/sadm/pkg/SUNWocfd/save/pspool
var/sadm/pkg/SUNWocfd/save/pspool/SUNWocfd
.....
.....
    usr/bin/sparcv7
usr/bin/sparcv7/savecore
usr/bin/sparcv7/gcore
....
....
usr/lib/diff3prog
usr/lib/madv.so.1
usr/lib/mpss.so.1
usr/lib/cpu
usr/lib/cpu/sparcv8plus
....
....
devices/pseudo/udp6@0:udp6
devices/pseudo/udp@0:udp
devices/pseudo/tcp@0:tcp
devices/pseudo/iwscn@0:iwscn
devices/pseudo/wc@0:wscons
devices/pseudo/tcp6@0:tcp6
devices/pseudo/sctp6@0:sctp6
var/fm/fmd/ckpt
var/fm/fmd/rsrc
kernel/drv/st.conf
kernel/drv/st.conf
kernel/drv/st.conf
kernel/drv/st.conf
#


例 3–7 大規模なファイルを含むアーカイブの作成

この例では、個別ファイルのいくつかは 4G バイトを超えています。デフォルトのアーカイブユーティリティー cpio は、これらの大規模なファイルを処理できません。-L pax によるコピー方法は、大規模な個別ファイルを含むアーカイブを作成する際に使用します。アーカイブの名前は archive1 になります。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。アーカイブはマスターシステムの完全な複製で、archive1.flar に格納されます。


# flarcreate -L pax -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


例 3–8 代替 root (/) ファイルシステムからアーカイブを作成する

この例では、アーカイブの名前は archive4 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。アーカイブはマスターシステムの完全な複製で、archive4.flar に格納されます。-R オプションは、別のディレクトリツリーからアーカイブを作成する場合に使用します。


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


例 3–9 アーカイブを作成して、アーカイブについて記述するキーワードを追加する

この例では、アーカイブの名前は archive3 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。オプションで、アーカイブ識別セクションに説明を追加できます。この説明により、後でアーカイブを識別するのが容易になります。キーワード、およびその値と書式については、「Solaris フラッシュのキーワード」を参照してください。


# flarcreate -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
     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

Solaris フラッシュアーカイブの作成とファイルのカスタマイズ (例)


例 3–10 アーカイブから除外するファイルとディレクトリおよびアーカイブに含めるファイルとディレクトリを指定してアーカイブを作成する

この例では、アーカイブの名前は archive2 です。このアーカイブは、マスターシステムからコピーされますが、完全な複製ではありません。/aaa ディレクトリ以下の内容はアーカイブから除外されますが、/aaa/bbb/ccc の内容はアーカイブに含まれます。


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

アーカイブのファイル構造を確認するには、次のように入力します。除外されたディレクトリ (/aaa) であっても、コピーされたファイル (/aaa/bbb/ccc) が下位に存在する場合、そのディレクトリも表示されていますが、実際にアーカイブに含まれているのはコピーされたファイル ( /aaa/bbb/ccc) だけです。


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


例 3–11 アーカイブから除外するファイルとディレクトリおよびアーカイブに含めるファイルとディレクトリをリストで指定してアーカイブを作成する

この例では、アーカイブの名前は archive5 です。このアーカイブは、マスターシステムからコピーされますが、完全な複製ではありません。

exclude ファイルには、次のリストが含まれています。


/aaa

include ファイルには、次のリストが含まれています。


/aaa/bbb/ccc

/aaa ディレクトリ以下の内容はアーカイブから除外されますが、/aaa/bbb/ccc の内容はアーカイブに含まれます。


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

アーカイブのファイル構造を確認するには、次のように入力します。除外されたディレクトリ (/aaa) であっても、コピーされたファイル (/aaa/bbb/ccc) が下位に存在する場合、そのディレクトリも表示されていますが、実際にアーカイブに含まれているのはコピーされたファイル ( /aaa/bbb/ccc) だけです。


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


例 3–12 アーカイブから除外するファイルとディレクトリをリストで指定し、アーカイブに含めるディレクトリを直接指定してアーカイブを作成する

オプション -x-y-X、および -f は組み合わせて使用できます。この例では、オプション -X および -y が組み合わせて使用されています。アーカイブの名前は archive5 です。このアーカイブは、マスターシステムからコピーされますが、完全な複製ではありません。

exclude ファイルには、次のリストが含まれています。


/aaa

-y オプションにより、ディレクトリ /aaa/bbb/ccc がアーカイブに含まれます。次のコマンドにより、アーカイブが生成されます。


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

アーカイブのファイル構造を確認するには、次のように入力します。除外されたディレクトリ (/aaa) であっても、コピーされたファイル (/aaa/bbb/ccc) が下位に存在する場合、そのディレクトリも表示されていますが、実際にアーカイブに含まれているのはコピーされたファイル ( /aaa/bbb/ccc) だけです。


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


例 3–13 -z オプションを使用し、除外するファイルとディレクトリおよび含めるファイルとディレクトリをリストで指定して、アーカイブを作成する

この例では、アーカイブの名前は archive3 です。これは、マスターシステムからコピーされますが、同一のコピーではありません。選択するファイルおよびディレクトリが、filter1 ファイルに含まれます。ファイル内では、ディレクトリにプラス記号 (+) またはマイナス (-) 記号が付けられ、アーカイブから除外するかアーカイブに含めるかが示されます。この例では、ディレクトリ /aaa に除外されることを示すマイナス記号が、サブディレクトリ /aaa/bbb/ccc にアーカイブに含めることを示すプラス記号が付けられています。filter1 ファイルには、次のリストが含まれています。


- /aaa
+ /aaa/bbb/ccc

次のコマンドにより、アーカイブが生成されます。


# flarcreate -n archive3 -z filter1 archive3.flar 

アーカイブのファイル構造を確認するには、次のコマンドを入力します。除外されたディレクトリ (/aaa) であっても、コピーされたファイル (/aaa/bbb/ccc) が下位に存在する場合、そのディレクトリも表示されていますが、実際にアーカイブに含まれているのはコピーされたファイル ( /aaa/bbb/ccc) だけです。


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

Procedure更新されたマスターイメージを使用して Solaris フラッシュ差分アーカイブを作成する方法

差分アーカイブを作成するには、比較する対象として、 更新前のマスターイメージと更新されたマスターイメージの 2 つが必要です。1 つ目のイメージは、変更が加えられていないマスターイメージです。このイメージはどこかに保存されていてアクセスできる必要があります。2 つ目のイメージは、マイナーチェンジにより変更が加えられたマスターイメージです。このイメージのデフォルトの格納場所はルート (/) ファイルシステムですが、他の場所に格納された場合でもアクセスが可能です。2 つのイメージが用意できたら、2 つのイメージの差分だけを含む差分アーカイブを作成します。次に、更新前のマスターイメージを使用してインストールされたクローンシステムに差分アーカイブをインストールできます。

  1. マスターシステムで変更の準備を行います。変更を加える前に、マスターシステムで元のアーカイブの複製を作成する必要があります。


    注 –

    更新前のマスターイメージのコピーが変更されないよう保護し、後でこのイメージをマウントできるようにしておく必要があります。


  2. 次のいずれかの操作を行い、更新前のマスターイメージを更新します。

    • パッケージを削除します。

    • パッケージまたはパッチを追加します。

    • 構成ファイルを変更します。

    • クローンシステム上にある周辺装置のサポートを追加します。

  3. (省略可能) カスタムスクリプトを作成します。「カスタムスクリプトの作成」を参照してください。

  4. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  5. 更新前のマスターイメージを、マウントポイントで参照できるようにします。

    • 更新前のマスターイメージが非アクティブのブート環境に格納されている場合は、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 コマンドを使用してコピーを取得します。これらのコマンドの使用方法については、『Solaris のシステム管理 (デバイスとファイルシステム)』の第 27 章「UFS バックアップおよび復元コマンド (参照情報)」を参照してください。

  6. 差分アーカイブを作成します。


    # flarcreate -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 コマンド」を参照してください。

    options

    オプションの詳細は、flar コマンド」 を参照してください。

    path

    アーカイブファイルを保存するディレクトリへのパスを指定します。パスを指定しない場合、アーカイブファイルは現在のディレクトリに保存されます。

    filename

    アーカイブファイル名を指定します。

    • 差分アーカイブの作成が正常に完了すると、flarcreate コマンドは終了コード 0 を返します。

    • 差分アーカイブの作成が失敗すると、flarcreate コマンドは 0 以外の終了コードを返します。

    アーカイブのインストール手順については、『Solaris 10 10/09 インストールガイド (カスタムJumpStart/ 上級編)』「カスタム JumpStart インストールを使用して Solaris フラッシュアーカイブをインストールする方法」を参照してください。


例 3–14 マスターシステム上の新規マスターイメージを使用して差分アーカイブを作成する

次の例では、更新前のマスターイメージのディレクトリの名前は unchanged_master1 です。変更を含む新しいマスターイメージは、ルート (/) ディレクトリにおかれているものとします。新しいマスターイメージが更新前のマスターイメージと比較され、その後、生成された差分アーカイブが圧縮されます。差分アーカイブは、diffarchive1.flar ファイルに格納されます。アーカイブには、インストール時に削除、変更、または追加されるファイルが含まれます。


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


例 3–15 非アクティブブート環境に格納されたイメージを使用して差分アーカイブを作成する

次の例では、更新前のマスターイメージ unchanged_master1 が非アクティブブート環境に格納されており、ブート環境をマウントすることによりアクセス可能になります。新しいマスターイメージは、ルート (/) ディレクトリにおかれているものとします。新しいマスターイメージが更新前のマスターイメージと比較され、その後、生成された差分アーカイブが圧縮されます。アーカイブは、diffarchive4.flar 内に格納されます。アーカイブには、インストール時に削除、変更、または追加されるファイルが含まれます。


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

ProcedureSolaris Live Upgrade を使用して Solaris フラッシュ差分アーカイブを作成する方法

システムの更新を管理するには、Solaris Live Upgrade を使用して OS のコピーを作成し、新しいブート環境を作成します。このコピーを、マイナーチェンジが加えられたマスターシステムと比較できます。こうして作成された Solaris フラッシュ差分アーカイブを、クローンシステムにインストールできます。

Solaris Live Upgrade の概要については、『Solaris 10 10/09 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』の第 2 章「Solaris Live Upgrade (概要)」を参照してください。

  1. lucreate コマンドを実行して、変更されていないマスターシステムから新しいブート環境を作成します。

    この新しいブート環境はマスターシステムの正確なコピーであり、差分アーカイブの作成に使用できます。

  2. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  3. 2 つのブート環境の状態をチェックします。


    # lustatus copy_BE
    
    boot environment   Is        Active  Active     Can	    Copy
    Name               Complete  Now	 OnReboot   Delete	 Status
    ------------------------------------------------------------------------
    master_BE          yes       yes     yes        no       -     
    copy_BE            yes       no      no         yes      -  
  4. 次のいずれかの操作を行い、マスターイメージを更新します。

    • パッケージを削除します。

    • パッケージまたはパッチを追加します。

    • 構成ファイルを変更します。

    • クローンシステム上にある周辺装置のサポートを追加します。

  5. (省略可能) カスタムスクリプトを作成します。「カスタムスクリプトの作成」を参照してください。

  6. 差分アーカイブを作成します。

    1. 新しく作成されたブート環境をマウントします。


      # lumount BE_name /a
      
    2. マスターシステムとブート環境を比較して、差分アーカイブを作成します。


       # flarcreate -n archive_name -A new_BE_dir\  options path/filename
      
      archive_name

      アーカイブに付ける名前を指定します。

      -A new_BE_dir

      新しいシステムイメージと new BE_dir 引数で指定されたイメージを比較して、差分アーカイブを作成します。

      options

      オプションの一覧は、flar コマンド」を参照してください。

      path

      アーカイブファイルを保存するディレクトリへのパスを指定します。パスを指定しない場合、アーカイブファイルは現在のディレクトリに保存されます。

      filename

      アーカイブファイル名を指定します。

    3. 新しいブート環境をマウント解除します。


      # luumount copy_BE
      

    flarcreate コマンドは終了コードを返します。

    • 作成に成功した場合、返される終了コードは 0 です。

    • 障害が発生した場合、返される終了コードは 0 以外です。

  7. JumpStart プロファイルを使用して Solaris フラッシュ差分アーカイブをインストールします。

    インストールするクローンシステムが元のマスターシステムの複製でない場合、インストールに失敗します。

    次のプロファイル例では、デバイス c1t1d0s0 に差分アーカイブ test.diff がインストールされます。


    JumpStart profile
    -----------------------
    install_type  flash_update
    archive_location http server /rw/test.diff
    root_device c1t1d0s0

例 3–16 Solaris Live Upgrade による差分アーカイブの作成

この例では、現在のブート環境の名前は master_BE です。新しいブート環境の名前は copy_BE です。ルート (/) ファイルシステムと /usr ファイルシステムは、それぞれ s0s3 に配置されています。lustatus コマンドにより、新しいブート環境のコピーが完了したことが報告されます。マスターシステムに SUNWman パッケージを追加します。SUNWman パッケージの追加によってマスターシステムが更新されたあと、flarcreate コマンドにより、変更されたマスターと変更されていない新しいブート環境の比較が行われ、差分アーカイブが作成されます。


# lucreate -c master_BE  -m /:/dev/dsk/c0t1d0s0:ufs \
-m /usr:/dev/dsk/c0t1d0s3:ufs -n copy_BE
# lustatus
# pkgadd SUNWman
# lumount copy_BE /a
# flarcreate -n test.diff -c -A /a /net/server/export/test.diff
# luumount copy_BE

クローンシステムに差分アーカイブをインストールします。アーカイブのインストール手順については、『Solaris 10 10/09 インストールガイド (カスタムJumpStart/ 上級編)』「カスタム JumpStart インストールを使用して Solaris フラッシュアーカイブをインストールする方法」を参照してください。

次の図は、lucreate コマンドで新しいブート環境が作成される様子を示しています。

この図については本文中で説明しています。