IPS group packages consist solely of dependencies on
other packages that make up a logical grouping of software. These are
similar to, but not the equivalent of, Solaris 10 metaclusters. The main
difference is that metaclusters are nested subsets ranging from a
minimal install to nearly all packages on the media. Group packages have
no such hierarchy. They can overlap other groups, or be completely
disjoint sets.
A group dependency is set this way in an IPS package manifest file:
depend fmri=full/pkg/name type=group
Current Solaris Groups
Solaris
currently has 4 system groups defined. These are used for different
types of installation, and are included in the xml manifest files used
by the various Solaris installers:
Package Name
Summary
Description
Default Installation For:
group/system/solaris-desktop
Oracle Solaris Desktop
Provides an Oracle Solaris desktop environment
Live Media
group/system/solaris-large-server
Oracle Solaris Large Server
Provides an Oracle Solaris large server environment
Text Installer
group/system/solaris-small-server
Oracle Solaris Small Server
Provides a useful command-line Oracle Solaris environment
Zones
group/system/solaris-auto-install
Oracle Solaris Automated Installer Client
Provides an Oracle Solaris Automated Installer client
Automated Installer
There are also several "feature" groups such as AMP and GNU Developer Tools. These are provided for convenience, but are not used directly by any installers.
Retrieving Group Package Information
A listing of all current groups can be found with the command:
pkg info -r group/*
A listing of all the packages in a group can be obtained with:
pkg contents -o fmri -H -rt depend -a type=group groupname
An example:
$ pkg contents -o fmri -H -rt depend -a type=group solaris-desktop
archiver/gnu-tar
audio/audio-utilities
codec/flac
codec/libtheora
codec/ogg-vorbis
codec/speex
communication/im/pidgin
etc.
You can determine which package group is currently installed on your system:
$ pkg list group/system/\*
Output would look like:
NAME (PUBLISHER) VERSION IFO
group/system/solaris-desktop 0.5.11-0.175.0.0.0.0.0 i--
Note that there are not version numbers associated with a group package dependency. The package version that best fits the system will be used, based on other dependencies such as what is listed in incorporation files.
Installing a Group
To Install a group, simple use the group package name as you would any other package:
$ pkg install solaris-small-server
If you want to exclude a package from installing, you can use the --reject flag:
$ pkg install --reject audio/audio-utilities solaris-desktop
Creating Your Own Group
To create your own group package, you can follow the pkg(5) documentation on how to create a package, and use this action for each package that is part of your group:
depend fmri=full/pkg/name type=group