差分アーカイブを作成するには、更新前のマスターイメージと更新されたマスターイメージの 2 つが必要です。1 つのイメージは、変更が加えられていないマスターイメージです。このイメージはどこかに保存されていてアクセスできる必要があります。2 番目のイメージは、マイナーチェンジにより変更が加えられたマスターイメージです。このイメージのデフォルトの格納場所はルート (/) ファイルシステムですが、他の場所に格納された場合でもアクセスが可能です。2 つのイメージが用意できたら、2 つのイメージの差分だけを含む差分アーカイブを作成します。次に、更新前のマスターイメージを使用してインストールされたクローンシステムに差分アーカイブをインストールできます。
変更を加えるマスターシステムを用意します。変更を加える前に、マスターシステムで元のアーカイブの複製を作成する必要があります。
更新前のマスターイメージのコピーが変更されないよう保護し、後でこのイメージをマウントできるようにしておく必要があります。
次のいずれかの変更に合わせて、更新前のマスターイメージを更新します。
パッケージを削除する
パッケージまたはパッチを追加する
構成ファイルを変更する
クローンシステム上にある周辺装置のサポートを追加する
(省略可能) カスタムスクリプトを作成します。カスタムスクリプトの作成を参照してください。
更新前のマスターイメージを、マウントポイントで参照できるようにします。
更新前のマスターイメージが非アクティブのブート環境に格納されている場合は、lumount コマンドを使用して参照可能にします。
# lumount BE_name mountpoint |
BE_name |
更新前のマスターイメージが格納されているブート環境の名前を指定します。 |
mountpoint |
イメージの格納されたルート (/) ファイルシステムを指定します。 |
次の例では、非アクティブのブート環境の名前は unchanged_master1 です。マウントポイントは、マスターシステム上の /a ディレクトリです。
# lumount unchanged_master1 /a |
イメージがクローンに格納されている場合、NFS を使用してクローンをマウントします。
マスターシステム上で、クローンのルート (/) ファイルシステムを共有し、クローンシステム上でマスタールートのアクセス権を付与します。
# share -F nfs -o rw,root=master_system "/" |
master_system は、マスターシステムの名前です。
マスターシステム上で、クローンをマウントします。
# mount -F nfs clone_system:/ master_dir |
clone_system |
マウントするシステムの名前を指定します。 |
master_dir |
更新前のマスターイメージが格納されているディレクトリを指定します。 |
ufsdump コマンドを使用してイメージを保存した場合、ufsrestore コマンドを使用してコピーを取得します。これらのコマンドの使用方法については、『Solaris のシステム管理 (基本編)』の「UFS バックアップおよび復元コマンド (参照情報)」を参照してください。
差分アーカイブを作成します。
# 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 コマンドは 0 以外の終了コードを返します。
次の例では、更新前のマスターイメージのディレクトリの名前は unchanged_master1 です。変更を含む新しいマスターイメージは、ルート (/) ディレクトリにおかれているものとします。新しいマスターイメージが更新前のマスターイメージと比較され、その後、生成された差分アーカイブが圧縮されます。差分アーカイブは、diffarchive1.flar ファイルに格納されます。アーカイブには、インストール時に削除、変更、または追加されるファイルが含まれます。
# flar create -n diffarchive1 -A /a/unchanged_master1 -c diffarchive1.flar |
次の例では、更新前のマスターイメージ unchanged_master1 が非アクティブブート環境に格納されており、ブート環境をマウントすることによりアクセス可能になります。新しいマスターイメージは、ルート (/) ディレクトリにおかれているものとします。新しいマスターイメージが更新前のマスターイメージと比較され、その後、生成された差分アーカイブが圧縮されます。アーカイブは、diffarchive4.flar 内に格納されます。アーカイブには、インストール時に削除、変更、または追加されるファイルが含まれます。
# lumount unchanged_master1 /a # flar create -n diffarchive4 -A /a -c diffarchive4.flar |