ファイルシステムを複製する際、全く同じようにコピーすることも、カスタマイズしてディレクトリやファイルのいくつかを除外することもできます。異なるオプションを使用して、同じ結果を得ることも可能です。使用する環境に最も適したオプションを使用してください。
次の例に示すファイルシステムは、わかりやすくするために大幅に簡略化されています。これらの例では、マスターシステムのファイル構造は、/var、/usr、または /opt などのファイルシステム名の代わりに、次のようなファイル構造を使用します。
/aaa/bbb/ccc/ddd /aaa/bbb/fff /aaa/eee /ggg |
flar create のファイル除外オプションは、注意して使用してください。一部のディレクトリを除外する際、気づかずにシステム構成ファイルなどの他のファイルがアーカイブに残ってしまう場合があります。この場合、システムの整合性が損なわれるため、インストールが失敗してしまいます。ディレクトリやファイルの除外は、大規模なデータファイルなど、システムを破綻させることなく容易に削除可能なデータに対して行うのが最善です。
この例では、アーカイブの名前は archive1 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。アーカイブはマスターシステムの完全な複製で、archive1.flar に格納されます。
# flar create -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 |
この例では、アーカイブの名前は archive4 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。アーカイブはマスターシステムの完全な複製で、archive4.flar に格納されます。-R オプションは、別のディレクトリツリーからアーカイブを作成する場合に使用します。
# flar create -n archive4 -c -R /x/yy/zz archive4.flar |
この例では、アーカイブの名前は archive3 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。オプションで、アーカイブ識別セクションに説明を追加できます。この説明により、後でアーカイブを識別するのが容易になります。キーワード、およびその値と書式については、「Solaris フラッシュのキーワード」を参照してください。
# flar create -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 |
この例では、アーカイブの名前は archive2 です。このアーカイブは、マスターシステムからコピーされますが、完全な複製ではありません。/aaa ディレクトリ以下の内容はアーカイブから除外されますが、/aaa/bbb/ccc の内容はアーカイブに含まれます。
# flar create -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 |
この例では、アーカイブの名前は archive5 です。このアーカイブは、マスターシステムからコピーされますが、完全な複製ではありません。
exclude ファイルには、次のリストが含まれています。
/aaa |
include ファイルには、次のリストが含まれています。
/aaa/bbb/ccc |
/aaa ディレクトリ以下の内容はアーカイブから除外されますが、/aaa/bbb/ccc の内容はアーカイブに含まれます。
# flar create -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 |
オプション -x、-y、-X、および -f は組み合わせて使用できます。この例では、オプション -X および -y が組み合わせて使用されています。アーカイブの名前は、archive5 です。このアーカイブは、マスターシステムからコピーされますが、完全な複製ではありません。
exclude ファイルには、次のリストが含まれています。
/aaa |
-y オプションにより、ディレクトリ /aaa/bbb/ccc がアーカイブに含まれます。次のコマンドにより、アーカイブが生成されます。
# flar create -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 |
この例では、アーカイブの名前は archive3 です。これは、マスターシステムからコピーされますが、同一のコピーではありません。選択するファイルおよびディレクトリが、filter1 ファイルに含まれます。ファイル内では、ディレクトリにプラス記号 (+) またはマイナス (-) 記号が付けられ、アーカイブから除外するかアーカイブに含めるかが示されます。この例では、ディレクトリ /aaa に除外されることを示すマイナス記号が、サブディレクトリ /aaa/bbb/ccc にアーカイブに含めることを示すプラス記号が付けられています。filter1 ファイルには、次のリストが含まれています。
- /aaa + /aaa/bbb/ccc |
次のコマンドにより、アーカイブが生成されます。
# flar create -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 |