Monday Apr 09, 2012

IPS Package Groups

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 from media

Automated 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

Text Installer from network

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 
About

Insights on Solaris from the Release Engineering view. We aren't upstream in development, or downstream in QA. We're in the middle of each Solaris build.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today