NAME
ppkkgguuttiill - Query and manipulate the installer package receipt database.
SYNOPSIS
ppkkgguuttiill [options] [commands]DESCRIPTION
ppkkgguuttiill reads and manipulates the Installer's receipt database and flat packages. ppkkgguuttiill can be used to learn about flat packages, including installation date, location, and which files were or will be installed. Options are processed first, and affect the operation of all commands. Multiple commands are performed sequentially in the given order. OOPPTTIIOONNSS--hheellpp,, -hh A brief summary of commands and usage.
--ffoorrccee,, -ff
Don't ask for confirmation before performing a potentially destructive or ambiguous operation.--vveerrbboossee,, -vv
Output in a "human-readable" format with extra headers, foot-
ers, indentation, and other contextual information.--ddeebbuugg Print implementation details and other useless information
while running.--vvoolluummee path
Perform all operations on the specified volume or home direc-
tory. The root volume '/' will be used if unspecified.--eeddiitt-ppkkgg package-id
Specifies an existing receipt to be modified in-place by
--lleeaarrnn.
--oonnllyy-ffiilleess
List only files (not directories) in --ffiilleess listing.
--oonnllyy-ddiirrss
List only directories (not files) in --ffiilleess listing.
--rreeggeexxpp Try to match package-id arguments as a regular expression if
an exact match isn't found. See egrep(1) and reformat(7) for syntax. DDAATTAABBAASSEE CCOOMMMMAANNDDSS--ppaacckkaaggeess,, --ppkkggss
List all installed package IDs on the specified --vvoolluummee.
--ppkkggss-pplliisstt
List all installed package IDs on the specified --vvoolluummee in
Mac OS X plist(5) format.--ppkkggss==RREEGGEEXXPP
List all installed package IDs matching REGEXP on the speci-
fied --vvoolluummee. The equal sign (=) is rreeqquuiirreedd or the search
string will be ignored and all package IDs will be returned. Be mindful of escaping characters in both your shell and theregular expression. (Eg, 'pkgutil -pkgs=\\.D' searches for
package IDs matching the literal '.D' after escaping the backslash from your shell and then the dot from the regex to make it literal.) Regular expressions are more complex than simple shell globbing. A dot (.) matches any character, while '*' matches zero or more of the previous character. See reformat(7) for a complete description of the syntax.--ffiilleess package-id
List all of the files managed under the package-id. This
list will include files installed by other packages if thoseother packages have tainted the specified package-id. See the
explanation of tainting in the NNOOTTEESS section.--eexxppoorrtt-pplliisstt package-id
Print all receipt information about the specified package-id
in the standard Mac OS X plist(5) format.--iimmppoorrtt-pplliisstt
Load receipt data formatted as a plist(5) from standardinput. Use --eexxppoorrtt-pplliisstt for an example of the data and for-
matting expected.--vveerriiffyy package-id
Run repairpackages(8) to verify the specified package-id.
--rreeppaaiirr package-id
Run repairpackages(8) to repair the specified package-id.
--ppkkgg-iinnffoo package-id
Print extended information about the specified package-id.
--ppkkgg-iinnffoo-pplliisstt package-id
Print extended information about the specified package-id in
Mac OS X plist(5) format.--ffoorrggeett package-id
Discard all receipt data about package-id, but do not touch
the installed files. DDOO NNOOTT use this command from an installer package script to fix broken package design.--uunnlliinnkk package-id
Unlinks (removes) each file referenced by package-id. WWAARRNN-
IINNGG: This command makes no attempt to perform reference counting or dependency analysis. It can easily remove files required by your system. It may include unexpected files dueto ppaacckkaaggee ttaaiinnttiinngg. Use the --ffiilleess command first to double
check.--lleeaarrnn path
Used within a package's postinstall script to record ACLs orfilesystem permissions applied to path that were not con-
tained within the file archive itself. The installer passes a reference to the receipt being constructed via the INSTALLPKGSESSIONID environment variable.--ppkkgg-ggrroouuppss package-id
List all of the package groups this package-id is a member
of.--ggrroouuppss List all of the package groups on the specified --vvoolluummee.
--ggrroouuppss-pplliisstt
List all of the package groups on the specified --vvoolluummee in
Mac OS X plist(5) format.--ggrroouupp-ppkkggss group-id
List all of the packages that are members of this group-id.
--ffiillee-iinnffoo path
Show the metadata known about path.--ffiillee-iinnffoo-pplliisstt path
Show the metadata known about path in Mac OS X plist(5) for-
mat. FFIILLEE CCOOMMMMAANNDDSS--eexxppaanndd pkg-path dir-path
Expand the flat package at pkg-path into a new directory
specified by dir-path.
--ffllaatttteenn dir-path pkg-path
Flatten the dir-path into a new flat package created at
pkg-path. The directory to be flattened mmuusstt have the proper
contents and layout for a flat package. This is not intended as a substitute for packagemaker(1).--bboomm path Extract any BOM files from the flat pkg at path into /tmp and
return the filename(s). Suggested use is as an argument tolsbom(8). Eg, "lsbom `pkgutil -bom path`". Note that flat
package archives may contain no BOM, one BOM, or several BOMs.--ppaayyllooaadd-ffiilleess path
List the files archived within the payload of the uninstalled flat package(s) contained at path. This should be equivilantto "lsbom -s `pkgutil -bom path`". Note that flat package
archives may contain more than one package, and the destina-
tion location for the uninstalled package(s) is unknown to this command. DDEEBBUUGG CCOOMMMMAANNDDSS--ppkkgguuttiill-vveerrssiioonn
Output the version of the ppkkgguuttiill command.--tteesstt Verify a connection to the receipt database and check that
the client and server agree on the protocol version. ENVIRONMENT The following environment variables affect the execution of ppkkgguuttiill. INSTALLPKGSESSIONID Supplied by the Installer when ppkkgguuttiill is used within apackage script. Overridden by the --eeddiitt-ppkkgg option, so
be sure to leave the package unspecified within package scripts if you want to modify the package being installed. INSTALLTARGETVOLUME Supplied by the Installer when ppkkgguuttiill is used within apackage script. Overridden by the --vvoolluummee option, so be
sure to leave the volume unspecified within package scripts if you want to modify the package being installed. NNOOTTEESS 1. PPaacckkaaggee ttaaiinnttiinngg is when one package declares its contents should become part of another package. Future upgrades to the other package will behave as if the other package installed the additional files found in the tainting package. This will usually result in the tainting package's files being removed when the tainted package is upgraded.2. The --ffoorrggeett command is a debugging tool and should not be used rou-
tinely. There are better ways to permanently disable upgrade logic within a package. FILES /usr/libexec/repairpackages /Library/Receipts/db/ ~/Library/Receipts/db/SEE ALSO
installer(8) repairpackages(8) packagemaker(1)http://lists.apple.com/mailman/listinfo/installer-dev
BUGS
Package dependency analysis and reference counting are not yet available,hence there is no --uunniinnssttaallll command yet.
Mac OS December 21, 2019 Mac OS