lucompare(1M)




NAME

     lucompare - 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  environment (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  speci-
     fied  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 specified  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/compare. 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 snapshot in  /etc/lu/compare  enables  you  to
     determine which files have changed on the BE since its crea-
     tion.

     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 output 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  speci-
     fied  BE  matches its counterpart on the active BE in all of
     the fields described above. If the checksums differ,  lucom-
     pare  appends the differing checksums 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  com-
           pared  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  com-
           pared.  You  cannot  specify  a BE that is involved in
           another Live Upgrade operation, or specify  a  BE  for
           which  you  have mounted partitions (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/compare.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  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWluu                     |
    |_____________________________|_____________________________|


SEE ALSO

     lu(1M),    luactivate(1M),    lucancel(1M),    lucreate(1M),
     lucurr(1M),    ludelete(1M),    ludesc(1M),    lufslist(1M),
     lumake(1M),   lumount(1M),    lurename(1M),    lustatus(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.


Man(1) output converted with man2html