- online man pages   

SunOS man pages : lucompare (1)

Maintenance Commands                                lucompare(1M)


lucompare - compare boot environments


/usr/sbin/lucompare [ -i infile | -t ] [ -o outfile ] BE_name /usr/sbin/lucompare [ -C file [ -o outfile ] ]


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 SunOS 5.8 Last change: 22 Oct 2001 1 Maintenance Commands lucompare(1M) 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.


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 SunOS 5.8 Last change: 22 Oct 2001 2 Maintenance Commands lucompare(1M) 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.


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)).


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.


The following exit values are returned: 0 Successful completion. >0 An error occurred.


/etc/lutab list of BEs on the system


See attributes(5) for descriptions of the following attri- butes: SunOS 5.8 Last change: 22 Oct 2001 3 Maintenance Commands lucompare(1M) ____________________________________________________________ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |_____________________________|_____________________________| | Availability | SUNWluu | |_____________________________|_____________________________|


lu(1M), luactivate(1M), lucancel(1M), lucreate(1M), lucurr(1M), ludelete(1M), lufslist(1M), lumake(1M), lumount(1M), lurename(1M), lustatus(1M), luupgrade(1M), lutab(4), attributes(5), live_upgrade(5)


The lucompare command makes no attempt to reconcile any differences it detects between BEs. SunOS 5.8 Last change: 22 Oct 2001 4