可以精确复制文件系统,也可以通过排除某些目录或文件来自定义文件系统。您可以使用不同的选项获得同样的结果。请使用最适合您的环境的选项。
为清楚起见,以下示例中的文件系统已大大简化。这些示例并未使用诸如 /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 # |
本示例中,某些单个文件大于 4 GB。缺省的归档实用程序 cpio 不能处理这些大文件。使用了 -L pax 复制方法,以便创建包含大的单个文件的归档文件。归档文件名为 archive1。该归档文件是从主系统中精确复制的,并已经过压缩。该归档文件是与主系统完全相同的副本,存储在 archive1.flar 中。
# flarcreate -L pax -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 选项用于从其他目录树中创建归档文件。
# flarcreate -n archive4 -c -R /x/yy/zz archive4.flar |
本示例中,归档文件名为 archive3。该归档文件是从主系统中精确复制的,并已经过压缩。某些选项可向 archive-identification 段添加说明,帮助您以后识别该归档文件。有关关键字、关键字的值以及格式的信息,请参见Solaris Flash 关键字。
# flarcreate -n archive3 -i 20000131221409 -m pumbaa \ -e "Solaris 8 Print Server" -a "Mighty Matt" -U "Internal Finance" \ -T server archive3.flar |
创建归档文件后,您即可访问包含详细说明的 archive identification 段。以下是 archive identification 段的示例。
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 |
要检查归档文件的文件结构,请键入以下内容。将显示包含被复制文件的排除目录,但只有已恢复的文件包含数据。
# 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 |
要检查归档文件的文件结构,请键入以下内容。将显示包含被复制文件的排除目录,但只有已恢复的文件包含数据。
# 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 |
要检查归档文件的文件结构,请键入以下内容。将显示包含被复制文件的排除目录,但只有已恢复的文件包含数据。
# 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 |
要检查归档文件的文件结构,请键入以下命令。将显示包含被复制文件的排除目录,但只有已恢复的文件包含数据。
# flar info -l archive3.flar aaa aaa/bbb aaa/bbb/ccc aaa/bbb/ccc/ddd ggg |