モデルとインストールの比較と同じく、インストールとインストールの比較でも、ファイルのコンテンツレベルで比較することができます。インストールとインストールの比較では、2 台のホストのファイルとディレクトリを比較します。
参照ホストの要素 (ファイル、ディレクトリなど) のリストは、マスターサーバー上で 1 つにまとめられ、比較ホストのリモートエージェントに送信されたあと処理されます。ファイルの種類に関する規則や、無視するディレクトリまたはファイルに関する規則を定義している場合、マスターサーバーは、リスト内の適切な項目を破棄し、残った項目を比較ホストに送信します。その後、マスターサーバーに比較の結果が返されます。
インストールとインストールの比較は、同じリモートエージェント上の別々のディレクトリで実行できます。この方法で、同じホスト上の 2 つのディレクトリの内容を比較することができます。
インストールとインストールの比較を正しく行うためには、各ホストのリモートエージェントのロケールが同じである必要があります。
インストールとインストールの比較の特徴
あるホスト上のコンポーネントの現在の状態と、別のホスト上のコンポーネントの現在の状態を比較します。
ホストにインストールされているコンポーネントを個別に、またはいくつかまとめて比較することができます。
比較ホストのリモートエージェントで比較処理を行います。
インストール時にコンポーネントのスナップショットが作成されている必要があります。
リモートエージェントは同じロケールを使用する必要があります。
インストールとインストールの比較は、次のような場合に使用します。
2 台のホストのコンポーネントを比較したい場合。
たとえば、ステージングホスト上のソフトウェアと、運用ホスト上のソフトウェアの比較が可能です。
単一ホスト上の 2 つのディレクトリを比較したい場合。
比較対象のコンポーネントのリソースが、パッケージ、データベース、アーカイブ (ZIP ファイルなど) に格納されている場合は、スクリプトを使って、比較の実行前にリソースをエクスポートしたり変換したりすることができます。プロビジョニングソフトウェアで、ファイル内容の解凍やエクスポートなどのネイティブコマンドを実行するには、execNative 手順を使用します。
ネイティブコマンドは、prepare ブロックや cleanup ブロック内で実行できます。これらのブロックは、比較の前後で使用します。これらの使用により、圧縮アーカイブからファイルが抽出され、指定の出力ファイルに出力されます。このファイルは、クリーンアップ時に削除されます。
この execNative は、プランやコンポーネントに含まれる execNative とは異なり、prepare ブロックか cleanup ブロックに含まれていなければなりません。また、変数を利用することはできません。
ブラウザインタフェースを使用してインストールとインストールの比較を行うときは、「Include Temporary Files Generated By Scripts During Comparison」というラベルの付いたチェックボックスをオンにします。このチェックボックスをオンにすると、現在のページが更新され、prepare ブロックと cleanup ブロックの入力フィールドが 1 つずつ表示されます。
適切なチェックボックスをオフにして、比較ホストの prepare ブロックと cleanup ブロックを置き換えることもできます。
execNative については、『Sun N1 Service Provisioning System 5.1 XML スキーマリファレンスガイド』の第 2 章「コンポーネントと単純プランにより使用される共有スキーマ」を参照してください。
この prepare ブロックは、execNative の結果を出力する出力ファイルを指定します。execNative は、/tmp ディレクトリの内容を一覧表示します。
<prepare>
<execNative outputFile="file.txt" dir="temp">
<exec cmd="ls">
<arg value="-l"></arg>
<arg value="/tmp"></arg>
</exec>
</execNative></prepare>
|
この cleanup ブロックは、出力ファイル file.txt を /temp ディレクトリから削除します。
<cleanup>
<execNative dir="/temp/">
<exec cmd="rm">
<arg value="-rf"></arg>
<arg value="file.txt"></arg>
</exec>
</execNative></cleanup>
|
ここでは、ブラウザインタフェースを使用して比較を作成する方法について説明します。次のコマンドでも、比較を作成することができます。
cmp.ds.add – 新しい比較を作成します。
このコマンドの詳細な説明については、『Sun N1 Service Provisioning System 5.1 コマンド行インタフェース(CLI) リファレンスマニュアル』の第 5 章「cmp: 比較を実行する CLI コマンド」を参照してください。
インストールとインストールの比較を正しく行うためには、各ホストのリモートエージェントのロケールが同じである必要があります。
新しい比較を作成するためには、比較の Create、Edit、Delete アクセス許可を持っているユーザーグループに所属する必要があります。
ナビゲーションメニューの「Comparisons」をクリックします。
HTML ユーザーインタフェースに「Comparisons」ページが表示され、データベースにチェックイン済みの比較が一覧表示されます。
作成する比較の名前と説明を入力して、「Create」をクリックします。
比較の「Details」ページが表示されます。
「Style of Comparison」領域の「Install to Install」をクリックします。
比較の詳細レベルを選択します。
ディレクトリとファイルのプロパティ。両方のホストに同じサイズの同じファイルとディレクトリがあることを確認します。
ファイルの内容。両方のホストのファイルの内容を比較します。
比較に使用するコンポーネントに、無視するファイルに関する独自の規則が含まれている場合、これらの規則は、ユーザーがこの比較のために定義した無視の規則に追加して適用されます。
参照ホストの名前と、比較ホストと比較するディレクトリのパスを入力します。
ここでは、比較ホスト上で確認する構成を含む参照ホストを選択します。
入力したディレクトリによって、階層状のファイル構造のどのレベルまで比較するかが決定します。ツリー構造のトップを入力した場合は、ホスト全体が比較されます。
参照ホストの名前と、この参照ホストと比較するディレクトリのパスを入力します。
この比較で使用可能なオプションを選択します。
(省略可能) 選択したディレクトリの下位のすべてのディレクトリに対して比較を行いたい場合は、「Include All Subdirectories In Comparison」を選択します。
(省略可能) シンボリックリンクを解決して、リンク先も有効であることを確認したい場合は、「Follow Symbolic Links Found in Directories」を選択します。
(省略可能) この比較の前またはあとでスクリプトを実行したい場合は、次のアクションを実行します。
「Include Temporary Files Generated by Scripts During Comparison」をクリックします。
ページが更新され、generate スクリプト用と cleanup スクリプト用のフィールドが 1 つずつ表示されます。
適切なフィールドにスクリプトを入力します。
prepare と cleanup のスクリプトの詳細については、「インストールとインストールの比較でのスクリプトの使用」を参照してください。
比較ホストと参照ホストで同じスクリプトを実行しない場合は、該当するオプションを選択解除します。
「Generate」チェックボックスをオフにすると、比較ホスト用の generate スクリプトを入力するフィールドが表示されます。
「Cleanup」チェックボックスをオフにすると、比較ホスト用の cleanup スクリプトを入力するフィールドが表示されます。
この比較の実行時に無視するリソースを指定したい場合は、「比較時に無視するディレクトリやファイルの変更」を参照してください。
(省略可能) 比較時に無視するファイルまたはディレクトリの名前を入力します。
この機能により、ログファイルなどが不要に変更されることがなくなり、比較の失敗を防ぐことができます。
「Limits」領域に、比較の最大実行時間 (単位は時間または分) を指定します。
デフォルトでは、比較の最大実行時間は 4 時間です。
比較の実行時にタイムアウトになった場合、「Comparisons」ページにエラーメッセージが表示されます。
「保存」をクリックします。