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 ArchiveThe 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@2Example 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 16857802Example 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 IDRThe 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 RenamedThe 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.
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.
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.
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.
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