fverify - verify software subsets
-n Specifies error reporting only. The fverify command reports errors but
makes no fixes.
-p Specifies partial checking. The fverify command does not report
changes in size or checksum for files marked as volatile. All other
changes are reported.
-y Specifies noninteractive fixing. The fverify command fixes permis-
sions, UIDs, and GIDs of any files that have incorrect values for these
attributes. No user input is required.
The fverify command reads subset inventory records from standard input and
verifies that the attributes for the files on the system match the attri-
butes listed in the corresponding records. When invoked with no options,
fverify reports errors to standard output and prompts for confirmation
before making corrections.
You must have root privileges to use this command.
Missing files and inconsistencies in file size, checksum, user ID, group
ID, permissions, and file type are reported. If inconsistencies in ID or
permissions are detected, fverify prompts you for correction. Missing
directories are created. All errors and informational messages are
appended to the /var/adm/smlogs/fverify.log file.
Files in a subset can be marked as volatile. These files (for example,
/etc/passwd) are expected to change after installation. When used with the
-p option, fverify does not report an inconsistency if these files have a
size or checksum that does not match the product's inventory.
The setld utility uses fverify when installing subsets to guarantee correct
Problems with file size, type, and checksum cannot be corrected. Errors in
permissions for symbolic links are neither reported nor fixed.
Because subset inventories give file names as relative paths, fverify must
be invoked from the root directory to which the software is installed.
Many of the files on the system cannot be read or modified without
appropriate privilege. Attempting to run fverify without appropriate
privilege can result in a great number of access errors.
+ fverify: out of memory
Not enough memory is available from the system.
+ pathname: cannot stat (error-message)
The file pathname is listed in the inventory but is not on the system.
The error-message provides further information.
+ pathname: file type x should be y
The file is listed in the inventory as being type y, but the copy of
the file on the disk is type x. The file type codes are:
b Block device
c Character device
d Directory containing one or more files
f Regular file
l Hard link
p Named pipe (FIFO)
s Symbolic link
= UNIX domain socket
+ pathname: checksum n should be m
The checksum of pathname was expected to be m but is actually n.
+ pathname: size n should be m
The size of file pathname but was expected to be m but is actually n.
+ pathname: gid n should be m
The group ID for pathname was expected to be m but is actually n.
+ pathname: uid n should be m
The user ID for pathname was expected to be m but is actually n.
+ pathname: permissions string1 should be string2
The permissions for pathname were expected to be string2 but are actu-
ally string1. The format of string1 and string2 is the same as that
used by the ls command.
+ Creating directory pathname
The directory pathname is listed in the input inventory but does not
exist on the system. The fverify command attempts to create it.
+ cannot correct pathname (error-message)
A problem reported with pathname could not be corrected. The error-
message explains the failure.
+ pathname corrected
A problem with pathname was successfully corrected.
+ Cannot create dir pathname (error-message)
The fverify program failed in its attempt to create a directory that
it found missing. The error-message explains the failure.
+ n verification errors encountered.m corrections performed.
Before exiting, the fverify program prints these statistics describing
what had been done.
If fverify executes correctly, its exit status is the total number of
verification errors detected minus the total number of successful fixes.
1. The following command sequence reports verification problems in the
hypothetical OATDCB100 subset:
/usr/lbin/fverify -n << /usr/.smdb./OATDCB100.inv
2. The previous example reports changes to volatile files. The following
command sequence ignores changes to these files:
/usr/lbin/fverify -np << /usr/.smdb./OATDCB100.inv
3. The following command sequence fixes all problems in the same subset
without requiring user intervention:
/usr/lbin/fverify -y << /usr/.smdb./OATDCB100.inv
4. The following command sequence fixes all problems in the same subset
/usr/lbin/fverify << /usr/.smdb./OATDCB100.inv
Subset inventory files
Commands: ls(1), setld(8)
Guide to Preparing Product Kits