JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris 10 1/13 Installation Guide: Flash Archives (Creation and Installation)     Oracle Solaris 10 1/13 Information Library
search filter icon
search icon

Document Information

Preface

1.  Flash Archive Overview

2.  Flash Archive Planning

3.  Creating Flash Archives (Tasks)

Creating a Flash Archive (Task Maps)

Installing the Master System

Creating Customization Scripts

Creating a Precreation Script

Using a Precreation Script to Create a User-Defined Archive Section

Creating a Postdeployment Script

Creating a Reboot Script

Creating a Flash Archive

How to Create a Flash Archive for an Initial Installation

Creating a Flash Archive (Examples)

Examples of Creating a Flash Archive

Examples of Creating a Flash Archive and Customizing Files

Creating a Flash Archive Differential Archive With an Updated Master Image

How to Create a Flash Archive Differential Archive With an Updated Master Image

How to Create a Flash Archive Differential Archive by Using Live Upgrade

4.  Installing and Administering Flash Archives (Tasks)

5.  Creating and Using a Disaster Recovery Image

6.  Flash Archive (Reference)

Glossary

Index

Creating a Flash Archive

You can create an archive with an initial installation that overwrites all the files on the clone system, or you can create a differential archive that only overwrites the changes that are specified. For an overview of a differential archive, see Planning to Create the Flash Archive Differential Archive for an Update.


Caution

Caution - A flash archive cannot be properly created when a non-global zone is installed. The Flash Archive feature is not compatible with the Oracle Solaris Zones partitioning technology. If you create a flash archive, the resulting archive is not installed properly when the archive is deployed under these conditions:

  • The archive is created in a non-global zone

  • The archive is created in a global zone that has non-global zones installed


How to Create a Flash Archive for an Initial Installation

After you install the master system, create a flash archive to use to install other systems.

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Boot the master system and run it in as inactive a state as possible.

    When possible, run the system in single-user mode. If that is not possible, shut down any applications that you want to archive and any applications that require extensive operating system resources.

    You can create a flash archive while the master system is running in multiuser mode, single-user mode, or while booted from one of the following:

    • Oracle Solaris Operating System DVD.


      Note - Starting with the Oracle Solaris 10 9/10 release, only a DVD is provided. Oracle Solaris Software CDs are no longer provided.


    • Oracle Solaris Software - 1 CD.

    • An image of the Oracle Solaris Software. If you are using CD media, the image could include the Oracle Solaris Languages CDs if needed.

  3. To create the archive, use the flarcreate command.
    # flarcreate -n name options path/filename
    name

    The name that you give the archive. The name you specify is the value of the content_name keyword.

    options

    For a description of options, see flar Command.

    path

    The path to the directory in which you want to save the archive file. If you do not specify a path, flarcreate saves the archive file in the current directory.

    filename

    The name of the archive file.

    • If the archive creation is successful, the flarcreate command returns an exit code of 0.

    • If the archive creation fails, the flarcreate command returns a nonzero exit code.

  4. Make a copy of the archive and save it.

    The copy can be used in the future to update a clone system with a differential archive.

Creating a Flash Archive (Examples)

File systems can be copied exactly or can be customized by excluding some directories or files. You can achieve the same results by using different options. Use the options that best suit your environment.

The file systems in the following examples have been greatly simplified for clarification. Rather than use file system names such as /var, /usr, or /opt, the master system file structure for these examples is the following:

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

Caution

Caution - Use the flarcreate file-exclusion options with caution. If you exclude some directories, others that you were unaware of might be left in the archive, such as system configuration files. The system would then be inconsistent and the installation would not work. Excluding directories and files is best used with data that can easily be removed without disrupting the system, such as large data files.


Examples of Creating a Flash Archive

Example 3-6 Creating a Duplicate Archive

In this example, the archive is named archive1. This archive is copied exactly from the master system and then compressed. The archive is an exact duplicate of the master system and is stored in archive1.flar.

# flarcreate -n archive1 -c archive1.flar

To check the file structure of the archive:

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

Example 3-7 Creating an Archive That Contains Large Files

In this example, some individual files are greater than 4 GB. The default archiving utility, cpio, cannot handle these large files. The -L pax copy method is used to create an archive that contains large individual files. The archive is named archive1. This archive is copied exactly from the master system and then compressed. The archive is an exact duplicate of the master system and is stored in archive1.flar.

# flarcreate -l pax -n archive1 -c archive1.flar

To check the file structure of the archive, type the following command:

# flar info -l archive1.flar
aaa
aaa/bbb
aaa/bbb/ccc
aaa/bbb/ccc/ddd
aaa/bbb/fff
aaa/eee
aaa/eee
ggg

Example 3-8 Creating an Archive From an Alternate Root (/) File System

In this example, the archive is named archive4. This archive is copied exactly from the master system and then compressed. The archive is an exact duplicate of the master system and is stored in archive4.flar. The -R option is used to create the archive from another directory tree.

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

Example 3-9 Creating an Archive and Adding a Description

In this example, the archive is named archive3. This archive is copied exactly from the master system and then compressed. Options add descriptions to the archive-identification section, which can help you to identify the archive later. For information about keywords, their values, and formats, see Flash Archive Keywords.

# flarcreate -n archive3 -i 20000131221409 -m pumbaa \
 -e "Solaris 8 Print Server" -a "Mighty Matt" -U "Internal Finance" \
 -T server archive3.flar 

After the archive is created, you can access the archive identification section that contains the detailed description. The following example shows an archive identification section.

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

Examples of Creating a Flash Archive and Customizing Files

Example 3-10 Excluding and Including Files and Directories

In this example, the archive is named archive2. This archive is copied from the master system but is not an exact copy. The content under the /aaa directory is excluded but the content in /aaa/bbb/ccc remains.

# flarcreate -n archive2 -x /aaa -y /aaa/bbb/ccc  archive2.flar

To check the file structure of the archive, type the following command. The excluded directories that include copied files appear, but only the files that were restored contain data.

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

Example 3-11 Excluding and Including Files and Directories by Using Lists

In this example, the archive is named archive5. This archive is copied from the master system but is not an exact copy.

The exclude file contains the following list:

/aaa

The include file contains the following list:

/aaa/bbb/ccc

The content under the /aaa directory is excluded, but the content in /aaa/bbb/ccc remains.

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

To check about the file structure of the archive, type the following command. The excluded directories that include copied files appear, but only the files that were restored contain data.

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

Example 3-12 Excluding Files and Directories by Using a List and Restoring a Directory

You can combine options -x, -y, -X and -f. In this example, options -X and -y are combined. The archive is named archive5. This archive is copied from the master system but is not an exact copy.

The exclude file contains the following list:

/aaa

The -Y option restores the /aaa/bbb/ccc directory. The following command produces the archive.

# flarcreate -n archive5 -X exclude -y /aaa/bbb/ccc  archive5.flar

To check the file structure of the archive, type the following command. The excluded directories that include copied files appear, but only the files that were restored contain data.

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

Example 3-13 Excluding and Including Files and Directories by Using a List With the -z Option

In this example, the archive is named archive3. It is copied from the master system but is not an exact copy. The files and directories to be selected are included in the filter1 file. Within the files, the directories are marked with a minus (-) or a plus (+) to indicate which files to exclude and restore. In this example, the directory /aaa is excluded with a minus and the subdirectory /aaa/bbb/ccc is restored with a plus. The filter1 file contains the following list:

- /aaa
+ /aaa/bbb/ccc

The following command produces the archive.

# flarcreate -n archive3 -z filter1 archive3.flar 

To check the file structure of the archive, type the following command. The excluded directories that include copied files appear, but only the files that were restored contain data.

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

Creating a Flash Archive Differential Archive With an Updated Master Image

Before creating a differential archive, you need two images to compare: an unchanged master image and an updated master image. One image is the unchanged master image that has been kept unchanged. This image was stored and needs to be accessed. The second image is the unchanged master image that is updated with minor changes. The root (/) file system is the default for the new image, but you can access this image if it has been stored elsewhere. After you have the two images, you can create a differential archive, which contains only the differences between the two images. The differential archive can then be installed on clones that were installed previously with the unchanged master image.

How to Create a Flash Archive Differential Archive With an Updated Master Image

Before You Begin

A copy of the unchanged master image must be kept protected from changes and available for mounting later.

  1. Prepare the master system with changes. The master system should be running a duplicate of the original archive.
  2. Update the unchanged master image with any of the following changes.
    • Delete packages.

    • Add packages or patches.

    • Modify configuration files.

    • Add support for peripheral devices on the clone system.

  3. (Optional) Create custom scripts.

    See Creating Customization Scripts.

  4. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  5. Deliver the unchanged master image in a mount point.

    If the unchanged master image is stored on an inactive boot environment, retrieve it by using the lumount command.

    # lumount BE-name mountpoint
    BE-name

    Specifies the boot environment name where the unchanged master image is stored

    mountpoint

    Specifies a root (/) file system where the image is stored

    In the following example, the inactive boot environment is named unchanged_master1. The mount point is the directory /a on the master system.

    # lumount  unchanged_master1 /a

    If the image is stored on a clone, mount the clone by using NFS.

    1. On the master system, share the clone's root (/) file system and give the master root permissions on the clone system.
      # share -F nfs -o rw,root=master-system "/"

      master-system is the name of the master system.

    2. On the master system, mount the clone.
      # mount -F nfs clone-system:/ master-dir
      clone-system

      Specifies the name of the system to be mounted

      master-dir

      Specifies the directory where the unchanged master image is stored

    If you saved the image with the ufsdump command, use the ufsrestore command to retrieve a copy. For information about how to use these commands, see Chapter 23, UFS Backup and Restore Commands (Reference), in System Administration Guide: Devices and File Systems.

  6. Create the differential archive.
    # flarcreate -n archive-name -A unchanged-master-image-dir \
      options path/filename
    archive-name

    Specifies the name that you give the archive. The archive-name you specify is the value of the content_name keyword. The name is listed in the archive-identification section.

    -A unchanged-master-image-dir

    Creates a differential archive by comparing a new system image with the image that is specified by the unchanged-master-image-dir argument. By default, the new system image is root (/). You can change the default with the -R option. unchanged-master-image-dir is a directory where the unchanged system image is stored or mounted through UFS, NFS, or the lumount command.

    You can include and exclude some files by using the options for contents selection. For a list of options, see flar Command.

    options

    For a description of options, see flar Command.

    path

    Specifies the path to the directory in which you want to save the archive file. If you do not specify a path, flarcreate saves the archive file in the current directory.

    filename

    Specifies the name of the archive file.

    • If the differential archive creation is successful, the flarcreate command returns an exit code of 0.

    • If the differential archive creation fails, the flarcreate command returns a nonzero exit code.

    For procedures about installing an archive, see To Prepare to Install a Flash Archive With a JumpStart Installation in Oracle Solaris 10 1/13 Installation Guide: JumpStart Installations.

Example 3-14 Creating a Differential Archive With the New Master Image on the Master System

In this example, the directory for unchanged master image is named unchanged_master1. The new master image that contains changes is the root (/) directory. The new master image is compared to the unchanged master image and the resulting differential archive is then compressed. The differential archive is stored in diffarchive1.flar file. The archive contains files that are to be deleted, changed, or added when installed.

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

Example 3-15 Creating a Differential Archive With the Images Stored on an Inactive Boot Environment

In this example, the unchanged master image, unchanged_master1, is stored on an inactive boot environment and is accessed by mounting the boot environment. The new master image is the root (/) directory. The new master image is compared to the unchanged master and the resulting differential archive is then compressed. The archive is stored in diffarchive4.flar. The archive contains files that are to be deleted, changed, or added when installed.

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

How to Create a Flash Archive Differential Archive by Using Live Upgrade

To manage system updates, you can use Live Upgrade to copy the OS, which creates a new boot environment. This copy can be compared to the master system that has been updated with minor changes. The resulting Flash Archive differential archive can then be installed on clone systems.

For more information about Live Upgrade, see Chapter 2, Live Upgrade (Overview), in Oracle Solaris 10 1/13 Installation Guide: Live Upgrade and Upgrade Planning.

  1. From the unchanged master system, create a new boot environment by using the lucreate command.

    This new boot environment is an exact copy of the master system and can be used to create the differential archive.

  2. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  3. Check the status of the two boot environments.
    # 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. Update the master image with any of the following changes if necessary:
    • Delete packages

    • Add packages or patches

    • Modify configuration files

    • Add support for peripheral devices on the clone system

  5. (Optional) Create custom scripts.

    See Creating Customization Scripts.

  6. Create the differential archive.
    1. Mount the newly created boot environment.
      # lumount BE-name /a
    2. Create the differential archive by comparing the master system to the boot environment.
       # flarcreate -n archive-name -A new-BE-dir\  options path/filename
      archive-name

      Specifies the name that you give the archive.

      -A new-BE-dir

      Creates a differential archive by comparing a new system image with the image that is specified by the new-BE-dir argument.

      options

      For a list of options, see flar Command.

      path

      Specifies the path to the directory in which you want to save the archive file. If you do not specify a path, flarcreate saves the archive file in the current directory.

      filename

      Specifies the name of the archive file.

    3. Unmount the new boot environment.
      # luumount BE-copy

      The flarcreate command returns an exit code.

      • If the creation is successful, an exit code of 0 is returned.

      • If a failure occurs, a nonzero exit code is returned.

  7. Install the Flash Archive differential archive by using a JumpStart profile.

    The clone systems that are to be installed must be a duplicate of the original master system or the installation fails.

    The following example profile installs a differential archive, test.diff, on the device c1t1d0s0.

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

Example 3-16 Creating a Differential Archive by Using Live Upgrade

In this example, master_BE is the name of the current boot environment. copy_BE is the name of the new boot environment. The file systems root (/) and /usr are placed on s0 and s3. The lustatus command reports that the new boot environment copy is complete. The SUNWMAN package is added to the master system. After the master system is updated by adding the SUNWMAN package, the flarcreate command creates a differential archive by comparing the changed master and the unchanged new boot environment.

# 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

Install the differential archive on clone systems. For procedures describing how to install an archive, see To Prepare to Install a Flash Archive With a JumpStart Installation in Oracle Solaris 10 1/13 Installation Guide: JumpStart Installations.

The following image shows the creation of the new boot environment by using the lucreate command.

image:The context describes the illustration.