live_upgrade - overview of Live Upgrade feature
The Live Upgrade feature of the Solaris operating environ-
ment enables you to maintain multiple operating system
images on a single system. An image-called a boot environ-
ment, or BE-represents a set of operating system and appli-
cation software packages. The BEs might contain different
operating system and/or application versions.
On a system with the Solaris Live Upgrade software, your
currently booted OS environment is referred to as your
active, or current BE. You have one active, or current BE;
all others are inactive. You can perform any number of
modifications to inactive BEs on the same system, then boot
from one of those BEs. If there is a failure or some
undesired behavior in the newly booted BE, Live Upgrade
software makes it easy for you to fall back to the previ-
ously running BE.
Live Upgrade software includes a full suite of commands,
listed below and described in individual man pages, which
implement all of the Live Upgrade features and functions.
The software also includes a Forms and Menu Language
Interpreter-based user interface named lu(1M). (See fmli(1)
for a description of the Forms and Menu Language Inter-
preter.) The FMLI interface implements a subset of Live
Upgrade functions. Unlike the command-line interfaces, out-
put from the FMLI interface is not internationalizable.
The following are some of the tasks you can perform with
Live Upgrade software:
o You can make one or more copies of the currently run-
o You can upgrade to a new OS version on a second boot
environment, then boot from that environment. If you
choose, you can then fall back to your original boot
environment or boot from yet another environment.
o You can install application or OS packages to a boot
environment, then boot from that environment.
o You can install OS patches to a boot environment, then
boot from that environment.
o From a flash archive, you can install an OS to a boot
environment, then boot from that environment. See
flar(1M) for information on administering flash
o You can split and rejoin file systems in a new BE. For
example, you can separate /usr, /var, and /opt from /,
putting them on their own partitions. Conversely, you
could join these file systems on a single partition
o You can mount any or all of the filesystems of a BE
that is not active, compare the files in any pair of
BEs, delete or rename a BE, and perform other adminis-
The Live Upgrade software supports upgrade from any valid
Solaris installation medium, including a CD-ROM, an NFS or
UFS directory, or a flash archive. (See flash_archive(4) for
a description of the flash archive feature.)
In simplest terms, a BE, for Live Upgrade, consists of the
disk slice containing a root file system and the file
system/device (usually disk) slice entries specified in
vfstab(4). This set of slices is not limited to a single
disk. This means that you can have multiple BEs on a single
device, or have a BE spread across slices on multiple dev-
The minimal requirement for a Live Upgrade BE is the same as
for any Solaris boot environment: you must have root (/) and
usr filesystems (which might both reside on /). All filesys-
tems except for /, /usr, /var, and /opt can be shared among
multiple BEs, if you choose.
Each BE must have a unique copy of the file systems that
contain the OS-/, /usr, /var, and /opt. For Live Upgrade
purposes, these are referred to as non-shareable (sometimes
referred to as critical) file systems. With other file sys-
tems, such as /export or /home, you have the option of copy-
ing the files to a new BE or, the default, sharing them
among BEs. These are referred to as shareable file systems.
A BE is made up of a unique copy of one or more non-
shareable file systems and zero or more copies of shareable
Live Upgrade commands support an option (-X) that enables
XML output. Characteristics of the XML are specified in a
DTD shipped with the product. XML output enables program-
matic parsing of portions of the command output.
Live Upgrade supports the notion of a BE description, an
optional attribute of a BE. A BE description can be of any
length and format. It might be a text string or a binary
file. See ludesc(1M) for details.
Below is an example set of steps that you might follow in
the use of Live Upgrade software. These steps specify the
use of commands rather than lu(1M), the FMLI interface. Many
Live Upgrade functions are accessible through lu. Except
where lu does not support a function, the choice between lu
and Live Upgrade commands is a matter of your requirements
and preferences. The following example is by no means
exhaustive of the possibilities of the use of the Live
1. You create a new BE, using lucreate(1M). The first time
you create a BE on a given system, you must designate the
current Solaris operating environment as a BE (give it a
name). You then specify a name and a set of device (disk)
slices you want to use for the new BE. The lucreate com-
mand copies the contents of the current Solaris operating
environment (now a BE) to the new BE.
After you have created additional BEs, you can use a BE
other than the current BE as the source for a new BE.
Also, you can create an empty BE onto which you can later
install a flash archive.
2. Using luupgrade(1M), you upgrade the OS version on your
new BE (or on yet another BE you created with lucreate).
The luupgrade enables you to upgrade an OS (from any
valid Solaris installation medium, including a flash
archive), add or remove packages (OS or application), and
add or remove patches.
3. You use luactivate(1M) to make the new BE bootable. The
next time you reboot your system, you will come up in the
4. Using lucompare(1M), you compare the system files on two
different BEs. This utility gives you a comprehensive
list of the files that have differences.
5. Using lumount(1M), you mount the filesystems of a BE that
is not active, enabling you to make changes. When you are
finished with the changes, use luumount(1M) to unmount
the BE's file systems.
6. Upon booting a new BE, you discover a failure or some
other undesirable behavior. Using the procedure specified
in luactivate, you can fall back to the previous BE.
7. Using ludelete then lucreate, you reassign file systems
on the now-deleted BE to different disk slices. You
separate /opt and /var from / on the new BE. Also, you
specify that swap be spread over slices on multiple
The following is a summary of Live Upgrade commands. All
commands require root privileges.
lu FMLI-based interface for creating and administering
Designate a BE as the BE to boot from upon the next
reboot of the system.
Cancel a previously scheduled operation.
Compare the contents of two BEs.
Create a BE.
Display the name of the current BE.
Delete a BE.
Add or change BE descriptions.
List the file systems on a specified BE.
Re-create a BE based on the active BE.
Mount, unmount file systems of a specified BE.
Rename a BE.
For all BEs on a system, report on whether a BE is
active, active upon the next reboot, in the midst of a
copy operation, and whether a copy operation is
scheduled for it.
Upgrade an OS and install application software on a
BE. Such software includes flash archives, complete OS
installations, OS and application packages, and OS
list of BEs on the system
lu(1M), luactivate(1M), lucancel(1M), lucompare(1M),
lucreate(1M), lucurr(1M), ludelete(1M), ludesc(1M),
lufslist(1M), lumake(1M), lumount(1M), lurename(1M),
lustatus(1M), luupgrade(1M), lutab(4)
Correct operation of Solaris Live Upgrade requires that a
limited set of patch revisions be installed for a given OS
version. Before installing or running Live Upgrade, you are
required to install the limited set of patch revisions. Make
sure you have the most recently updated patch list by con-
sulting http://sunsolve.sun.com. Search for the infodoc
72099 on the SunSolve web site.
It is possible for an operating system upgrade to remove
installed patches. Prior to such an upgrade, use
analyze_patches, as described in luupgrade(1M), to determine
which, if any, patches will be removed.
Live Upgrade supports the release it is distributed on and
up to three marketing releases back. For example, if you
obtained Live Upgrade with Solaris 9 (including a Solaris 9
upgrade), that version of Live Upgrade supports Solaris ver-
sions 2.6, Solaris 7, and Solaris 8, in addition to Solaris
9. No version of Live Upgrade supports a Solaris version
prior to Solaris 2.6.
Man(1) output converted with