Solaris 10 10/08 安装指南:Solaris Flash 归档文件(创建和安装)

第 5 章 Solaris Flash(参考)

本章提供了 Solaris Flash 段、关键字和关键字值的说明。此外,本章还介绍了 flar 命令选项。

有关创建或安装 Solaris Flash 归档文件时的限制,请参见表 2–1

Solaris Flash 归档文件段说明

每个 Solaris Flash 归档文件都可以划分成几个段。有些段可以通过 Solaris Flash 软件生成,无需用户输入。而另外一些段需要输入,或者允许您添加信息。下表给出了每个段的说明。

表 5–1 Flash 归档文件段

段名 

说明 

是否为归档文件所必需? 

是否需要用户输入? 

Archive Cookie  

 

第一段包含用来将文件标识为 Solaris Flash 归档文件的 Cookie。部署代码使用该 Cookie 进行标识和验证。必须存在 Cookie,归档文件才有效。

是 

否 

Archive Identification  

第二段包含一些带有值的关键字,可提供有关归档文件的标识信息。本软件可以生成某些信息,例如:

  • 归档文件 ID 号

  • 归档方法,如 cpio

  • 缺省的创建日期

您需要为 Solaris Flash 归档文件指定名称。您还可以为归档文件指定以下信息: 

  • 归档文件的作者

  • 归档文件的创建日期

  • 用于创建归档文件的主系统的名称

有关描述归档文件的关键字的列表,请参见Archive Identification 段的关键字

是 

内容由用户和软件共同生成 

Manifest  

Solaris Flash 归档文件的一个段,用来验证克隆系统。Manifest 段列出了系统上要保留的、要添加到克隆系统的或者要从克隆系统中删除的文件。如果这些文件与期望的文件集不匹配,安装将会失败。该段仅用于提供信息,它以内部格式列出文件,不能用于脚本。

您也可以通过 flarcreate -M 选项创建差别归档文件来排除该段。但排除该段将不能进行归档文件的验证,所以建议不要这样做。

否 

否 

 

Predeployment、Postdeployment、Reboot 

该段包含一些内部信息,供 Flash 软件在安装 OS 映像之前和之后使用。该段中存储了用户提供的所有自定义脚本。

是 

否 

Summary  

该段包含有关创建归档文件的消息,同时记录 predeployment 脚本的活动。

是 

内容由用户和软件共同生成 

User-Defined  

该段在 archive-identification 段之后。归档文件可以包含零个或多个 User-Defined 段。归档文件提取代码不会处理这些段。它们被单独检索,并可用于内容说明。

否 

是 

Archive Files 

Archive Files 段包含一些从主系统中收集到的二进制数据文件。该段以 section_begin=archive 开始,但没有段结束边界。

是 

否 

Solaris Flash 关键字

Solaris Flash 关键字与自定义 JumpStart 关键字类似。它们定义安装的元素。每个关键字都是一个命令,分别控制 Solaris Flash 软件在克隆系统上安装软件的各个方面。

请按照以下原则格式化关键字和值:

一般关键字

每个 Solaris Flash 归档文件段都由 section_beginsection_end 关键字定义。例如,Archive Files 段包含 section_begin 关键字,但具有不同的值。User-defined 归档文件段由 section_beginsection_end 关键字以及适合各段的值限定。下表描述了 section_beginsection_end 关键字的值。

表 5–2 section_begin section_end 关键字的值

归档文件段 

section_beginsection_end 关键字的值

Archive Cookie 

cookie – 该段不由 section_beginsection_end 关键字限定。

Archive Identification 

identification

User-Defined 段 

section_namesection_name 关键字的一个示例是 X-user_section_1。

Archive Files 

归档文件

Archive Identification 段的关键字

以下各表说明了 archive identification 段使用的关键字以及可以为它们定义的值。

每个段都使用表 5–3 中的关键字来限定。

表 5–3 Archive Identification 段的关键字:一般关键字

关键字 

值定义 

值 

必需 

section_begin

section_end

这些关键字用于限定归档文件中的段,而不是仅用于 archive identification 段。有关这些关键字的说明,请参见一般关键字

文本 

是 

以下关键字在 archive-identification 段中使用,用于说明 archive files 段的内容。

表 5–4 Archive Identification 段的关键字:Archive Files 段的内容

关键字 

值定义 

值 

必需 

archive_id(可选)

该关键字唯一说明了归档文件的内容。在归档文件安装过程中,安装软件使用该值来验证归档文件的内容。如果该关键字不存在,则不执行完整性检查。 

例如,archive_id 关键字的值可能为 FlAsH-ARcHive-2.0

文本 

否 

files_archived_method

该关键字说明了在 Archive Files 段中使用的归档方法。  

  • 如果该关键字不存在,Archive Files 段将采用带有 ASCII 标题的 cpio 格式。该格式对应 cpio -c 选项。

  • 如果该关键字存在,则它具有以下值之一:

    • cpio-archive files 段中的归档格式为带有 ASCII 标题的 cpio

    • pax-archive files 段中的归档格式为带有扩展的 tar 交换格式的 pax。使用 pax 实用程序,可以归档和提取大小大于 4 GB 的文件。

如果 files_compressed_method 存在,则将压缩方法应用到由归档方法创建的归档文件中。

文本 

否 

files_archived_size

该关键字的值表示 Archived Files 段的大小(以字节为单位)。 

数字 

否 

 

files_compress_method

该关键字说明了 Archive Files 段中使用的压缩算法。 

  • 如果该关键字存在,它可以具有以下值:

    • none – 不压缩 archive file 段。

    • compress – 使用 compress 命令压缩 archive file 段。

  • 如果该关键字不存在,则认为 Archive Files 段未被压缩。

该关键字指定的压缩方法适用于通过 files_archived_method 关键字指定的归档方法创建的归档文件。

文本 

否 

files_unarchived_size

该关键字定义已提取的归档文件的累计大小(以字节为单位)。该值用于文件系统大小验证。  

数字 

否 

以下关键字提供有关整个归档文件的说明信息。这些关键字通常用于帮助您选择和管理归档文件。它们都是可选的,用于帮助您区分各个归档文件。可以使用 flarcreate 命令的选项来包含这些关键字。有关详细信息,请参见示例 3–9

表 5–5 Archive Identification 段的关键字:用户说明归档文件

关键字 

值定义 

值 

必需 

creation_date

该关键字的值是一个文本型时间戳,表示您创建归档文件的时间。 

  • 可以使用带有 -i 选项的 flarcreate 命令来创建日期。

  • 如果没有使用 flarcreate 命令指定创建日期,将按照格林尼治标准时间 (Greenwich mean time, GMT) 设置缺省日期。

  • 该值必须采用不带有时间定义符的 ISO-8601 完整基本日历格式 (ISO-8601,§5.4.1(a))。格式为 CCYYMMDDhhmmss。例如 20000131221409 表示 2000 年 1 月 31 日 10:14:09 p.m.。

文本 

否 

creation_master

该关键字的值是您用于创建归档文件的主系统的名称。可以使用 flarcreate -m 选项创建该值。如果不指定值,将使用由 uname- n 命令指定的值。

文本 

否 

content_name

该关键字标识归档文件。其值由 flarcreate -n 选项生成。创建该值时请遵循以下指南:

  • 说明性名称不能超过 256 个字符。

  • 说明中应该包含归档文件的功能和目的。

文本 

是 

content_type

该关键字的值指定归档文件的类别。可以使用 flarcreate -T 选项生成该值。

文本 

否 

content_description

该关键字的值说明归档文件的内容。该关键字的值没有长度限制。可以使用 flarcreate -E 选项创建该值。

文本 

否 

content_author

该关键字的值标识归档文件的创建者。可以使用 flarcreate-a 选项创建该值。建议的值包括创建者的全名和创建者的电子邮件地址。

文本 

否 

content_architectures

该关键字的值是归档文件所支持的内核体系结构的逗号分隔列表。  

  • 如果该关键字存在,安装软件将根据归档文件所支持的体系结构列表来验证克隆系统的内核体系结构。如果归档文件不支持克隆系统的内核体系结构,安装就会失败。

  • 如果该关键字不存在,安装软件将不验证克隆系统的体系结构。

文本列表 

否 

以下关键字也说明整个归档文件。缺省情况下,创建 Flash 归档文件时用 uname 填充它们的值。如果您创建的 Flash 归档文件的根目录不是 /,归档软件就会将字符串 UNKNOWN 作为关键字的值。但 creation_nodecreation_releasecreation_os_name 关键字例外。

无论它们的来源如何,您都不能覆盖这些关键字的值。

表 5–6 Archive Identification 段的关键字:软件说明归档文件

关键字 

值 

creation_node

uname -n 返回的值

creation_hardware_class

uname -m 返回的值

creation_platform

uname -i 返回的值

creation_processor

uname -p 返回的值

creation_release

uname -r 返回的值

creation_os_name

uname -s 返回的值

creation_os_version

uname -v 返回的值

User-Defined 段的关键字

除了由 Solaris Flash 归档文件定义的关键字以外,还可以定义其他关键字。Solaris Flash 归档文件会忽略用户自定义的关键字,但您可以提供处理 archive identification 段并使用用户自定义关键字的脚本或程序。创建用户自定义关键字时请遵循以下格式:

例如,X-department 是有效的用户自定义关键字的名称。

有关使用选项在 archive identification 段中包含用户定义的关键字的示例,请参见示例 3–9

Solaris Flash flar 命令

使用 Solaris Flash flar 命令创建并管理 Solaris Flash 归档文件。

flar 命令

可以使用带有以下选项的 flar 命令:

使用 flarcreate 命令从主系统创建 Solaris Flash 归档文件。当主系统以多用户或单用户模式运行时,您可以使用此命令。如果主系统是从以下介质引导的,则也可以使用 flarcreate 命令。

当您创建 Solaris Flash 归档文件时,主系统应该尽可能处于稳定状态。


注 –

可以使用以下任一命令选项创建 Solaris Flash 归档文件:


该命令的语法如下:

flarcreate -n archive_name [- R root] [-A unchanged_master_image_dir ] [-H][-I][-M][[- S]-c][-t [-p posn] [-b blocksize]][- i date][-u section ...][-m master][- f [list_filename| -] [-F][- a author][-e descr |-E descr_file][-L pax] [-T type][-U key=val ...][- x exclude_dir/filename] [-y include_dir/filename] [-z list_filename ] [-X list_filename] path/filename

flar combine [-d dir] [-u section...] [-t [- p posn] path/filename

flar split [-d dir] [-u section...] [-f] [-S section] [-t [- p posn] path/filename

flar info [-l] [-k keyword ] [-t [-p posn] path/filename

在以上的命令行中,path 是您要将归档文件保存到的目标路径。filename 是归档文件的名称。如果不指定路径,则 flarcreate 将归档文件保存在当前目录中。

表 5–7 flar 命令的命令行选项

选项 

说明 

必需的选项 

-n archive_name

该标志的值是归档文件的名称。您指定的 archive_namecontent_name 关键字的值。

压缩选项 

-c

通过使用 compress(1) 压缩归档文件。

目录和大小的选项 

-R root

从以 root 指定的文件系统开始的文件系统树创建归档文件。如果您不指定该选项,flarcreate 将从根 (/) 文件系统开始的文件系统创建归档文件。

-S

忽略归档文件中的大小信息。 

-H

不生成散列标识符。 

用于创建差别归档文件的选项 

-A unchanged_master_image_dir

通过比较新的系统映像和 unchanged_master_image_dir 变量指定的映像,创建差别归档文件。缺省情况下,新的系统映像是根 (/)。可以使用 -R 选项更改该缺省设置。unchanged_master_image_dir 是通过 UFS、NFS 或 lumount 来存储或安装未更改的主系统映像的目录。

您可以通过使用在表格下一段中说明的内容选择选项来修改差别归档文件的文件选择效果。 

-M

排除 Manifest 文件。如果您使用此选项,则不对差别归档文件进行验证。创建差别归档文件时,flarcreate 将创建一个很长的文件列表,列出系统中未更改的、已更改的、以及要从归档文件中删除的文件。该列表存储在归档文件的 Manifest 段中。在部署差别归档文件时,软件使用该列表对文件进行逐个检查,以确保克隆系统的完整性。使用该选项可以避免这种检查并能节省差别归档文件中由 Manifest 段占用的空间。但是,安装时您必须权衡节省时间和磁盘空间以防止损失完整性检查。由于使用该选项将不进行验证,所以请避免这样做。

用于内容选择的选项 


注意 – 注意 –

请谨慎使用 flarcreate 文件排除选项。如果您排除了某些目录,其他您未注意到的内容可能会留在归档文件中,例如系统配置文件。这时,系统会出现不一致,并且安装不能正常进行。排除目录和文件最好用于那些易于删除又不会中止系统的数据,例如大的数据文件。


-y include_dir/filename

在归档文件中添加在命令行中指定的文件和目录。已排除某个目录,但需要恢复单个子目录或文件时可以使用此选项。 

include_dir/filename 是要包含的子目录或文件的名称。

-f list_filename

将文件和目录从列表添加到归档文件。  

list_filename 是一个包含列表的文件的完整路径。如果不指定 -F 项,文件的内容将被添加到列表中。

  • list_filename 文件必须每行包含一个文件。

  • 如果您指定了带有 -R root 的文件系统,每个文件的路径必须相对于代替的 root 目录,或者为绝对路径。

  • 如果 filename 是 "-",则 flarcreate 会读取标准输入作为文件列表。当您使用值 "-" 时,不计算归档文件大小。

-F

只使用 -f list_filename 中的文件来创建归档文件。此选项使 -f list_filename 成为独立列表,而不是附着到标准文件列表中。

-x exclude_dir/filename

从归档文件中排除文件和目录。在命令行中指定这些文件和目录。您可以使用该选项的多个实例排除多个文件或目录。 

exclude_dir/filename 是要排除的文件或目录的名称。

-X list_filename

从归档文件中排除文件或目录的列表。  

list_filename 是一个包含列表的文件的完整路径。

  • list_filename 文件必须每行包含一个文件。

  • 如果您指定了带有 -R root 的文件系统,每个文件的路径必须相对于代替的 root 目录,或者为绝对路径。

  • 如果 list_filename 是 "-",则 flarcreate 会读取标准输入作为文件列表。当您使用值 "-" 时,不计算归档文件大小。

-z list_filename

从归档文件排除或者包含文件或目录列表。列表中的每个文件或目录都使用加号“+”或减号“-”进行标注。加号表示被包含的文件或目录,减号表示被排除的文件或目录。 

list_filename 是一个包含列表的文件的完整路径。

  • list_filename 文件必须每行包含一个文件。

  • 如果您指定了带有 -R root 的文件系统,每个文件的路径必须相对于代替的 root 目录,或者为绝对路径。

-I

覆盖完整性检查。为了防止您从归档文件中排除重要的系统文件,flarcreate 将执行完整性检查。此检查将检查系统软件包数据库中注册的所有文件,如果这些文件中的任何一个被排除,将停止归档文件的创建。使用该选项将覆写完整性检查。因此请避免使用 -I 选项。

拆分及合并归档文件选项 

-d dir

dir 而不是从当前目录检索要复制的段。

-u section

  • 如果您使用此选项,flar 将复制 cookie、identification、archive 和 section 段。您可以指定单个段名称或以空格分隔的段名称列表。

  • 如果使用此选项,flar 将只复制 cookie、Identification 和 archive 段。

-f archive

将 archive 段提取到名为 archive 的目录中,而不是将其放置到名为 archive 的文件中。用于拆分归档文件。

-S section

仅从归档文件中复制名为 section 的段。此段是用户定义的。用于拆分归档文件。

用于复制文件(归档文件)的选项 

-L pax

cpio 实用程序是缺省的复制方法。如果具有大的单个文件,-L pax 选项将使用 pax 实用程序创建对单个文件大小没有限制的归档文件。单个文件的大小可以大于 4 GB。

与 User-Defined 段一起使用的选项 

-u section

包含 section 以作为 User-Defined 段。要包括多个 User-Defined 段,section 必须是一个空格分隔的段名称列表。

-d dir

dir 中检索用 -u 指定的段文件。

与磁带归档文件一起使用的选项 

-t

在磁带设备上创建归档文件。filename 变量是磁带设备的名称。

-p posn

仅与 -t 选项一起使用。指定 flarcreate 在磁带设备上存储归档文件的位置。如果不使用该选项,flarcreate 会将归档文件放置在磁带的当前位置。

-b blocksize

指定 flarcreate 在创建归档文件时使用的块大小。如果您不指定块大小,flarcreate 将使用 64 KB 的缺省块大小。

用于 Archive Identification 段的选项 

这些关键字和值出现在归档文件的 archive identification 段中。 

-U key=val

在 archive identification 段中包含用户自定义的关键字和值。 

-i date

使用 date 作为 creation_date 关键字的值。如果您不指定日期,flarcreate 将使用系统的当前时间和日期。

-m master

master 用作您已在其上创建归档文件的主系统的名称。mastercreation_master 关键字的值。如果您不指定 masterflarcreate 将使用由 uname -n 报告的系统名称。

-e descr

使用 descr 作为 content_description 关键字的值。使用 -E 选项时不能使用此选项。

-E descr_file

从文件 descr_file 中检索 content_description 关键字的值。使用 -e 选项时不能使用此选项。

-a author

使用 author 作为 archive identification 段中的作者名。authorcontent_author 关键字的值。如果不指定作者,flarcreate 将不在 archive identification 段中包含 content_author 关键字。

-T type

使用 type 作为 content_type 关键字的值。type 由用户定义。如果您不指定类型,flarcreate 将不包含 content_type 关键字。