第 20 章 Solaris Flash(参考)
本章介绍 Solaris Flash 段、关键字和关键字的值。此外,本章还介绍 flar create 命令选项。
Solaris Flash 归档文件段描述
每个 Solaris Flash 归档文件都划分成不同的段。有些段可以通过 Solaris Flash 软件生成,无需用户输入。而另外一些段需要输入,或者允许您添加信息。下表给出了每一个段的说明。
表 20–1 Flash 归档文件段
段名
|
说明
|
是否为归档文件所必需?
|
是否需要用户输入?
|
Archive Cookie
|
第一个段,包含一个 cookie,将文件标识为 Solaris Flash 归档文件。部署代码使用该 cookie 进行标识和验证。必须存在 cookie,归档文件才会有效。
|
是
|
否
|
Archive Identification
|
第二个段,包含的关键字及其值提供了归档文件的标识信息。软件生成如下所示的信息:
-
归档文件 ID 号
-
归档方法,例如 cpio
-
缺省的创建日期
您需要为 Solaris Flash 归档文件指定名称。您可以指定的、关于归档文件的其它信息包括:
-
归档文件的作者
-
归档文件的创建日期
-
用于创建归档文件的主系统的名称
有关描述归档文件的关键字列表,请参见Identification 段的关键字。
|
是
|
内容由用户和软件共同生成
|
Manifest
|
Solaris Flash 归档文件的一个段,用于验证克隆系统。该段列出系统上要保留的、添加到克隆系统的或者从克隆系统中删除的文件。如果这些文件与期望的文件集不匹配,安装将会失败。该段仅用于提供信息,以内部格式列出文件,不能用于脚本。
通过使用 flar create -M 选项创建差别归档文件,可以排除该段。但排除该段将不能进行归档文件的验证,所以建议不要这样做。
|
否
|
否
|
-
Predeployment
-
Postdeployment
-
Reboot
|
该段包含 Flash 软件在安装操作环境映像之前和之后使用的内部信息。该段中存储了用户提供的所有定制脚本。
|
是
|
否
|
Summary
|
该段包含有关归档文件创建过程的信息,并记录部署前脚本的活动。
|
是
|
内容由用户和软件共同生成
|
用户定义
|
该段在 Archive Identification 段后面。归档文件可以包含零个或多个用户定义段。归档文件提取代码不会处理这些段。它们被单独检索,并可用于内容说明。
|
否
|
是
|
Archive Files
|
该段包含按二进制日期从主系统收集到的文件。该段以 section_begin=archive 开始,但不具有段结束边界。
|
是
|
否
|
Solaris Flash 关键字
Solaris Flash 关键字与定制 JumpStart 关键字类似。它们定义安装的元素。每个关键字都是一个命令,分别控制 Solaris Flash 软件在克隆系统上安装软件的各个方面。
请遵循以下原则格式化关键字及其值:
-
关键字和值由单个等号分隔,每行只有一对。
-
关键字不区分大小写。
-
各个行可以为任意长度。
一般关键字
每一个 Solaris Flash 归档文件段由 section_begin 和 section_end 关键字定义。例如,Archive Files 段包含 section_begin 关键字,但具有不同的值。用户定义归档文件段由 section_begin 和 section_end 关键字以及适合各段的值限定。下表描述了 section_begin 和 section_end 关键字的值。
表 20–2
section_begin 和
section_end 关键字的值
归档文件段
|
section_begin 和 section_end 关键字的值
|
Archive Cookie
|
cookie — 该段不受 section_begin 和 section_end 关键字的限定。
|
Archive Identification
|
identification
|
用户定义段
|
section_name,section_name 关键字的示例有 X-user_section_1。
|
Archive Files
|
archive
|
Identification 段的关键字
以下各表描述了 Archive Identification 段使用的关键字以及可以为它们定义的值。
每个段使用表 20–3 中的关键字限定各段的范围。
表 20–3 Identification 段关键字:一般关键字
关键字
|
值定义
|
值
|
是否必须
|
section_begin
section_end
|
这些关键字用于限定归档文件中的段,而不是仅用于 Identification 段。有关这些关键字的说明,请参见一般关键字。
|
文本
|
是
|
以下关键字用在 Archive Identification 段中,用于描述 Archive Files 段的内容。
表 20–4 Identification 段关键字:Archive Files 段的内容
关键字
|
值定义
|
值
|
是否必须
|
archive_id(可选)
|
该关键字唯一描述了归档文件的内容。在归档文件安装过程中,安装软件使用此值来验证归档文件的内容。如果该关键字不存在,则不执行完整性检查。
例如,archive_id 关键字可以是 FlAsH-ARcHive-2.0。
|
文本
|
否
|
files_archived_method
|
该关键字描述 Archive Files 段中使用的归档方法。
如果 files_compressed_method 存在,则采用压缩方法来创建归档文件。
|
文本
|
否
|
files_archived_size
|
该关键字的值表示 Archived Files 段的大小(以字节为单位)。
|
数字
|
否
|
files_compress_method
|
该关键字描述 Archive Files 段中使用的压缩算法。
该关键字给出的压缩方法适用于由 files_archived_method 关键字指定的归档方法创建的归档文件。
|
文本
|
否
|
files_unarchived_size
|
该关键字定义已提取的归档文件的累计大小(以字节为单位)。该值用于文件系统大小验证。
|
数字
|
否
|
以下关键字提供有关整个归档文件的描述信息。这些关键字通常用于帮助您选择和管理归档文件。它们都是可选的,用于帮助您区分各个归档文件。使用 flar create 命令的选项可以包含这些关键字。有关示例,请参见实例 18–12。
表 20–5 Identification 段关键字:用户描述归档文件
关键字
|
值定义
|
值
|
是否必须
|
creation_date
|
该关键字的值是一个文本型时间戳,表示您创建归档文件的时间。
-
可以使用带有 -i 选项的 flar create 命令创建该日期。
-
如果没有使用 flar create 命令指定创建日期,就按格林威治标准时间 (GMT) 设置缺省日期。
-
该值必须采用不带有时间定义符的 ISO-8601 完整基本日历格式 (ISO-8601,§5.4.1(a))。格式为 CCYYMMDDhhmmss。例如,20000131221409 代表 2000 年 1 月 31 日下午10:14:09。
|
文本
|
否
|
creation_master
|
该关键字的值是您用于创建归档文件的主系统的名称。可以使用 flar create -m 选项创建该值。如果您没有指定该值,它将使用由 uname -n 命令给定的名称。
|
文本
|
否
|
content_name
|
该关键字标识归档文件。其值由 flar create -n 选项生成。创建该值时请遵循以下原则:
-
描述性名称不能超过 256 个字符。
-
说明中应该包含归档文件的功能和目的。
|
文本
|
可以
|
content_type
|
该关键字的值指定归档文件的类别。可以使用 flar create -T 选项生成该值。
|
文本
|
否
|
content_description
|
该关键字的值描述归档文件的内容。该关键字的值没有长度限制。可以使用 flar create -E 选项创建该值。
|
文本
|
否
|
content_author
|
该关键字的值标识归档文件的创建者。可以使用 flar create-a 选项创建该值。建议的值包括创建者的全名和创建者的电子邮件地址。
|
文本
|
否
|
content_architectures
|
该关键字的值是归档文件支持的内核体系结构的逗号分隔列表。可以使用 flar create ?选项创建该值。
|
文本列表
|
否
|
以下关键字也描述整个归档文件。缺省情况下,创建 Flash 归档文件时用 uname 填充它们的值。如果您创建的 Flash 归档文件的根目录不是 /,归档软件就会将字符串 UNKNOWN 作为关键字的值。但 creation_node、creation_release 和 creation_os_name 关键字除外。
无论它们的来源如何,您都不能覆盖这些关键字的值。
表 20–6 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 返回的值
|
用户定义段关键字
除了 Solaris Flash 归档文件定义的关键字之外,您还可以定义其它关键字。Solaris Flash 归档文件忽略用户定义的关键字,但您可以提供处理 Identification 段和使用用户定义关键字的脚本和程序。创建用户定义关键字时请遵循以下格式:
例如,X-department 是有效的用户定义关键字的名称。
有关使用选项将用户定义关键字包含在 Identification 段中的示例,请参见实例 18–12。
Solaris Flash flar create 命令
使用 Solaris Flash flar create 命令创建 Solaris Flash 归档文件。
flar create
使用 flar create 命令从主系统创建 Solaris Flash 归档文件。当主系统以多用户或单用户模式运行时,您可以使用此命令。当主系统是从 Solaris 9 DVD 或 Solaris 9 Software 1 of 2 CD 或从 Solaris 9 Software 和 Solaris 9 Languages CD 的映像引导时,您还可以使用 flar create。当您创建 Solaris Flash 归档文件时,主系统应该尽可能处于稳定状态。命令的语法如下:
flar create -n archive_name [-R root] [-A unchanged_master_image_dir] [-S] [-M ] [-H] [-I] [-c] [-x exclude_dir/filename] [- y include_dir/filename] [-z list_filename] [-X list_filename ] [-t [-p posn ] [-b blocksize] [-i date] [-m master] [-u section ... [-d dir]] [-f [list_filename| -] [-F]] [- U key=val ...] [-a author] [-e descr|- E descr_file] [-T type] path/filename
在这个命令行中,path 是您要将归档文件保存到的目标路径。filename 是归档文件的名称。如果不指定路径,则 flar create 将归档文件保存在当前目录中。
表 20–7
flar create 的命令行选项
选项
|
说明
|
必需的选项
|
-n archive_name
|
该标志的值是归档文件的名称。您指定的 archive_name 是 content_name 关键字的值。
|
压缩选项
|
-c
|
通过使用 compress(1) 压缩归档文件。
|
用于目录和大小的选项
|
- R root
|
从文件系统的 root 处创建归档文件。如果您不指定该选项,flar create 将从文件系统的 / 处创建归档文件。
|
-S
|
忽略归档文件中的大小信息。
|
-H
|
不生成散列标识符。
|
创建差别归档文件选项
|
-A unchanged_master_image_dir
|
通过比较新的系统映像和 unchanged_master_image_dir 参数指定的映像,创建差别归档文件。缺省情况下,新的系统映像是根 (/)。可以使用 -R 选项更改该缺省设置。unchanged_master_image_dir 是存储或通过 UFS、NFS 或 lumount 命令安装未更改的主系统映像的目录。
您可以通过使用表格下一段中描述的内容选择选项来修改差别归档文件的文件选择效果。
|
-M
|
排除 Manifest 文件。如果您使用此选项,则不对差别归档文件进行验证。在创建差别归档文件时,flar create 创建一个长的文件列表,给出系统中未更改的、已更改的以及将要从归档文件中删除的文件。该列表存储在归档文件的 Manifest 段中。在部署差别归档文件时,软件使用该列表对文件进行逐个检查,以确保克隆系统的完整性。使用该选项可以避免这种检查并能节省差别归档文件中 Manifest 段占用的空间。但是,安装时您必须权衡时间和磁盘空间的节省与完整性检查的损失。由于使用改选项将不进行验证,所以请避免这样做。
|
内容选择选项
|
小心:使用 flar create 文件排除选项时要非常小心。如果您排除了某些目录,其它您未注意到的内容可能会留在归档文件中,例如系统配置文件。这时,系统会出现不一致,并且安装不能正常进行。排除目录和文件最好用于那些易于删除又不会破坏系统的数据,例如大的数据文件。
|
-y include_dir/filename
|
在归档文件中添加命令行中指定的文件和目录。当您排除某个目录,但需要恢复单个子目录或文件时使用该选项。
include_dir/filename 是要包含的子目录或文件的名称。
|
-f list_filename
|
在归档文件中添加列表中的文件和目录。
list_filename 是一个包含列表的文件的完整路径。如果不指定 -F 项,文件的内容将被添加到列表中。
-
list_filename 文件必须每行包含一个文件。
-
如果您指定了带有 -R root 的文件系统,每个文件的路径必须相对于代替的 root 目录,或者为绝对路径。
-
如果 filename 是“-”,flar create 会将标准输入作为文件列表读取。当您使用值“-”时,不计算归档文件大小。
|
-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 是“-”,flar create 会将标准输入作为文件列表读取。当您使用值“-”时,不计算归档文件大小。
|
- z list_filename
|
从归档文件排除或包含文件或目录列表。列表中的每个文件或目录都使用加号“+”或减号“-”进行标注。加号表示被包含的文件或目录,减号表示被排除的文件或目录。
list_filename 是一个包含列表的文件的完整路径。
|
- I
|
覆盖完整性检查。要防止您从归档文件中排除重要的系统文件,请使用 flar create 进行完整性检查。此检查将检查系统软件包数据库中注册的所有文件,如果这些文件中的任何一个被排除,将停止归档文件的创建。使用该选项将会覆盖完整性检查。因此请避免使用 -I 选项。
|
与用户定义段一起使用的选项
|
-u section
|
包含 section 以作为用户定义段。要包括多个用户定义段,section 必须是一个空格分隔的段名称列表。
|
-d dir
|
从 dir 中检索用 -u 指定的段文件。
|
与磁带归档文件一起使用的选项
|
-t
|
在磁带设备上创建归档文件。filename 变量是磁带设备的名称。
|
-p posn
|
仅与 --t 选项一起使用。在磁带设备上指定供 flar create 存储归档文件的位置。如果您不使用该选项,flar create 会将归档文件放置在磁带的当前位置。
|
-b blocksize
|
指定 flar create 在创建归档文件时使用的块大小。如果您不指定块大小,flar create 将使用 64k 的缺省块大小。
|
用于归档文件标识的选项
这些关键字和值出现在归档文件的 Archive Identification 段中。
|
-U key=val
|
在 Archive Identification 段中包括用户定义的关键字和值。
|
-i date
|
使用 date 作为 creation_date 关键字的值。如果您不指定日期,flar create 将使用当前系统的时间和日期。
|
-m master
|
使用 master 作为您已在其上创建归档文件的主系统的名称。master 是 creation_master 关键字的值。如果您不指定 master,flar create 将使用由 uname -n 报告的系统名称。
|
-e descr
|
使用 descr 作为 content_description 关键字的值。使用 -E 选项时不能使用此选项。
|
-E descr_file
|
从文件 descr_file 中检索content_description 关键字的值。使用 -e 选项时不能使用此选项。
|
-a author
|
使用 author 作为 Archive Identification 段中的作者名。author 是 content_author 关键字的值。如果您不指定 author,flar create 将不在 Archive Identification 段中包括 content_author 关键字。
|
-T type
|
使用 type 作为 content_type 关键字的值。type 由用户定义。如果您不指定 type,flar create 将不包括 content_type 关键字。
|