Adding and Updating Software in Oracle® Solaris 11.2

Exit Print View

Updated: July 2014
 
 

IPS Packages

An IPS package is defined by a text file called a manifest. A package manifest describes package actions in a defined format of key/value pairs and possibly a data payload. Package actions include files, directories, links, drivers, dependencies, groups, users, and license information. Package actions represent the installable objects of a package. Actions called set actions define package metadata such as classification, summary, and description.

You can search for packages by specifying package actions and action keys. See Package Content: Actions in Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.2 or the pkg(5) man page for descriptions of package actions.

Incorporation packages and group packages do not deliver content such as files. Incorporation and group packages specify dependencies that help you install sets of related packages.

Incorporation Packages

An incorporation package specifies the versions of other packages that can be installed. Installing an incorporation package does not install any other packages. An incorporation package ensures that if you install an incorporate dependency package of that incorporation package, only the prescribed version of the dependent package can be installed. For example, if a package specified as an incorporate dependency in an installed incorporation package has a version value of 1.4.3, then no version of that package can be installed that has a version value less than 1.4.3 or greater than or equal to 1.4.4. A version of the package with a version value of 1.4.3.7, for example, could be installed.

An incorporation package often specifies many incorporate dependencies to define a surface in the package version space that is compatible. Packages that contain such sets of incorporate dependencies are often called incorporations. Incorporations are typically used to define sets of software packages that are built together and are not separately versioned. The incorporate dependency is heavily used in Oracle Solaris to ensure that compatible versions of software are installed together.

Packages named as incorporate dependencies in the incorporation package might themselves be incorporation packages. In this way, many packages can be affected by an incorporation package even if they are not named in the manifest of the incorporation package. Packages whose installation is affected by an incorporation package are constrained by that incorporation package. Updating an incorporation package B-incorporation that is incorporated by A-incorporation results in also updating A-incorporation and all the other packages constrained by A-incorporation.

Incorporations force the constrained packages to upgrade synchronously to help maintain a working, supportable image. In general, you should not install or update a package that is constrained by an incorporation package. Instead, you should update the incorporation package. A constrained package could be uninstalled, but if the constrained package is installed or updated, the version is constrained. See Relaxing Version Constraints Specified by Incorporations for related information.

The pkg://solaris/entire package is a special incorporation that specifies incorporate dependencies on many other incorporation packages to constrain the versions of most of the system software installed in the image.


Caution

Caution  - Do not remove the package named entire. The entire package constrains system package versions so that the resulting set of packages is a supportable image. Proper system update and correct package selection depend on this incorporation. Removing the entire package will result in an unsupported system.


Group Packages

A group package specifies the set of packages that constitute a feature or tool. Installing a group package installs all the group dependency packages in that group package. Packages specified as group dependencies in a group package do not specify the package version. The group package is a content management tool, not a version management tool.

A group package delivers the packages named in its group dependencies unless those packages are already installed or are on the avoid list. See Avoiding Installing Some Packages in a Group Package for information about the avoid list of an image.

The group/feature/storage-server package, for example, delivers drivers, services, file systems, I/O components, libraries, and utilities related to storage if they are not already installed. The group/system/solaris-minimal-server package delivers the set of packages required for the minimum supported Oracle Solaris environment. See Listing All Installable Packages in a Group Package for an example of how to list all of the packages that are delivered by a group package.

Uninstalling a group package does not necessarily uninstall all the packages named in its group dependencies. Packages that are required by other software that is still installed will not be uninstalled when you uninstall the group package.