第 5 章 Solaris Flash(参考)
本章提供了 Solaris Flash 段、关键字和关键字值的说明。此外,本章还介绍了 flar create 命令选项。
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 段列出了系统上要保留的、要添加到克隆系统的或者要从克隆系统中删除的文件。如果这些文件与期望的文件集不匹配,安装将会失败。该段仅用于提供信息,它以内部格式列出文件,不能用于脚本。
您也可以通过 flar create -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_begin 和 section_end 关键字定义。例如,Archive Files 段包含 section_begin 关键字,但具有不同的值。User-defined 归档文件段由 section_begin 和 section_end 关键字以及适合各段的值限定。下表描述了 section_begin 和 section_end 关键字的值。
表 5–2
section_begin 和
section_end 关键字的值
|
归档文件段
|
section_begin 和 section_end 关键字的值
|
|
Archive Cookie
|
cookie – 该段不由 section_begin 和 section_end 关键字限定。
|
|
Archive Identification
|
identification
|
|
User-Defined 段
|
section_name – section_name 关键字的一个示例是 X-user_section_1。
|
|
Archive Files
|
archive
|
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 段中使用的归档方法。
如果 files_compressed_method 存在,则将压缩方法应用到由归档方法创建的归档文件中。
|
文本
|
否
|
|
files_archived_size
|
该关键字的值表示 Archived Files 段的大小(以字节为单位)。
|
数字
|
否
|
|
files_compress_method
|
该关键字说明了 Archive Files 段中使用的压缩算法。
该关键字指定的压缩方法适用于通过 files_archived_method 关键字指定的归档方法创建的归档文件。
|
文本
|
否
|
|
files_unarchived_size
|
该关键字定义已提取的归档文件的累计大小(以字节为单位)。该值用于文件系统大小验证。
|
数字
|
否
|
以下关键字提供有关整个归档文件的说明信息。这些关键字通常用于帮助您选择和管理归档文件。它们都是可选的,用于帮助您区分各个归档文件。可以使用 flar create 命令的选项来包含这些关键字。有关示例,请参见示例 3–8。
表 5–5 Archive 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 p.m.。
|
文本
|
否
|
|
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
|
该关键字的值是归档文件所支持的内核体系结构的逗号分隔列表。
|
文本列表
|
否
|
以下关键字也说明整个归档文件。缺省情况下,创建 Flash 归档文件时用 uname 填充它们的值。如果您创建的 Flash 归档文件的根目录不是 /,归档软件就会将字符串 UNKNOWN 作为关键字的值。但 creation_node、creation_release 和 creation_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–8。
Solaris Flash flar create 命令
使用 Solaris Flash flar create 命令创建 Solaris Flash 归档文件。
flar create
使用 flar create 命令从主系统创建 Solaris Flash 归档文件。当主系统以多用户或单用户模式运行时,您可以使用此命令。如果主系统是从以下介质引导的,也可以使用 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 将归档文件保存在当前目录中。
表 5–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 选项。
|
|
与 User-Defined 段一起使用的选项
|
|
-u section
|
包含 section 以作为 User-Defined 段。要包括多个 User-Defined 段,section 必须是一个空格分隔的段名称列表。
|
|
-d dir
|
从dir 中检索用 -u 指定的段文件。
|
|
与磁带归档文件一起使用的选项
|
|
-t
|
在磁带设备上创建归档文件。filename 变量是磁带设备的名称。
|
|
-p posn
|
仅与 -t 选项一起使用。在磁带设备上指定 flar create 用来存储归档文件的位置。如果您不使用该选项,flar create 会将归档文件放置在磁带的当前位置。
|
|
-b blocksize
|
指定 flar create 在创建归档文件时使用的块大小。如果您不指定块大小,flar create 将使用 64KB 的缺省块大小。
|
|
用于 Archive Identification 段的选项
这些关键字和值出现在归档文件的 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 关键字的值。如果您不指定作者,flar create 将不在 Archive Identification 段中包含 content_author 关键字。
|
|
-T type
|
使用 type 作为 content_type 关键字的值。type 由用户定义。如果您不指定 type,flar create 将不包含 content_type 关键字。
|