Go to main content

Adding and Updating Software in Oracle® Solaris 11.3

Exit Print View

Updated: September 2018
 
 

Installing IDRs

Before you install an IDR, get information about the IDR such as which problems are addressed by the IDR and what content the IDR delivers.

Example 11  Get Information About the IDR Package Archive

The following command shows that the archive contains three packages published by the solaris publisher:

$ pkgrepo info -s idr1929.2.p5p
PUBLISHER PACKAGES STATUS           UPDATED
solaris   3        online           2015-06-24T09:01:20Z

The pkgrepo list and pkg list commands give similar but different information about the packages in the package archive. The name of the package that you want to install or update is idr1929. The name of the package archive indicates that the archive is version 2 of IDR 1929. The following output indicates that idr1834 has been renamed as described in Example 16, Show Whether an IDR is Renamed.

$ pkgrepo list -s idr1929.2.p5p
PUBLISHER NAME                          O VERSION
solaris   idr1834                       r 2,5.11:20150624T090119Z
solaris   idr1929                         2,5.11:20150624T090120Z
solaris   system/install/media/internal   0.5.11,5.11-0.175.2.9.0.3.2.1929.2:20150624T090120Z
$ pkg list -afg idr1929.2.p5p
NAME (PUBLISHER)                          VERSION                       IFO
idr1834                                   2                             --r
idr1929                                   2                             ---
system/install/media/internal             0.5.11-0.175.2.9.0.3.2.1929.2 ---
Example 12  Show What This IDR Delivers

The following command shows that the idr1929 package incorporates a custom version of the system/install/media/internal package. The version of the system/install/media/internal package specifies this IDR. See the 1929.2 fields at the end of the branch portion of the version string. See Fault Management Resource Identifiers for an explanation of the fields in the package version string. The commands in Example 11, Get Information About the IDR Package Archive showed that the IDR package archive includes this custom version of the package that the IDR package delivers.

$ pkg contents -g idr1929.2.p5p -o type,fmri -t depend idr1929
TYPE        FMRI
incorporate pkg:/system/install/media/internal@0.5.11,5.11-0.175.2.9.0.3.2.1929.2

The following command shows that this custom version of the system/install/media/internal package has a require dependency on the idr1929@2 package: This version of system/install/media/internal will only be installed when this IDR is installed.

$ pkg contents -g idr1929.2.p5p -o type,fmri -t depend media/internal
TYPE    FMRI
require idr1929@2
Example 13  Show Which Problems are Addressed by the IDR

The following command displays the number of the problem report that idr1929 is addressing. Multiple problem reports could be listed.

$ pkg contents -Hg idr1929.2.p5p -o value -t set -a name='*bug*' idr1929
16857802
Example 14  Determine the Oracle Solaris Releases Where the IDR Can Be Installed

The following command displays which Oracle Solaris release this IDR was built for:

$ pkg contents -Hg idr1929.2.p5p -o value -t set -a name="*description*" idr1929
i386 IDR built for release : Solaris 11.2 SRU # 10.5.0

This IDR might be installable on Oracle Solaris releases other than just the release for which the IDR was built. List the versions of all packages delivered by this IDR as shown in Example 12, Show What This IDR Delivers, and compare that list with the list of all available versions of those packages. The IDR can be installed on any Oracle Solaris release that allows installation of the same versions of the packages delivered by the IDR. In this example, idr1929 can be installed on any Oracle Solaris release that allows installation of the system/install/media/internal package at version 5.11-0.175.2.9.0.3.2.

Example 15  Show the Location of the Release Notes for an IDR

The following command shows where the release notes for an installed IDR are located:

$ pkg contents -Ht file idr1929
usr/share/doc/release-notes/idr1929.txt

You can also use the pkg history command to display the release notes. Use the -n, -t, and -N options as described in Viewing Operation History.

If the IDR is not installed, you can display the release notes without installing the IDR by using the pkg install command with the -nv options as shown in How to Install an IDR.

Example 16  Show Whether an IDR is Renamed

The pkgrepo list and pkg list commands in Example 11, Get Information About the IDR Package Archive show that the idr1834 package has been renamed. The following command shows that idr1834 has been renamed to idr1929. If you explicitly install idr1834, idr1929 will be installed instead, and idr1834 will be removed if it is already installed.

$ pkg info -g idr1929.2.p5p idr1834
          Name: idr1834
       Summary: Superseding pkg for idr1834.1
         State: Not installed (Renamed)
    Renamed to: pkg://solaris/idr1929@2,5.11
     Publisher: solaris
       Version: 2
 Build Release: 5.11
        Branch: None
Packaging Date: June 24, 2015 09:01:19 AM
          Size: 5.46 kB
          FMRI: pkg://solaris/idr1834@2,5.11:20150624T090119Z

The following command shows that the idr1834 package has no content other than a dependency on the idr1929 package. The signature action is omitted for brevity.

$ pkg contents -mg idr1929.2.p5p idr1834
set name=pkg.fmri value=pkg://solaris/idr1834@2,5.11:20150624T090119Z
set name=pkg.summary value="Superseding pkg for idr1834.1"
set name=pkg.renamed value=true
depend fmri=pkg://solaris/idr1929@2,5.11 type=require

IDR packages use renaming to enable a system with an IDR installed to update to a new SRU version without requiring an administrator to explicitly remove the installed IDR.

How to Install an IDR

  1. Make sure you do not have other IDRs installed that address this same problem.

    The following command lists the identifiers of all problems addressed by the IDR you want to install:

    $ pkg contents -g idr1929.2.p5p -Ho value -t set -a name='*bug*' idr1929
    ['problemID1, 'problemID2']

    The following command lists all installed packages that address these same problems:

    $ pkg search -lo value,pkg.name problemID1 OR problemID2

    If any problem addressed by the IDR you want to install is also being addressed by an IDR that is currently installed, check whether the IDR you want to install will remove the installed IDR that addresses this same problem. Use the pkg list and pkg info commands or use the -nv options with the pkg install command to determine whether the older IDR will be removed by installing the new IDR. If both IDRs would be installed, contact your support representative.

  2. Add the package archive as a publisher origin.

    This step must be done so that non-global zones can access this repository. Even if this system does not have non-global zones, adding these packages to a configured publisher origin is best practice.

    $ pkg set-publisher -g idr1929.2.p5p solaris
    $ pkg publisher
    PUBLISHER   TYPE     STATUS P LOCATION
    solaris     origin   online F file:///var/share/repos/idr1929.2.p5p/
    solaris     origin   online F https://pkg.oracle.com/solaris/support/

    You might prefer to create a local repository for all your IDR packages. See Copying and Creating Package Repositories in Oracle Solaris 11.3. Make sure the pkg5srv user can access the repository content. Make sure non-global zones can access the repository content.

  3. Make sure this IDR can be installed on this system.

    The following pkg contents command shows that the IDR incorporates the media/internal package at version 5.11-0.175.2.9.0.3.2.1929.2.

    $ pkg contents -ro type,fmri -t depend idr1929
    TYPE        FMRI
    incorporate pkg:/system/install/media/internal@0.5.11,5.11-0.175.2.9.0.3.2.1929.2

    This IDR can be installed if the system has the media/internal package installed at version 5.11-0.175.2.9.0.3.2.

    The following command shows you what would be installed but does not actually perform the installation. Specify the -r option if this image has non-global zones. Notice that the installation operation displays release notes for the IDR. The release notes include the bug that is addressed by the IDR, the packages that are installed by the IDR package, and instructions for removing the IDR.

    $ pkg install -nvr idr1929
               Packages to install:         1
         Estimated space available:  31.42 GB
    Estimated space to be consumed: 122.34 MB
           Create boot environment:        No
    Create backup boot environment:        No
              Rebuild boot archive:        No
    
    Changed packages:
    solaris
      idr1929
        None -> 2,5.11:20150624T090120Z
    Release Notes:
      # Release Notes for IDR : idr1929
      # -------------------------------
    
      Release         : Solaris 11.2 SRU # 10.5.0
    
      Platform         : i386
    
      Bug(s) addressed     :
          16857802 : AI zlib download timeout should be longer
    
      Package(s) included     :
          pkg:/system/install/media/internal
    
      Removal instruction     :
      # /usr/bin/pkg uninstall -r idr1929
      If this IDR is installed on a system running Solaris 11.2 SRU9 or less, use
      this command to remove:
      # /usr/bin/pkg update --ignore-missing -r --reject 
    pkg:/system/install/media/internal@0.5.11,5.11-0.175.2.9.0.3.2:20150321T014312Z
    
      Generic Instructions     :
    
      1) If system is configured with 'Zones', ensure that
      IDR is available in a configured repository.
    
      Special Instructions for : idr1929
    
      None.
  4. Install the IDR.

    The output from the previous command shows that the idr1929 package would be installed. Note that if the system already has a version of idr1834 installed, then installation of idr1929 will be blocked. In that case, you should update idr1834 instead of installing idr1929. The result of updating idr1834 is that idr1929 is installed, as shown in Example 17, Install a Superseding IDR.

    When you install an IDR, make sure a new BE or a backup BE will be created. If you have problems after you install the IDR, you can reboot to the old BE or the backup BE.

    The output of the previous command shows that no new BE and no backup BE will be created for this installation. The following command creates a backup BE before installing the IDR into the current BE:

    $ pkg install --backup-be-name pre-idr1929 idr1929