lucompare(1M) System Administration Commands lucompare(1M)NAMElucompare - compare boot environments
SYNOPSIS
/usr/sbin/lucompare [-i infile | -t] [-o outfile] BE_name
[-X]
/usr/sbin/lucompare [-C file [-o outfile]] [-X]
DESCRIPTION
The lucompare command is part of a suite of commands that make up the
Live Upgrade feature of the Solaris operating environment. See
live_upgrade(5) for a description of the Live Upgrade feature.
The lucompare command compares the contents of the current boot envi‐
ronment (BE) with the contents of another BE. With the -C option,
lucompare compares file statistics so that you can determine which
files have changed on a BE since a specified time, such as the creation
time of a BE. A specified BE must be inactive and in the complete
state, as reported by the lustatus(1M) command. Also, a BE cannot have
a copy job scheduled, which is also reported by lustatus(1M). A speci‐
fied BE cannot have any partitions mounted with lumount(1M) or
mount(1M).
For each file system defined for a specified BE, lucompare compares all
files with the files with the same pathnames in the current BE. The
files present in the active BE, but not in the specified BE, and vice-
versa, are reported. You also have the option to specify a list of
files to be compared.
If you specify the -C option, instead of doing an absolute comparison
of the current BE with a target BE, lucompare compares the files in a
specified BE with the list of files recorded in a file. When a BE is
created, lucreate(1M) creates a file named :<BE_name> in /etc/lu/com‐
pare. You can use the -C option to compare the files in a specified BE
to this snapshot in /etc/lu/compare or you can compare the BE to a file
previously created with the -o option. Comparing a BE to its own snap‐
shot in /etc/lu/compare enables you to determine which files have
changed on the BE since its creation.
By default, the output of lucompare is written to stdout. With the -C
option, you must use the -o option to specify an output file. The out‐
put for lucompare is a list of files that differ in permissions, owner,
group, or sum, along with the reason for difference. The output format
is shown below:
> active BE
< BE_name
reason
> file_name:owner:group:number_of_links:mode:type: size
or major_minor number:checksum
< file_name:owner:group:number_of_links:mode:type: size
or major_minor number:checksum
The above fields are obtained from the stat(2) structure of the file.
The type field can be one of the following:
SYMLINK symbolic link
FIFO FIFO file
CHRSPC character special
BLKSPC block special
DIR directory
REGFIL regular file
UNKNOW unknown file type
lucompare computes checksums only if the file on the specified BE
matches its counterpart on the active BE in all of the fields described
above. If the checksums differ, lucompare appends the differing check‐
sums to the entries for the compared files.
The lucompare command requires root privileges.
OPTIONS
The lucompare command has the following options:
-C file Compare file statistics of BE with those recorded in
file. file can be the snapshot created at BE creation
time, /etc/lu/compare/:<BE_name>, or a file previously
created with the -o option. You must use the -o option
with this option.
-i infile Compare files listed in infile. The files to be compared
should be an absolute filename. If the entry in the file
is a directory, then comparison is recursive with respect
to the directory. Mutually exclusive of -t.
-o outfile Send output of differences to outfile. You must use this
option if you use -C.
-t Compare only nonbinary files. This is achieved by per‐
forming a file(1) command on each file in the tree walk
and only comparing text files. Mutually exclusive of -i.
-X Enable XML output. Characteristics of XML are defined in
DTD, in /usr/share/lib/xml/dtd/lu_cli.dtd.<num>, where
<num> is the version number of the DTD file.
OPERANDS
BE_name Name of the BE to which the active BE will be compared. You
cannot specify a BE that is involved in another Live Upgrade
operation, or specify a BE for which you have mounted parti‐
tions (using lumount(1M) or mount(1M)).
EXAMPLES
Example 1 Checking Differences Since BE Creation
The following command lists the differences in the BE s8u5 between its
creation time and the present.
# lucompare-C /etc/lu/compare/:s8u5 -o /var/tmp/compare.out s8u5
Note that /etc/lu/compare/:s8u5 is the file created by lucreate upon
creation of a BE. The list of differences is sent to /var/tmp/com‐
pare.out.
EXIT STATUS
The following exit values are returned:
0 Successful completion.
>0 An error occurred.
FILES
/etc/lutab
list of BEs on the system
/usr/share/lib/xml/dtd/lu_cli.dtd.<num>
Live Upgrade DTD (see -X option)
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWluu │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOluactivate(1M), lucancel(1M), lucreate(1M), lucurr(1M), ludelete(1M),
ludesc(1M), lufslist(1M), lumake(1M), lumount(1M), lurename(1M), lusta‐
tus(1M), luupgrade(1M), lutab(4), attributes(5), live_upgrade(5)NOTES
The lucompare command makes no attempt to reconcile any differences it
detects between BEs.
SunOS 5.10 21 Dec 2001 lucompare(1M)