pkgchk - check package installation accuracy
pkgchk [-l | -acfnqvx] [-i file] [-p path... | -P partial-path...] [-R root_path] [ [ -m pkgmap [-e envfile]] | pkginst... | -Y cate-
pkgchk -d device [-l | -fv] [-i file] [-M] [-p path...] [-V fs_file] [pkginst... | -Y category[,category...]]
pkgchk checks the accuracy of installed files or, by using the -l option, displays information about package files. pkgchk checks the
integrity of directory structures and files. Discrepancies are written to standard error along with a detailed explanation of the problem.
The first synopsis defined above is used to list or check the contents and/or attributes of objects that are currently installed on the
system, or in the indicated pkgmap. Package names may be listed on the command line, or by default, the entire contents of a machine will
The second synopsis is used to list or check the contents of a package which has been spooled on the specified device, but not installed.
Note that attributes cannot be checked for spooled packages.
The following options are supported:
-a Audit the file attributes only and do not check file contents. Default is to check both.
-c Audit the file contents only and do not check file attributes. Default is to check both.
-d device Specify the device on which a spooled package resides. device can be a directory path name or the identifiers for tape,
floppy disk, or removable disk (for example, /var/tmp or /dev/diskette).
-e envfile Request that the package information file named as envfile be used to resolve parameters noted in the specified pkgmap
-f Correct file attributes if possible. If used with the -x option, this option removes hidden files. When pkgchk is invoked
with this option, it creates directories, named pipes, links, and special devices if they do not already exist. If the -d
option calls out an uninstalled package, the -f option will only take effect if the package is in directory (not stream)
format. All file attributes will be set to agree with the entries in the pkgmap file except that setuid, setgid, and sticky
bits will not be set in the mode.
-i file Read a list of path names from file and compare this list against the installation software database or the indicated
pkgmap file. Path names which are not contained in file are not checked.
-l List information on the selected files that make up a package. This option is not compatible with the -a, -c, -f, -g, and
-m pkgmap Check the package against the package map file, pkgmap.
-M Instruct pkgchk not to use the $root_path/etc/vfstab file for determining the client's mount points. This option assumes
the mount points are correct on the server and it behaves consistently with Solaris 2.5 and earlier releases.
-n Do not check volatile or editable files' contents. This should be used for most post-installation checking.
-p path Check the accuracy only of the path name or path names listed. path can be one or more path names separated by commas (or
by whitespace, if the list is quoted).
-P partial-path Check the accuracy of only the partial path name or path names listed. partial-path can be one or more partial path names
separated by commas (or by whitespace, if the list is quoted). This option can be used instead of -p and is not compatible
with the other option. This option matches any path name that contains the string contained in the partial path.
-q Quiet mode. Do not give messages about missing files.
-R root_path Define the full name of a directory to use as the root_path. All files, including package system information files, are
relocated to a directory tree starting in the specified root_path. The root_path may be specified when installing to a
client from a server (for example, /export/root/client1).
Note - The root file system of any non-global zones must not be referenced with the -R option. Doing so might damage the
global zone's file system, might compromise the security of the global zone, and might damage the non-global zone's
file system. See zones(5).
-v Verbose mode. Files are listed as processed.
-V fs_file Specify an alternative fs_file to map the client's file systems. For example, used in situations where the
$root_path/etc/vfstab file is non-existent or unreliable.
-x Search exclusive directories, looking for files which exist that are not in the installation software database or the indi-
cated pkgmap file.
-Y category Check packages based on the value of the CATEGORY parameter stored in the installed or spooled package's pkginfo(4) file.
pkginst The package instance or instances to be checked. The format pkginst.* can be used to check all instances of a package. The
default is to display all information about all installed packages.
The asterisk character (*) is a special character to some shells and may need to be escaped. In the C-Shell, "*" must be
surrounded by single quotes (') or preceded by a backslash ();
partial-path A portion of a path, such as a file or directory name.
Example 1: Using pkgchk for Displaying Package Installation Information
The following example displays package installation information for /usr/bin/ls:
example% pkgchk -l -p /usr/bin/ls
Example 2: Checking on Java Font Properties
The following example displays package installation information for all Java font properties installed on the system.
example% pkgchk -l -P font.properties
0 Successful completion.
>0 An error occurred.
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
pkginfo(1), pkgtrans(1), pkgadd(1M), pkgask(1M), pkgrm(1M), pkginfo(4), attributes( 5)
6 Apr 2005 pkgchk(1M)