PKGRM(8) Maintenance Procedures PKGRM(8)


pkgrm - remove a package from the system


pkgrm [-nv] [-a admin] [ [-A | -M] -R root_path]
[-V fs_file]
[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 beginning.

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:

-a admin

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.

-R root_path

Defines the full path 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.

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(7).

-s spool

Remove the specified package(s) from the directory spool. The default
directory for spooled packages is /var/sadm/pkg.


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.

-V fs_file

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

-Y category

Remove packages based on the value of the CATEGORY parameter stored
in the installed or spooled package's pkginfo(5) file. No package
with the CATEGORY value of system can removed from the file system
with this option.


The following operand is supported:


Specifies the package to be removed. The format pkginst.* 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 (\).


Example 1: Removing All Instances of SUNWjunk from client1

The following example removes all instances of SUNWjunk from client1:

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:


Successful completion.


Fatal error.








Reboot after removal of all packages.


Reboot after removal of this package.


pkginfo(1), pkgmk(1), pkgparam(1), pkgproto(1), pkgtrans(1), admin(5),
pkginfo(5), attributes(7), largefile(7), installf(8), pkgadd(8),
pkgask(8), pkgchk(8), removef(8)


Package commands are largefile(7)-aware. They handle files larger than 2
GB in the same way they handle smaller files. In their current
implementations, pkgadd(8), pkgtrans(1) and other package commands can
process a datastream of up to 4 GB.

October 30, 2007 PKGRM(8)