pkgrm - remove a package from the system
pkgrm [-nv] [-a admin] [ [-A | -M] -R root_path]
[pkginst... | -Y category[,category...]]
pkgrm -s spool
[pkginst... | -Y category[,category...]]
pkgrm will remove a previously installed or partially
installed package from the system. A check is made to determine if any other
packages depend on the one being removed. If a dependency exists, the action
taken is defined in the admin file.
The default state for the command is in interactive mode, meaning
that prompt messages are given during processing to allow the administrator
to confirm the actions being taken. Non-interactive mode can be requested
with the -n option.
The -s option can be used to specify the directory from
which spooled packages should be removed.
Certain unbundled and third-party packages are no longer entirely
compatible with the latest version of pkgrm. These packages require
user interaction throughout the removal and not just at the very
To remove these older packages (released prior to Solaris 2.4),
set the following environment variable:NONABI_SCRIPTS=TRUE
pkgrm permits keyboard interaction throughout the removal as long as
this environment variable is set.
The following options are supported:
Use the installation administration file, admin,
in place of the default admin file. pkgrm first looks in the
current working directory for the administration file. If the specified
administration file is not in the current working directory, pkgrm
looks in the /var/sadm/install/admin directory for the administration
Remove the package files from the client's file system,
absolutely. If a file is shared with other packages, the default behavior is
to not remove the file from the client's file system.
Instruct pkgrm 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.
Non-interactive mode. If there is a need for interaction,
the command will exit.
Use of this option requires that at least one package instance be
named upon invocation of the command. Certain conditions must exist for a
package to be removed non-interactively or a non-restrictive admin
file needs to be used.
Defines the full path name of a directory to use as the
. All files, including package system information files, are
relocated to a directory tree starting in the specified root_path
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)
Remove the specified package(s) from the directory
spool. The default directory for spooled packages is
Trace all of the scripts that get executed by
pkgrm, located in the pkginst/install directory. This
option is used for debugging the procedural and non-procedural scripts.
Specify an alternative fs_file to map the client's
file systems. Used in situations where the
$root_path/etc/vfstab file is non-existent or
Remove packages based on the value of the CATEGORY
parameter stored in the installed or spooled package's pkginfo(4)
No package with the CATEGORY
value of system
can removed from
the file system with this option.
The following operand is supported:
Example 1 Removing All Instances of SUNWjunk from client1
Specifies the package to be removed. The format
can be used to remove all instances of a package.
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
The following example removes all instances of SUNWjunk
example% pkgrm -R /export/root/client1 SUNWjunk*
Note the caveat on the use of the -R option in the
description of that option, above.
The following exit values are returned:
Reboot after removal of all packages.
Reboot after removal of this package.
pkginfo(1), pkgmk(1), pkgparam(1),
pkgproto(1), pkgtrans(1), installf(1M),
pkgadd(1M), pkgask(1M), pkgchk(1M), removef(1M),
admin(4), pkginfo(4), attributes(5),
Package commands are largefile(5)-aware. They handle files
larger than 2 GB in the same way they handle smaller files. In their current
implementations, pkgadd(1M), pkgtrans(1) and other package
commands can process a datastream of up to 4 GB.