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

创建 Solaris Flash 归档文件

可以创建用于初始安装的归档文件(将覆写克隆系统上的所有文件),也可以创建差别归档文件(仅覆写指定的更改)。有关差别归档文件的概述,请参见为更新规划创建 Solaris Flash 差别归档文件


注意 – 注意 –

安装了非全局区域后,将无法正确创建 Solaris Flash 归档文件。Solaris Flash 功能与 Solaris Zone 分区技术不兼容。如果创建了 Solaris Flash 归档文件,当在下列条件下部署归档文件时,所生成的归档文件无法正确安装:


Procedure创建用于初始安装的 Solaris Flash 归档文件

在安装了主系统后,创建一个 Solaris Flash 归档文件以用于安装其他系统。

  1. 成为超级用户或作为等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 引导主系统,然后尽可能在不活动的状态下运行它。

    如果可能,则在单用户模式下运行该系统。如果不可能,请关闭要归档的所有应用程序以及需要大量操作系统资源的所有应用程序。

    当主系统在多用户模式、单用户模式或从以下介质引导时,您可以创建 Solaris Flash 归档文件:

    • Solaris Operating System DVD。


      注 –

      从 Oracle Solaris 10 9/10 发行版开始,仅提供 DVD。不再提供 Solaris Software CD。


    • Solaris Software - 1 CD。

    • Solaris Software 的映像。如果使用 CD 介质,根据需要,该映像可以包含 Solaris Languages CD。

  3. 要创建归档文件,请使用 flarcreate 命令。


    # flarcreate -n name options path/filename
    
    name

    您赋予归档文件的名称。您指定的 namecontent_name 关键字的值。

    options

    有关选项的说明,请参见flar 命令

    path

    要保存归档文件的目录的路径。如果不指定路径,则 flarcreate 将归档文件保存在当前目录中。

    filename

    归档文件的名称。

    • 如果归档文件创建成功,则 flarcreate 命令返回退出代码 0。

    • 如果归档文件创建失败,则 flarcreate 命令返回一个非零的退出代码。

  4. 复制归档文件并保存副本。以后使用差别归档文件更新克隆系统时,可以使用该副本。

创建 Solaris Flash 归档文件(示例)

可以精确复制文件系统,也可以通过排除某些目录或文件来自定义文件系统。您可以使用不同的选项获得同样的结果。请使用最适合您的环境的选项。

为清楚起见,以下示例中的文件系统已大大简化。这些示例并未使用诸如 /var/usr/opt 等文件系统名称,它们的主系统文件结构如下:


/aaa/bbb/ccc/ddd
/aaa/bbb/fff
/aaa/eee
/ggg

注意 – 注意 –

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


创建 Solaris Flash 归档文件(各种示例)


示例 3–6 创建一个完全相同的归档文件

本示例中,归档文件名为 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
#


示例 3–7 创建包含大文件的归档文件

本示例中,某些单个文件大于 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


示例 3–8 从备用的根 (/) 文件系统创建归档文件

本示例中,归档文件名为 archive4。该归档文件是从主系统中精确复制的,并已经过压缩。该归档文件是与主系统完全相同的副本,存储在 archive4.flar 中。-R 选项用于从其他目录树中创建归档文件。


# flarcreate -n archive4 -c -R /x/yy/zz archive4.flar


示例 3–9 创建归档文件,并添加关键字来说明该归档文件

本示例中,归档文件名为 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

创建 Solaris Flash 归档文件和自定义文件(示例)


示例 3–10 创建一个归档文件,排除或包含某些文件和目录

本示例中,归档文件名为 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


示例 3–11 使用列表创建归档文件,排除或包含某些文件和目录

本示例中,归档文件名为 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


示例 3–12 使用列表创建排除某些文件和目录,以及恢复目录的归档文件

可以组合使用 -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


示例 3–13 使用带有 -z 选项的列表创建一个排除或包含某些文件和目录的归档文件

本示例中,归档文件名为 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

Procedure使用已更新的主映像创建 Solaris Flash 差别归档文件

创建差别归档文件之前,需要比较两个映像: 未更改的主映像和已更新的主映像。第一个映像为未更改的主映像,一直保持未更改状态。需要存储和使用这个映像。第二个映像是指进行了少量更新的未更改的主映像。缺省情况下,该新映像存储在根 (/) 文件系统中,但如果它存储于其他位置,您也可以访问它。获得这两个映像后,即可创建仅包含这两个映像的差别的差别归档文件。然后可以将其安装在以前安装了未更改的主映像的克隆系统上。

  1. 准备更改主系统。在更改之前,主系统应运行原始归档文件的副本。


    注 –

    必须保护未更改的主映像的副本以免被更改,并确保以后可使用它进行安装。


  2. 通过以下方法更新未更改的主映像。

    • 删除软件包。

    • 添加软件包或修补程序。

    • 修改配置文件。

    • 添加对克隆系统上的外围设备的支持。

  3. (可选)创建自定义脚本。请参见创建自定义脚本

  4. 成为超级用户或作为等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  5. 将未更改的主映像传送到安装点。

    • 如果未更改的主映像存储在非活动的引导环境中,请使用 lumount 命令进行检索。


      # lumount BE_name mountpoint
      
      BE_name

      指定存储未更改的主映像的引导环境名称

      mountpoint

      指定存储映像的根 (/) 文件系统

      在以下示例中,非活动的引导环境名为 unchanged_master1。安装点是主系统上的 /a 目录。


      # lumount  unchanged_master1 /a
      
    • 如果映像存储在克隆系统上,请使用 NFS 安装该克隆系统。

      1. 在主系统上,共享克隆系统的根 (/) 文件系统,并为克隆系统赋予主根权限。


        # share -F nfs -o rw,root=master_system "/"
        

        master_system 是主系统的名称。

      2. 在主系统上安装克隆系统。


        # mount -F nfs clone_system:/ master_dir
        
        clone_system

        指定要安装的系统的名称

        master_dir

        指定存储未更改的主映像的目录

    • 如果保存映像时使用了 ufsdump 命令,请使用 ufsrestore 命令检索副本。有关如何使用这些命令的信息,请参见《系统管理指南:设备和文件系统》中的第 28  章 “UFS 备份和恢复命令(参考)”

  6. 创建差别归档文件。


    # flarcreate -n archive_name -A unchanged_master_image_dir \
      options path/filename
    
    archive_name

    指定赋于归档文件的名称。您指定的 archive_namecontent_name 关键字的值。该名称列在 achive-identification 段中。

    -A unchanged_master_image_dir

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

    您可以使用进行内容选择的选项来包含或排除某些文件。有关选项列表,请参见flar 命令

    options

    有关选项的说明,请参见flar 命令

    path

    指定保存归档文件的目录的路径。如果不指定路径,则 flarcreate 将归档文件保存在当前目录中。

    filename

    指定归档文件的名称。

    • 如果差别归档文件创建成功,则 flarcreate 命令返回退出代码 0。

    • 如果差别归档文件创建失败,则 flarcreate 命令返回一个非零的退出代码。

    有关安装归档文件的过程,请参见《Oracle Solaris 10 9/10 安装指南:自定义 JumpStart 和高级安装》中的“准备使用自定义 JumpStart 安装来安装 Solaris Flash 归档文件”


示例 3–14 使用主系统上新的主映像创建差别归档文件

本示例中,未更改的主映像的目录名为 unchanged_master1。包含更改的新主映像是根 (/) 目录。新的主映像与未更改的主映像进行比较,产生差别归档文件,然后进行压缩。该差别归档文件存储在 diffarchive1.flar 文件中,包含安装时要删除、更改或添加的文件。


# flarcreate -n diffarchive1 -A /a/unchanged_master1 -c diffarchive1.flar


示例 3–15 使用存储在未激活的引导环境中的映像创建差别归档文件

本示例中,未更改的主映像 unchanged_master1 存储在一个非活动的引导环境中,可以通过安装引导环境来进行访问。新的主映像是根 (/) 目录。新的主映像与未更改的主映像进行比较,产生差别归档文件,然后进行压缩。该归档文件存储在 diffarchive4.flar 中。包含安装时要删除、更改或添加的文件。


# lumount unchanged_master1 /a
# flarcreate -n diffarchive4 -A /a -c  diffarchive4.flar

Procedure使用 Solaris Live Upgrade 创建 Solaris Flash 差别归档文件

要管理系统更新,可以使用 Solaris Live Upgrade 复制 OS,这将创建一个新的引导环境。复制的系统相当于通过少量更改更新后的主系统。然后可以将获得的 Solaris Flash 差别归档文件安装在克隆系统上。

有关 Solaris Live Upgrade 的更多信息,请参见《Oracle Solaris 10 9/10 安装指南:Solaris Live 升级和升级规划》中的第 2  章 “Solaris Live Upgrade(概述)”

  1. 从未更改的主系统使用 lucreate 命令创建新的引导环境。

    此新引导环境是与主系统完全相同的副本并且可以用来创建差别归档文件。

  2. 成为超级用户或作为等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  3. 检查两个引导环境的状态。


    # lustatus copy_BE
    
    boot environment   Is        Active  Active     Can	    Copy
    Name               Complete  Now	 OnReboot   Delete	 Status
    ------------------------------------------------------------------------
    master_BE          yes       yes     yes        no       -     
    copy_BE            yes       no      no         yes      -  
  4. 通过以下任意一种方法更新主映像。

    • 删除软件包。

    • 添加软件包或修补程序。

    • 修改配置文件。

    • 添加对克隆系统上的外围设备的支持。

  5. (可选)创建自定义脚本。请参见创建自定义脚本

  6. 创建差别归档文件。

    1. 安装新创建的引导环境。


      # lumount BE_name /a
      
    2. 通过比较主系统与引导环境来创建差别归档文件。


       # flarcreate -n archive_name -A new_BE_dir\  options path/filename
      
      archive_name

      指定赋于归档文件的名称。

      -A new_BE_dir

      通过比较新的系统映像与用 new BE_dir 变量指定的映像,创建差别归档文件。

      options

      有关选项列表,请参见flar 命令

      path

      指定保存归档文件的目录的路径。如果不指定路径,则 flarcreate 将归档文件保存在当前目录中。

      filename

      指定归档文件的名称。

    3. 卸载新的引导环境。


      # luumount copy_BE
      

    flarcreate 命令将返回退出代码。

    • 如果创建成功,将返回退出代码 0。

    • 如果失败,将返回一个非零的退出代码。

  7. 使用 JumpStart 配置文件安装 Solaris Flash 差别归档文件。

    要安装的克隆系统必须与初始主系统完全一样,否则安装将失败。

    以下配置文件示例将差别归档文件 test.diff 安装在设备 c1t1d0s0 上。


    JumpStart profile
    -----------------------
    install_type  flash_update
    archive_location http server /rw/test.diff
    root_device c1t1d0s0

示例 3–16 使用 Solaris Live Upgrade 创建差别归档文件

master_BE 是当前引导环境的名称。copy_BE 是新引导环境的名称。根 (/) 文件系统和 /usr 文件系统分别放在 s0s3 中。lustatus 命令将报告完成了新引导环境的复制。SUNWman 软件包将添加到主系统中。通过添加 SUNWman 软件包更新主系统之后,flarcreate 命令将通过比较已更改的主系统和未更改的新引导环境来创建差别归档文件。


# lucreate -c master_BE  -m /:/dev/dsk/c0t1d0s0:ufs \
-m /usr:/dev/dsk/c0t1d0s3:ufs -n copy_BE
# lustatus
# pkgadd SUNWman
# lumount copy_BE /a
# flarcreate -n test.diff -c -A /a /net/server/export/test.diff
# luumount copy_BE

在克隆系统上安装差别归档文件。有关安装归档文件的过程,请参见《Oracle Solaris 10 9/10 安装指南:自定义 JumpStart 和高级安装》中的“准备使用自定义 JumpStart 安装来安装 Solaris Flash 归档文件”

以下映像显示了如何使用 lucreate 命令创建新的引导环境。

文中对此图例进行了说明。