名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
/usr/sbin/lucompare [-i infile | -t] [-o outfile] BE_name [-X]
/usr/sbin/lucompare [-C file [-o outfile]] [-X]
lucompare コマンドは、Solaris オペレーティング環境の Live Upgrade 機能を提供するコマンド群の 1 つです。Live Upgrade 機能の説明については、live_upgrade(5) のマニュアルページを参照してください。
lucompare コマンドは、現在のブート環境 (BE) の内容と他の BE の内容を比較します。lucompare に -C オプションを指定すると、ファイルの統計情報が比較されます。これによって、指定した時刻 (BE の作成時刻など) 以降に BE 上のどのファイルが変更されたかを知ることができます。指定する BE は非アクティブで、その状態が complete でなければなりません。BE の状態は、lustatus(1M) コマンドで知ることができます。また BE では、スケジュールされたコピージョブがあってはなりません (これも lustatus(1M) で検査できる)。指定する BE には、lumount(1M) や mount(1M) でマウントされたパーティションがあってはなりません。
lucompare は、指定された BE に定義されているファイルシステムごとに、そのすべてのファイルを、現在の BE にある同じパス名を持つファイルと比較します。アクティブな BE にはあるが、指定した BE にはないファイルと、その逆の場合のファイルが報告されます。比較するファイルのリストを指定するオプションも利用できます。
現在の BE とターゲット BE の完全な比較を行う代わりに -C オプションを指定すると、指定した BE のファイルと、任意のファイルに記録されているファイルリストが比較されます。BE が作成されたときに、lucreate(1M) は /etc/lu/compare の下に :<BE_name> というファイルを作成します。-C オプションを指定すると、指定した BE のファイルと /etc/lu/compare にあるこのスナップショットを比較できます。あるいは、-o オプションですでに作成してあるファイルを比較することもできます。BE と、/etc/lu/compare にあるそれ自身のスナップショットを比較することにより、BE の作成時以降に変更されたファイルを判別できます。
デフォルトでは、lucompare の出力は標準出力に書き込まれます。-C オプションを指定するとき、-o オプションで出力ファイルを指定する必要があります。lucompare の出力には、アクセス権、所有者、グループ、またはチェックサムが異なるファイルのリストと、その相違理由が含まれます。出力形式は次のとおりです。
> active BE < BE_name reason > file_name:owner:group:number_of_links:mode:type: size or major_minor number:checksum < file_name:owner:group:number_of_links:mode:type: size or major_minor number:checksum |
上記の各フィールドは、ファイルの stat(2) 構造体から得られたものです。
type フィールドは次のいずれかです。
シンボリックリンク
FIFO ファイル
文字型特殊ファイル
ブロック型特殊ファイル
ディレクトリ
通常ファイル
未知のファイルタイプ
lucompare は、指定した BE 上のファイルとアクティブな BE 上の対応するファイルが上記のすべてのフィールドで一致する場合にのみ、チェックサムを計算します。そして、チェックサムが一致しない場合、lucompare は比較したそれぞれのファイルのエントリにそのチェックサムを追加します。
lucompare コマンドを実行するには、root 権限が必要です。
lucompare コマンドには、次のオプションを指定できます。
BE のファイル統計情報と、file に記録されている統計情報を比較します。file は、BE の作成時に作成されたスナップショット (/etc/lu/compare/:<BE_name>) か、-o オプションですでに作成されているファイルです。このオプションを使用するときには、-o オプションを指定する必要があります。
infile にリストされているファイルを比較します。これらのファイルは、絶対パス名で指定しなければなりません。ファイル内のエントリがディレクトリの場合には、比較はそのディレクトリにについて再帰的に行なわれます。-t オプションを同時に指定することはできません。
相違点を outfile に出力します。-C オプションを使用する場合は、このオプションも指定する必要があります。
非バイナリファイルだけを比較します。この処理は、ツリー上の各ファイルに対して file(1) コマンドを実行し、テキストファイルだけを比較することによって行なわれます。-i オプションを同時に指定することはできません。
XML 出力を有効にします。XML の特性は DTD (/usr/share/lib/xml/dtd/lu_cli.dtd.<num>) に定義されています。<num> は、各 DTD ファイルのバージョン番号を示します。
アクティブな BE の比較対象となる BE の名前を指定します。他の Live Upgrade 操作に使われている BE や、lumount(1M) または mount(1M) でパーティションがすでにマウントされている BE を指定することはできません。
次のコマンドは、BE s8u5 の作成時と現時点における相違点を一覧表示します。
# lucompare -C /etc/lu/compare/:s8u5 -o /var/tmp/compare.out s8u5 |
/etc/lu/compare/:s8u5 は、BE の作成時に lucreate が作成したファイルです。相違点の一覧は、/var/tmp/compare.out に書き込まれます。
システム上にある BE のリスト
Live Upgrade の DTD (-X オプションを参照)
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWluu |
luactivate(1m), lucancel(1M), lucreate(1M), lucurr(1M), ludelete(1m), ludesc(1M), lufslist(1m), lumake(1M), lumount(1M), lurename(1M), lustatus(1M), luupgrade(1M), lutab(4), attributes(5), live_upgrade(5)
lucompare コマンドが BE 間の相違点を修正することはありません。
名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項