Check Available Versions

The cause of most update errors is an incomplete package repository. See Best Practices for Creating and Using Local IPS Package Repositories in Creating Package Repositories in Oracle Solaris 11.4. The system to be updated must have access to at least the package versions described in Minimal Required Repository in Creating Package Repositories in Oracle Solaris 11.4.

The system must have access to a package repository that provides the packages that are currently installed on the system. For example, if you are updating from Oracle Solaris 11.3 to Oracle Solaris 11.4, the solaris publisher must be configured with access to both the installed Oracle Solaris 11.3 packages and the desired Oracle Solaris 11.4 packages. If packages are installed from another publisher, such as ha-cluster or solarisstudio, those publishers also must be configured with access to currently installed packages as well as desired newer packages.

If you want to update your operating system release, check the available versions of the pkg:/entire constraint package.

Use the following command to determine what version is installed on the system:

$ pkg list entire

Use the following command to determine what versions are available from configured publishers:

$ pkg list -af entire

The output from this command needs to show the currently installed release, the release to which you want to update, and required intermediate releases as described in Minimal Required Repository in Creating Package Repositories in Oracle Solaris 11.4.

To ensure that the currently installed version of pkg:/entire is still available from configured publishers, check for that specific version in specific enabled publisher locations, as shown in the following example:

$ pkgrepo -s /var/share/pkgrepos/solaris list entire@0.5.11-0.175.3.22.0.3.0

The following command shows that Oracle Solaris 11.3 SRU 22 is installed, and Oracle Solaris 11.3 SRUs 25 and 28 are available from the currently configured solaris publisher. For information about fields in the FMRI, see Fault Management Resource Identifiers.

$ pkg list -af entire@0.5.11-0.175.3
NAME (PUBLISHER)                   VERSION                    IFO
entire                             0.5.11-0.175.3.28.0.4.0    ---
entire                             0.5.11-0.175.3.25.0.3.0    ---
entire                             0.5.11-0.175.3.22.0.3.0    i--

If none of these versions is what you want, or if some releases required to accomplish the update are missing, then set your solaris publisher origin to a different package repository location or add a location. Use the following command to check the publishers that are configured on the system. The -n option says only show enabled publishers:

$ pkg publisher -n

A single publisher, such as solaris, can have multiple repository locations. If a publisher has more than one repository location configured, use the -F option to check whether all locations are enabled, as shown in Enabling and Disabling Publisher Origins. If some of the package versions required to complete the update are in different package repositories, add those package repository locations to the publisher by using additional -g options with the pkg set-publisher command as shown in Adding and Changing Publisher Origins.

If any publisher repository locations are local to your site, you might need to add more content to those repositories. See Creating Package Repositories in Oracle Solaris 11.4 for instructions.

By default, each package is updated from the publisher that provided the currently installed version. You can control the publisher that provides packages by specifying publisher stickiness and search order. See Adding, Modifying, or Removing Package Publishers.

If one of the publisher repository locations is the Oracle Solaris support repository or other secured repository, make sure the key and certificate are valid.

Make sure the system's access to a repository is not blocked by a firewall or proxy.

For more information, see Configuring Publishers.