JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 10 1/13 インストールガイド: フラッシュアーカイブ (作成とインストール)     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  フラッシュアーカイブの概要

2.  フラッシュアーカイブの計画

3.  フラッシュアーカイブの作成 (タスク)

フラッシュアーカイブを作成する (タスクマップ)

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

カスタマイズスクリプトの作成

作成前スクリプトを作成する

作成前スクリプトを使用してユーザー定義アーカイブセクションを作成する

配置後スクリプトを作成する

リブートスクリプトを作成する

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

初期インストール用フラッシュアーカイブを作成する方法

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

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

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

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

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

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

4.  フラッシュアーカイブのインストールと管理 (タスク)

5.  障害回復イメージの作成と使用

6.  フラッシュアーカイブ (リファレンス)

用語集

索引

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

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


注意

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

  • アーカイブが非大域ゾーンに作成された場合

  • アーカイブが、非大域ゾーンがインストールされている大域ゾーンに作成された場合


初期インストール用フラッシュアーカイブを作成する方法

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

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

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

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

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

    フラッシュアーカイブの作成は、マルチユーザーモードまたはシングルユーザーモードで稼働しているマスターシステム上で、あるいは次のいずれかからブートしたシステム上で行うことができます。

    • Oracle Solaris Operating System DVD。


      注 - Oracle Solaris 10 9/10 リリース以降では、DVD のみが提供されます。Oracle Solaris SOFTWARE CD は提供されません。


    • Oracle Solaris SOFTWARE - 1 CD。

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

  3. flarcreate コマンドを使用して、アーカイブを作成します。
    # flarcreate -n name options path/filename
    name

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

    options

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

    path

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

    filename

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

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

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

  4. アーカイブのコピーを作成して保存します。

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

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

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

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

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

注意

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


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

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

# 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

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

例 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

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

差分アーカイブを作成する前に、比較する対象として、更新前のマスターイメージと更新されたマスターイメージの 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 コマンドを使用してコピーを取得します。これらのコマンドの使用方法については、『Oracle Solaris の管理: デバイスとファイルシステム』の第 23 章「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 以外の終了コードを返します。

    アーカイブのインストール手順については、『Oracle Solaris 10 1/13 インストールガイド: JumpStart インストール』の「JumpStart インストールを使用してフラッシュアーカイブをインストールする」を参照してください。

例 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

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

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

Live Upgrade の詳細は、『Oracle Solaris 10 1/13 インストールガイド: Live Upgrade とアップグレードの計画』の第 2 章「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 BE-copy

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

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

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

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

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

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

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

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

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

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

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