pkgchk(1M)


pkgchk -- check accuracy of installation

Synopsis

   pkgchk [-l | -acfqv] [-nx] [-p path1[,path2 . . . ] [-i file] 
   	[pkginst . . . ] 
   

pkgchk -d device [-l | v] [-p path1[,path2 . . . ] [-i file] [pkginst . . . ]

pkgchk -m pkgmap [-e envfile] [-l | -acfqv] [-nx] [-i file] [-p path1[,path2 . . . ]]

Description

pkgchk checks the accuracy of installed files or, by use of the -l option, displays information about package files. The command checks the integrity of directory structures and the files. Discrepancies are reported on stderr 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. Package names may be listed on the command line, or by default the entire contents of a machine will be checked.

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 third synopsis is used to list or check the contents and/or attributes of objects which are described in the indicated pkgmap.

The option definitions are:

-l
Lists information on the selected files that make up a package. It is not compatible with the a, c, f, g, and v options.

-a
Audits the file attributes only, does not check file contents. Default is to check both.

-c
Audits the file contents only, does not check file attributes. Default is to check both.

-f
Corrects file attributes if possible. If used with the -x option, it 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.

-q
Quiet mode. Does not give messages about missing files.

-v
Verbose mode. Files are listed as processed.

-n
Does not check volatile or editable files. This should be used for most post-installation checking.

-x
Searches exclusive directories only, looking for files that exist that are not in the installation software database or the indicated pkgmap file. (An exclusive directory is a directory created by and for a package; it should contain only files delivered with a package. If any non-package files are found in an exclusive directory, pkgchk reports an error.) If -x is used with the -f option, hidden files are removed; no other checking is done.

-p
Only checks the accuracy of the pathname or pathnames listed. ``pathname'' can be one or more pathnames separated by commas (or by white space, if the list is quoted).

-i
Reads a list of pathnames from file and compares this list against the installation software database or the indicated pkgmap file. Pathnames that are not contained in ``inputfile'' are not checked.

-d
Specifies the device on which a spooled package resides. device can be a directory pathname, the identifiers for a tape or other removable medium (for example, /var/tmp, /dev/rmt0, or /dev/rmt/ctape1), or ``"-"'' which specifies packages in datastream format read from standard input.

-m
Requests that the package be checked against the pkgmap file pkgmap.

-e
Requests that the pkginfo file named as envfile be used to resolve parameters noted in the specified pkgmap file.

pkginst
A short string used to designate a package. It is composed of one or two parts: ``pkg'' (an abbreviation for the package name) or, if more than one instance of that package exists, ``pkg'' plus inst (an instance identifier). (The term ``package instance'' is used loosely: it refers to all instantiations of pkginst, even those that do not include instance identifiers.)

The package name abbreviation (``pkg'') is the mandatory part of pkginst. [See pkginfo(1), pkginfo(4).]

The second part (inst), which is required only if you have more than one instance of the package in question, is a suffix that identifies the instance. This suffix is either a number (preceded by a period) or any short mnemonic string you choose. If you don't assign your own instance identifier when one is required, the system assigns a numeric one by default. For example, if you have three instances of the Advanced Commands package and you don't create your own mnemonic identifiers (such as old and beta), the system adds the suffixes .2 and .3 to the second and third packages, automatically.

To indicate all instances of a package, specify 'pkginst.*', enclosing the command line in single quotes, as shown, to prevent the shell from interpreting the * character. Use the token all to refer to all packages available on the source medium.

Exit codes

0
Successful completion of script.

1
Fatal error. Installation process is terminated at this point.

Files

/usr/lib/locale/locale/LC_MESSAGES/uxpkg
language-specific message file [See LANG on environ(5).]

References

compver(4), copyright(4), depend(4), installf(1M), pkgadd(1M), pkgask(1M), pkginfo(1), pkginfo(4), pkgmap(4), pkgrm(1M), pkgtrans(1), space(4)

Notices

To remove hidden files only, use the -f and -x options together. To remove hidden files and check attributes and contents of files, use the -f, -x, -c, and -a options together.


30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.