Solaris 9 4/04 安装指南

创建 Solaris Flash 归档文件

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

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

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

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

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

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

    • Solaris DVD。

    • Solaris Software 1 of 2 CD。

    • Solaris 软件 的映像。如果使用的是 CD 介质,根据需要,该映像可以包括 Solaris Languages CD。

  2. 要创建归档文件,请使用 flar create 命令。


    # flar create -n name options path/filename
    
    name

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

    options

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

    path

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

    filename

    归档文件的名称。

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

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

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

示例 — 创建归档文件用于初始安装

可以复制完整的文件系统,也可以通过排除一些目录或文件来定制文件系统。您可以使用不同的选项达到同样的目的。请使用最适合您的环境的选项。

为了更清楚地说明问题,下面示例中的文件系统已作了简化。这些示例没有使用诸如 /var/usr/opt 等的文件系统名称,其主系统文件结构如下所示


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

小心:小心:

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



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

本示例中,归档文件名为 archive1。该文件是从主系统中复制的,并已经过压缩。该归档文件是与主系统完全相同的副本,存储在 archive1.flar 中。


# flar create -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


实例 21–7 创建一个归档文件,排除或包含某些文件和目录

本示例中,归档文件名为 archive2。该文件是从主系统中复制的,但并不是完全相同的副本。排除了 /aaa 目录下的内容,但保留了 /aaa/bbb/ccc 目录下的内容。


# flar create -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


实例 21–8 创建一个归档文件,使用列表排除或包含某些文件和目录

本示例中,归档文件名为 archive5。该文件是从主系统中复制的,但并不是完全相同的副本。

exclude 文件包含以下列表:


/aaa

include 文件包含以下列表:


/aaa/bbb/ccc

排除了 /aaa 目录下的内容,但保留了 /aaa/bbb/ccc 目录下的内容。


# flar create -n archive5 -X exclude -f include  archive5.flar

要检查归档文件的文件结构,请键入以下内容。将显示包括被复制文件的排除目录,但只有已恢复的文件包含数据。


# flar info -l archive5.flar
aaa
aaa/bbb/ccc
aaa/bbb/ccc/ddd
aaa/bbb
ggg


实例 21–9 通过使用列表并恢复目录的方式创建一个归档文件,排除某些文件和目录

您可以合并 -x-y-X-f 选项。本示例中合并了 -X-y 选项。此归档文件名为 archive5。该文件是从主系统中复制的,但并不是完全相同的副本。

exclude 文件包含以下列表:


/aaa

-y 选项可以恢复 /aaa/bbb/ccc 目录。 以下命令生成归档文件。


# flar create -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


实例 21–10 使用列表和 -z 选项创建一个归档文件,排除或包含某些文件和目录

本示例中,归档文件名为 archive3。该文件是从主系统中复制的,但并不是完全相同的副本。要选择的文件和目录包括在 filter1 文件中。在该文件中,目录使用减号 (-) 或加号 (+) 标记,标明要排除或恢复的文件。本示例中,排除的 /aaa 目录标有减号,恢复的 /aaa/bbb/ccc 子目录标有加号。filter1 文件包含以下列表:


- /aaa
+ /aaa/bbb/ccc

以下命令生成归档文件。


# flar create -n archive3 -z filter1 archive3.flar 

要检查归档文件的文件结构,请键入以下命令。将显示包括被复制文件的排除目录,但只有已恢复的文件包含数据。


# flar info -l archive3.flar
aaa
aaa/bbb
aaa/bbb/ccc
aaa/bbb/ccc/ddd
ggg


实例 21–11 从另外一个引导环境中创建归档文件

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


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


实例 21–12 创建一个归档文件,并添加关键字来描述该文件

本示例中,归档文件名为 archive3。该文件是从主系统中复制的,并已经过压缩。使用选项向 Archive Identification 段添加说明,帮助您日后识别该归档文件。有关关键字及其值和格式的信息,请参见Solaris Flash 关键字


# flar create -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,sun4m
     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 差别归档文件的步骤

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

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


    注意:

    一定要保留一份未更改的主映像,确保它未被更改,以便在日后安装时使用。


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

    • 删除软件包。

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

    • 修改配置文件。

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

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

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

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


      # lumount BE_name mountpoint
      
      BE_name

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

      mountpoint

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

      在以下示例中,未激活的引导环境名为 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 命令检索副本。有关如何使用这些命令的信息,请参见 System Administration Guide: Basic Administration 中的“UFS Backup and Restore Commands (Reference)”

  5. 创建差别归档文件。


    # flar create -n archive_name -A unchanged_master_image_dir\
     options path/filename
    
    archive_name

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

    -A unchanged_master_image_dir

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

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

    options

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

    path

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

    filename

    指定归档文件的名称。

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

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

    有关安装归档文件的过程,请参见准备使用定制 JumpStart 安装来安装 Solaris Flash 归档文件

示例 — 创建差别归档文件


实例 21–13 使用主系统上新的主映像创建差别归档文件

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


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


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

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


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

使用 Solaris Live Upgrade 创建 Solaris Flash 差别归档文件的步骤

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

有关 Solaris Live Upgrade 的详细信息,请参见第 32 章,Solaris Live Upgrade(主题)

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

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

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


    # 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      -  
  3. 通过以下任意一种方法更新主映像。

    • 删除软件包。

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

    • 修改配置文件。

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

  4. (可选)创建定制脚本。请参见创建定制脚本

  5. 创建差别归档文件。

    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 create

      path

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

      filename

      指定归档文件的名称。

    3. 卸载新的引导环境。


      # luumount copy_BE
      

    flar create 命令将返回出口代码。

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

    • 如果失败,将返回非零出口代码。

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

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

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


    JumpStart 配置文件
    -----------------------
    install_type  flash_update
    archive_location http server /rw/test.diff
    root_device c1t1d0s0

实例 21–15 使用 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 

在克隆系统上安装差别归档文件。有关安装归档文件的步骤,请参见准备使用定制 JumpStart 安装来安装 Solaris Flash 归档文件


图形 21–1 显示如何使用 lucreate 命令创建新的引导环境。

图形 21–1 使用 Solaris Live Upgrade 创建新的引导环境

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