Unable to remove a package from a non-global Solaris zone

book

Article ID: 100019277

calendar_today

Updated On:

Description

Error Message

# pkgrm SYMClma

pkgrm: ERROR: The package may only be removed by the global zone administrator
pkgrm: ERROR: unable to remove package

Resolution

From the Global Zone, run the following command:
info# zonecfg -z

Check for /opt to be inherited.
  • If the /opt directory is inherited, then reinstall the package in the non-global zone.
  • If /opt is not inherited, then check /var/sadm/pkg/SYMClma/pkginfo file in the non-global zone and look for SUNW_PKG_ALLZONES. If it is set to true then the package cannot be removed. Change this value to false and then run pkgrm command from the non-global zone.

When the pkgrm utility is used in the global zone, the following apply:
  • pkgrm can remove a package from the global zone, and from all non-global zones, or from the global zone, only when the package is only installed in the global zone.
  • pkgrm cannot remove a package only from the global zone, if the package is also installed in a non-global zone, or remove a package from any subset of the non-global zones.

Note: A package can only be removed from a non-global zone by a zone administrator if the following are true:
  • The package does not affect any area on the non-global zone that is shared from the global zone.
  • The package has the following set: SUNW_PKG_ALLZONES=false.
Refer to the following Oracle document for details on how to remove a package from a specified non-global zone only:
https://docs.oracle.com/cd/E19455-01/817-1592/z.pkginst.task-31/index.html

Summary:
 
# cd /var/sadm/pkg
# cd
# vi pkginfo
set SUNW_PKG_ALLZONES to false
# pkgrm

Issue/Introduction

Some packages are partially installed in the non-global zone and are unable to be removed from the non-global zone.