ファイルシステムを複製する際、全く同じようにコピーすることも、カスタマイズしてディレクトリやファイルのいくつかを除外することもできます。異なるオプションを使用して、同じ結果を得ることも可能です。使用する環境に最も適したオプションを使用してください。
次の例に示すファイルシステムは、わかりやすくするために大幅に簡略化されています。これらの例では、マスターシステムのファイル構造は、/var、/usr、または /opt などのファイルシステム名の代わりに、次のようなファイル構造を使用します。
/aaa/bbb/ccc/ddd /aaa/bbb/fff /aaa/eee /ggg |
flarcreate のファイル除外オプションは、注意して使用してください。一部のディレクトリを除外する際、気づかずにシステム構成ファイルなどの他のファイルがアーカイブに残ってしまう場合があります。この場合、システムの整合性が損なわれるため、インストールが失敗してしまいます。ディレクトリやファイルの除外は、大規模なデータファイルなど、システムを破綻させることなく容易に削除可能なデータに対して行うのが最善です。
この例では、アーカイブの名前は archive1 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。アーカイブはマスターシステムの完全な複製で、archive1.flar に格納されます。
# flarcreate -n archive1 -c archive1.flar |
アーカイブのファイル構造を確認するには、次のように入力します。
# flar info -l archive1.flarlost+found
export
export/home
export/home/lost+found
var
var/sadm
var/sadm/install
var/sadm/install/admin
var/sadm/install/admin/default
var/sadm/install/logs
var/sadm/install/contents
var/sadm/install/.lockfile
var/sadm/install/.pkg.lock
var/sadm/pkg
var/sadm/pkg/SUNWocfd
var/sadm/pkg/SUNWocfd/install
var/sadm/pkg/SUNWocfd/install/copyright
var/sadm/pkg/SUNWocfd/save
var/sadm/pkg/SUNWocfd/save/pspool
var/sadm/pkg/SUNWocfd/save/pspool/SUNWocfd
.....
.....
usr/bin/sparcv7
usr/bin/sparcv7/savecore
usr/bin/sparcv7/gcore
....
....
usr/lib/diff3prog
usr/lib/madv.so.1
usr/lib/mpss.so.1
usr/lib/cpu
usr/lib/cpu/sparcv8plus
....
....
devices/pseudo/udp6@0:udp6
devices/pseudo/udp@0:udp
devices/pseudo/tcp@0:tcp
devices/pseudo/iwscn@0:iwscn
devices/pseudo/wc@0:wscons
devices/pseudo/tcp6@0:tcp6
devices/pseudo/sctp6@0:sctp6
var/fm/fmd/ckpt
var/fm/fmd/rsrc
kernel/drv/st.conf
kernel/drv/st.conf
kernel/drv/st.conf
kernel/drv/st.conf
#
|
この例では、アーカイブの名前は archive4 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。アーカイブはマスターシステムの完全な複製で、archive4.flar に格納されます。-R オプションは、別のディレクトリツリーからアーカイブを作成する場合に使用します。
# flarcreate -n archive4 -c -R /x/yy/zz archive4.flar |
この例では、アーカイブの名前は archive3 です。このアーカイブは、マスターシステムそのものがコピーされ、その後圧縮されます。オプションで、アーカイブ識別セクションに説明を追加できます。この説明により、後でアーカイブを識別するのが容易になります。キーワード、およびその値と書式については、「Solaris フラッシュのキーワード」を参照してください。
# flarcreate -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 の内容はアーカイブに含まれます。
# flarcreate -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 の内容はアーカイブに含まれます。
# flarcreate -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 がアーカイブに含まれます。次のコマンドにより、アーカイブが生成されます。
# flarcreate -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 |
次のコマンドにより、アーカイブが生成されます。
# flarcreate -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 |