Solaris 9 9/04 安装指南

创建 Solaris Flash 归档文件

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

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

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

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

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

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

    • Solaris DVD。

    • Solaris Software 1 of 2 CD。

    • Solaris Software 的映像。 如果使用 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。 该归档文件是从主系统中精确复制的,并已经过压缩。 某些选项可向归档文件的标识段增加说明,帮助您以后识别该归档文件。 有关关键字及其值和格式的信息,请参见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 

创建归档文件后,您即可访问包含详细说明的标识段。 以下是归档文件的标识段的实例。


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 差别归档文件

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

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


    注意:

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


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

    • 删除软件包。

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

    • 修改配置文件。

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

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

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

    • 如果未更改的主映像存储在未激活的引导环境中,请使用 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 命令检索副本。 有关如何使用这些命令的信息,请参见 System Administration Guide: Devices and File Systems 中的 "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。 包含更改的新主映像是根 (/) 目录。 新的主映像与未更改的主映像进行比较,产生差别归档文件,然后进行压缩。 该差别归档文件存储在 diffarchive1.flar 文件中, 包含安装时要删除、更改或增加的文件。


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


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

本实例中,未更改的主映像 unchanged_master1 存储在一个未激活的引导环境中,可以通过装载该引导环境访问它。 新的主映像是根 (/) 目录。 新的主映像与未更改的主映像进行比较,产生差别归档文件,然后进行压缩。 该归档文件存储在 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 profile
    -----------------------
    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 创建新的引导环境

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