第 5 章 Solaris フラッシュ (リファレンス)
この章では、Solaris フラッシュのセクション、キーワード、およびキーワード値について説明します。また、flar コマンドのオプションについても説明します。
Solaris フラッシュアーカイブセクションの説明
各 Solaris フラッシュアーカイブは、セクションにグループ化されます。一部のセクションは、Solaris フラッシュソフトウェアにより生成されるため、ユーザーが入力する必要はありません。一部のセクションは入力が必須であったり、情報追加が可能であったりします。次の表で、各セクションについて説明します。
表 5–1 フラッシュアーカイブのセクション
セクション名
|
説明
|
アーカイブに必要
|
ユーザー入力が必要
|
アーカイブ Cookie
|
最初のセクションには、ファイルを Solaris フラッシュアーカイブとして識別する cookie が含まれます。配置処理では、識別および検証に cookie を使用します。アーカイブを有効にするために、cookie が必要です。
|
必須
|
省略可能
|
アーカイブ識別
|
2 番目のセクションには、アーカイブを識別する情報を値とするキーワードが含まれます。ソフトウェアは、次に示すような情報を生成します。
-
アーカイブの ID 番号
-
アーカイブのメソッド (cpio など)
-
作成日 (デフォルト情報)
Solaris フラッシュアーカイブの名前はユーザーが指定する必要があります。このほかに、アーカイブについて次の情報も指定できます。
-
アーカイブの作者
-
アーカイブの作成日
-
アーカイブを作成したマスターシステムの名前
アーカイブに関するキーワードのリストについては、「アーカイブ識別セクションのキーワード」を参照してください。
|
必須
|
内容は、ユーザーとソフトウェアの両方で生成されます
|
マニフェスト
|
クローンシステムの検証に使用される Solaris フラッシュアーカイブのセクション。マニフェストセクションには、クローンシステムに保持、追加または削除されるシステム上のファイルの一覧が含まれます。インストールされるファイルが、このリストセットと一致しない場合、インストールは失敗します。このセクションは、情報提供専用です。このセクションは、ファイルを内部形式でリストするため、スクリプトの記述には使用できません。
flarcreate -M オプションを使用して差分アーカイブを作成すれば、このセクションを除外することも可能です。ただしアーカイブの検証が行われなくなるため、このセクションを除外することは推奨しません。
|
省略可能
|
省略可能
|
配置前、配置後、再起動
|
このセクションには、OS イメージのインストール前および後にフラッシュソフトウェアが使用する内部情報が含まれます。指定したすべてのカスタマイズスクリプトが、このセクションに保存されます。
|
必須
|
省略可能
|
サマリー
|
このセクションには、アーカイブ作成に関するメッセージが含まれます。また、配置前スクリプトのアクティビティーが記録されます。
|
必須
|
内容は、ユーザーとソフトウェアの両方で生成されます
|
ユーザー定義
|
このセクションは、アーカイブ識別セクションの次に存在します。アーカイブには、ゼロ以上のユーザー定義セクションを含めることができます。これらのセクションは、アーカイブの抽出処理では処理されません。これらのセクションは別個に取り出され、内容の説明に使用されます。
|
省略可能
|
必須
|
アーカイブファイル
|
アーカイブファイルセクションには、マスターシステムから収集されたファイルがバイナリデータで含まれます。このセクションは、section_begin=archive で始まりますが、セクションの終了境界を示すものはありません。
|
必須
|
省略可能
|
Solaris フラッシュのキーワード
Solaris フラッシュのキーワードは、カスタム JumpStart のキーワードと類似しています。どちらのキーワードも、インストール要素を定義します。各キーワードは、Solaris フラッシュソフトウェアによるクローンシステムへのソフトウェアのインストール方法の一部分を制御するコマンドです。
次のガイドラインに従って、キーワードおよび値の書式を指定します。
一般的なキーワード
Solaris フラッシュアーカイブの各セクションは、section_begin と section_end キーワードで定義されます。たとえば、アーカイブファイルセクションには、値の異なる section_begin キーワードが含まれます。ユーザー定義アーカイブセクションは、section_begin と section_end キーワードで区切られ、各キーワードには、そのセクションに適した値が指定されます。section_begin と section_end キーワードの値を次の表に示します。
表 5–2
section_begin と
section_end キーワードの値
アーカイブのセクション
|
section_begin と section_end キーワードの値
|
アーカイブ Cookie
|
cookie - このセクションは、section_begin と section_end キーワードで区切られません。
|
アーカイブ識別
|
identification
|
ユーザー定義セクション
|
section_name。section_name キーワードの一例は、X-user_section_1 です。
|
アーカイブファイル
|
archive
|
アーカイブ識別セクションのキーワード
次の表に、アーカイブ識別セクションで使用されるキーワードと、これらに定義可能な値を示します。
各セクションでは、表 5–3 に示したキーワードがセクションの区切りに使用されます。
表 5–3 アーカイブ識別セクションのキーワード: 一般的なキーワード
キーワード
|
値の定義
|
値
|
必須
|
section_begin
section_end
|
これらのキーワードは、アーカイブ内のセクションの区切りに使用されます。使用は、アーカイブ識別セクションに限定されません。これらのキーワードの詳細は、「一般的なキーワード」を参照してください。
|
テキスト
|
必須
|
次のキーワードは、識別セクションで使用され、アーカイブファイルセクションの内容を説明します。
表 5–4 アーカイブ識別セクションのキーワード: アーカイブファイルセクションの内容
キーワード
|
値の定義
|
値
|
必須
|
archive_id (省略可能)
|
このキーワードは、アーカイブの内容を独自の方法で説明します。この値は、インストールソフトウェアにより、アーカイブインストール時のアーカイブの内容確認にのみ使用されます。キーワードが存在しない場合、整合性チェックは行われません。
たとえば、archive_id キーワードを FlAsH-ARcHive-2.0 に設定できます。
|
テキスト
|
省略可能
|
files_archived_method
|
このキーワードは、ファイルセクションで使用されるアーカイブ方法を記述します。
files_compressed_method が存在する場合、そこで指定された圧縮方法がこの files_archived_method キーワードで指定されたアーカイブ方法で作成されるアーカイブファイルに適用されます。
|
テキスト
|
省略可能
|
files_archived_size
|
このキーワード値は、アーカイブファイルセクションのサイズをバイトで表現した値です。
|
数値
|
省略可能
|
files_compress_method
|
このキーワードは、ファイルセクションで使用される圧縮アルゴリズムを示します。
このキーワードで指定された圧縮方法は、files_archived_method キーワードで指定されたアーカイブ方法で作成されるアーカイブファイルに適用されます。
|
テキスト
|
省略可能
|
files_unarchived_size
|
このキーワードは、抽出されたアーカイブの累積サイズをバイトで定義します。この値は、ファイルシステムのサイズ検証に使用されます。
|
数値
|
省略可能
|
次のキーワードは、アーカイブ全体に関する情報を提供します。通常、これらのキーワードは、アーカイブの選択および管理を支援する目的で使用されます。これらのキーワードはすべてオプションであり、各アーカイブの識別を容易にするために使用されます。これらのキーワードを含めるには、flarcreate コマンドのオプションを使用します。詳細は、例 3–9 を参照してください。
表 5–5 アーカイブ識別セクションのキーワード: ユーザーによるアーカイブの記述
キーワード
|
値の定義
|
値
|
必須
|
creation_date
|
このキーワード値は、アーカイブの作成時刻を表すタイムスタンプのテキストです。
-
flarcreate コマンドに -i オプションを使用して、日付を作成できます。
-
flarcreate コマンドを使用して作成日付を指定しない場合、デフォルトの日付がグリニッジ標準時 (GMT) で設定されます。
-
値は、ISO-8601 に準拠し、時間指示子なしの完全基本カレンダ形式で指定する必要があります (ISO-8601,§5.4.1(a))。書式は、CCYYMMDDhhmmss です。たとえば、20000131221409 は、2000 年 1 月 31 日、22 時 14 分 09 秒を示します。
|
テキスト
|
省略可能
|
creation_master
|
このキーワード値には、アーカイブの作成に使用したマスターシステムの名前を指定します。flarcreate -m オプションを使用して、この値を指定できます。値を指定しない場合、uname -n コマンドから値が取得されます。
|
テキスト
|
省略可能
|
content_name
|
このキーワードにより、アーカイブが識別されます。この値は、flarcreate -n オプションから生成されます。この値を作成する際、次のガイドラインに従ってください。
|
テキスト
|
必須
|
content_type
|
このキーワード値により、アーカイブのカテゴリが指定されます。値の生成には、flarcreate -T オプションを使用します。
|
テキスト
|
省略可能
|
content_description
|
このキーワード値は、アーカイブの内容を示します。このキーワードの値の長さに制限はありません。この値の作成には、flarcreate -E オプションを使用します。
|
テキスト
|
省略可能
|
content_author
|
このキーワード値は、アーカイブの作成者を示します。この値の作成には、flarcreate-a オプションを使用します。作成者のフルネームと電子メールアドレスを含めることをお勧めします。
|
テキスト
|
省略可能
|
content_architectures
|
このキーワード値は、アーカイブがサポートするカーネルアーキテクチャーのリストで、コンマで区切られています。
|
テキストのリスト
|
省略可能
|
次のキーワードも、アーカイブ全体の説明に使われます。デフォルトでは、値は、フラッシュアーカイブの作成時に uname で指定されます。ルートディレクトリが / ではないフラッシュアーカイブを作成すると、アーカイブソフトウェアにより、これらのキーワードに対して文字列 UNKNOWN が挿入されます。例外は、creation_node、creation_release、および creation_os_name キーワードです。
-
creation_node では、ソフトウェアは nodename ファイルの内容を使用します。
-
creation_release および creation_os_name では、ソフトウェアは root ディレクトリの /var/sadm/system/admin/INST_RELEASE の内容を使用しようとします。ソフトウェアがこのファイルの読み込みに失敗した場合、値 UNKNOWN が割り当てられます。
これらのキーワードの値は設定方法に関係なく、上書きできません。
表 5–6 アーカイブ識別セクションのキーワード: ソフトウェアによるアーカイブの記述
キーワード
|
値
|
creation_node
|
uname -n から返される値
|
creation_hardware_class
|
uname -m から返される値
|
creation_platform
|
uname -i から返される値
|
creation_processor
|
uname -p から返される値
|
creation_release
|
uname -r から返される値
|
creation_os_name
|
uname -s から返される値
|
creation_os_version
|
uname -v から返される値
|
ユーザー定義セクションのキーワード
Solaris フラッシュアーカイブで定義されるキーワードに加えて、ほかのキーワードも定義できます。Solaris フラッシュアーカイブはユーザー定義のキーワードを無視しますが、アーカイブ識別セクションを処理してユーザー定義のキーワードを使用するスクリプトやプログラムを、ユーザーが作成することもできます。ユーザー定義キーワードを作成する際、次の書式に従います。
たとえば、X-department はユーザー定義のキーワードとして有効です。
オプションを使用して、アーカイブ識別セクションにユーザー定義キーワードを含める具体例は、例 3–9 を参照してください。
Solaris フラッシュ flar コマンド
Solaris フラッシュ flar コマンドを使用して、Solaris フラッシュアーカイブを作成および管理できます。
flar コマンド
flar コマンドは、次のオプションを指定して使用できます。
-
flarcreate はアーカイブを作成する
-
flar combine は 2 つのアーカイブを結合する
-
flar split はアーカイブをセクションに分割する
-
flar info はアーカイブの構造をチェックする
flarcreate コマンドは、マスターシステムから Solaris フラッシュアーカイブを作成するために使用します。このコマンドは、マスターシステムがマルチユーザーモードまたはシングルユーザーモードで稼働している時に使用できます。また、flarcreate は、マスターシステムが次のメディアからブートしている時にも使用できます。
Solaris フラッシュアーカイブを作成する時は、マスターシステムはできるだけ静的な状態にしておく必要があります。
注 – 次のいずれのコマンドを使用しても、Solaris フラッシュアーカイブを作成できます。
このコマンドの構文は次のとおりです。
flarcreate -n archive_name [- R root] [-A unchanged_master_image_dir ] [-H][-I][-M][[- S]-c][-t [-p posn] [-b blocksize]][- i date][-u section ...][-m master][- f [list_filename| -] [-F][- a author][-e descr |-E descr_file][-L pax] [-T type][-U key=val ...][- x exclude_dir/filename] [-y include_dir/filename] [-z list_filename ] [-X list_filename] path/filename
flar combine [-d dir] [-u section...] [-t [- p posn] path/filename
flar split [-d dir] [-u section...] [-f] [-S section] [-t [- p posn] path/filename
flar info [-l] [-k keyword ] [-t [-p posn] path/filename
上記のコマンド行の path は、アーカイブファイルを保存するディレクトリです。filename は、アーカイブファイルの名前です。パスを指定しない場合、アーカイブファイルは現在のディレクトリに保存されます。
表 5–7
flar コマンドのコマンド行オプション
オプション
|
説明
|
必須オプション
|
-n archive_name
|
このオプションの値は、アーカイブの名前です。指定する archive_name は、content_name キーワードの値になります。
|
圧縮用のオプション
|
-c
|
compress(1) を使用してアーカイブを圧縮します。
|
ディレクトリとサイズを指定するオプション
|
-R root
|
root に指定されたファイルシステムで始まるファイルシステムツリーからアーカイブを作成します。このオプションを指定しない場合、flarcreate はルート (/) ファイルシステムで始まるファイルシステムからアーカイブを作成します。
|
-S
|
アーカイブにサイズ情報を含めません。
|
-H
|
ハッシュ識別子を生成しません。
|
差分アーカイブを作成するオプション
|
-A unchanged_master_image_dir
|
新しいシステムイメージを unchanged_master_image_dir 引数で指定されたイメージと比較して、差分アーカイブを作成します。デフォルトでは、新しいシステムイメージはルート (/) です。-R オプションを使用してデフォルトを変更できます。unchanged_master_image_dir は格納された、または UFS、NFS、または lumount コマンドを使用してマウントされた更新前マスターシステムイメージの格納先ディレクトリです。
次に説明されている内容を選択するオプションを使用して、差分アーカイブに対するファイル選択を変更できます。
|
-M
|
マニフェストファイルを除外します。このオプションを使用すると、差分アーカイブに対する検証は行われません。差分アーカイブの作成時に、flarcreate はシステム内の変更されないファイル、変更されるファイル、アーカイブから削除されるファイルの長いリストを作成します。このリストは、アーカイブのマニフェストセクションに保存されます。差分アーカイブの配置時に、ソフトウェアはこのリストを使用してファイルごとにチェックを行い、クローンシステムの整合性が維持されることを保証します。このオプションを使用すると、このチェックが省略され、差分アーカイブ内のマニフェストセクションが使用するスペースを節約できます。ただし、インストール時に時間とディスク容量が節約できることと、整合性のチェックが実行されない影響とを比較考慮する必要があります。検証が実行されなくなるため、このオプションの使用は推奨しません。
|
内容を選択するオプション
|
注意 –
flarcreate のファイル除外オプションは、注意して使用してください。一部のディレクトリを除外する際、気づかずにシステム構成ファイルなどの他のファイルがアーカイブに残ってしまう場合があります。この場合、システムの整合性が損なわれるため、インストールが失敗してしまいます。ディレクトリやファイルの除外は、大規模なデータファイルなど、システムを破綻させることなく容易に削除可能なデータに対して行うのが最善です。
|
-y include_dir/filename
|
コマンド行で指定されたファイルおよびディレクトリをアーカイブに追加します。ディレクトリは除外するが、個々のサブディレクトリやファイルを含める場合、このオプションを使用します。
include_dir/filename には、含めるサブディレクトリやファイルの名前を指定します。
|
- f list_filename
|
リストからファイルおよびディレクトリをアーカイブに追加します。
list_filename は、リストを含むファイルのフルパスです。-F が指定されていない限り、ファイルの内容がファイルリストに追加されます。
-
list_filename ファイルでは、1 ファイルを 1 行で表す必要があります。
-
-R root を使用してファイルシステムを指定する場合、各ファイルのパスは代替 root ディレクトリからの相対パスにするか、絶対パスにする必要があります。
-
list_filename が「-」の場合、 flarcreate は標準入力からファイルのリストを読み取ります。「-」を指定すると、アーカイブのサイズは計算されません。
|
-F
|
このオプションを指定すると、-f list_filename に示されるファイルだけを使って、アーカイブを作成します。このオプションを使用すると、-f list_filename は、通常ファイルリストへの追加リストではなく、絶対リストになります。
|
-x exclude_dir/filename
|
アーカイブからファイルおよびディレクトリを除外します。除外するファイルは、コマンド行で指定します。このオプションのインスタンスを複数使用して、複数のファイルまたはディレクトリを除外できます。
exclude_dir/filename には、除外するディレクトリやファイルの名前を指定します。
|
-X list_filename
|
アーカイブからリスト内のファイルまたはディレクトリを除外します。
list_filename は、リストを含むファイルのフルパスです。
-
list_filename ファイルでは、1 ファイルを 1 行で表す必要があります。
-
-R root を使用してファイルシステムを指定する場合、各ファイルのパスは代替 root ディレクトリからの相対パスにするか、絶対パスにする必要があります。
-
list_filename が「-」の場合、 flarcreate は標準入力からファイルのリストを読み取ります。「-」を指定すると、アーカイブのサイズは計算されません。
|
-z list_filename
|
アーカイブに対し、リスト内のファイルまたはディレクトリを除外または含めます。リスト内の各ファイルまたはディレクトリには、プラス「+」またはマイナス「-」記号を付けます。プラスはファイルやディレクトリを含めることを、マイナスはファイルやディレクトリを除外することを示します。
list_filename は、リストを含むファイルのフルパスです。
|
-I
|
整合性チェックを無効にします。重要なシステムファイルをアーカイブから除外してしまうことを防ぐために、flarcreate は整合性チェックを実行します。このチェックにより、システムパッケージデータベースに登録されたすべてのファイルが検査され、そのいずれかが除外される場合、アーカイブの作成が停止します。このオプションを指定すると、この整合性チェックが無効になります。このため、-I オプションの使用は推奨しません。
|
アーカイブの分割および結合のオプション
|
-d dir
|
コピーするセクションを、現在のディレクトリからではなく dir から取得します。
|
-u section
|
|
-f archive
|
アーカイブセクションを、archive という名前のファイルに入れるのではなく、archive というディレクトリに抽出します。アーカイブの分割に使用されます。
|
-S section
|
アーカイブから section と名付けられたセクションだけをコピーします。これは、ユーザー定義セクションです。アーカイブの分割に使用されます。
|
ファイルのコピー (アーカイブ) に使用されるオプション
|
-L pax
|
cpio ユーティリティーはデフォルトのコピー方法です。大規模な個別ファイルがある場合、-L pax オプションを指定して pax ユーティリティーを使用すると、個別のファイルのサイズ制限なしでアーカイブを作成できます。個別のファイルのサイズは 4G バイトより大きくできます。
|
ユーザー定義のセクションで使用されるオプション
|
-u section
|
section をユーザー定義のセクションとして含めます。ユーザー定義のセクションを複数含めるには、セクション名を空白で区切ったリストにします。
|
-d dir
|
dir から、-u で指定したセクションファイルを取り出します。
|
テープアーカイブで使用されるオプション
|
-t
|
テープデバイス上にアーカイブを作成します。filename 引数は、テープデバイスの名前です。
|
-p posn
|
-t オプションとの併用でのみ使用できます。flarcreate がアーカイブを格納するための、テープデバイス上の位置を指定します。このオプションを指定しない場合、flarcreate はテープの現在の位置にアーカイブを配置します。
|
-b blocksize
|
flarcreate がアーカイブの作成時に使用するブロックサイズを指定します。ブロックサイズを指定しない場合、flarcreate はデフォルトのブロックサイズ 64K バイトを使用します。
|
アーカイブ識別のためのオプション
次のキーワードおよび値は、アーカイブの識別セクションに記載されます。
|
-U key=val
|
アーカイブ識別セクションに、ユーザー定義のキーワードと値を含めます。
|
-i date
|
date は、creation_date キーワードの値として使用されます。date を指定しない場合、flarcreate は現在のシステム日時を使用します。
|
-m master
|
master は、アーカイブを作成したマスターシステムの名前として使用されます。master は、creation_master キーワードの値です。master を指定しない場合、flarcreate は uname -n で出力されるシステム名を使用します。
|
-e descr
|
descr は、content_description キーワードの値として使用されます。-E オプションを使用する場合はこのオプションを使用できません。
|
-E descr_file
|
descr_file ファイル から content_description キーワードの値を取得します。-e オプションを使用する場合はこのオプションを使用できません。
|
-a author
|
author は、アーカイブ識別セクション内の作成者名として使用されます。author は content_author キーワードの値です。作成者を指定しない場合、flarcreate はアーカイブ識別セクションに content_author キーワードを含めません。
|
-T type
|
type は、content_type キーワードの値として使用されます。type はユーザー定義のキーワードです。タイプを指定しない場合、flarcreate は content_type キーワードを含めません。
|