We might be able to achieve the general goal without creating problems mentioned by James if the model is slightly different.

Currently Solaris has:
* Install a pkg in all zones (pkgadd)
* Install a pkg in the GZ only (pkgadd -G)
* Install a pkg in a non-GZ only (pkgadd -G)

Note that pkgadd will fail if -G is used and the pkg has set 

To be consistent with the existing usage, a new feature:
* Install a pkg in all zones except one (or a list of zones)
  (pkgadd -Z <zonename>)

should be added to pkgadd, e.g. "pkgadd -Z twilight" would install the pkg in all zones except zone 'twilight'. (There is probably a better option-letter.)

We would still need to decide what should happen if this new option is used and SUNW_PKG_ALLZONES=true. Do we obey the pkg creator or the person running pkgadd?
To be consistent with the way -G works, pkgadd should fail.

James Dickens wrote:
Currently if you create a zone, and install another package in the
global zone, it is installed in the non-global zones. I propose a
feature that you can lock each non-global zone then the new packages
would not be installed in the non-global zones. Of course this only
effects packages that are installed in non inherited directories. If
the package makes changes in an inherited directory I realize that the
change would be visible.

Each zone would have to be unlocked or the lock would have to be
ignored if patch the system.

The interface would be

#zoneadm –z zonename lock

With the zone locked no changes in the global zone effects the
non-global zones.

#zoneadm –z zonename unlock

Now packages installed after being unlocked would be installed in the
non-global zone at the same time as happens now.

Jeff VICTOR              Sun Microsystems            jeff.victor @ sun.com
OS Ambassador            Sr. Technical Specialist
Solaris 10 Zones FAQ:    http://www.opensolaris.org/os/community/zones/faq
zones-discuss mailing list

Reply via email to