How to Access Selected FOSS Evaluation Packages for Oracle Solaris 11.3

Версия 14

    by John Beck, Bonnie Corwin, and Norm Jacobs

     

    This article contains information about the Selected FOSS Evaluation Program and describes how to determine which free and open source software (FOSS) components are part of this program and available in the Oracle Solaris product release repository. It also describes what you need to have in place before downloading and installing any packages, and how to find specific packages in the repository to download and install.

     

    Note: The selected packages made available for use on Oracle Solaris 11.3 are provided for use at your own risk. These packages are not supported through any Oracle support channels.

     

    Table of Contents

     

    Before You Start

     

    Creating a Safe Environment

     

    Create a separate environment that is just for your evaluation, for example, an alternate boot environment (BE) (for example, run beadm create foss-eval-be) or an Oracle Solaris Zone. See the beadm(1m) man page for information about creating and using alternate BEs. Also see Creating and Administering Oracle Solaris 11 Boot Environments and Oracle Solaris Administration: Oracle Solaris Zones, Oracle Solaris 10 Zones, and Resource Management.

     

    Oracle Solaris IPS Publisher

     

    The solaris Image Packaging System (IPS) publisher must be configured to access the Oracle Solaris product release repository. Refer to the pkg(1) man page for information about how to determine and update IPS publisher settings.

     

    Unlocking Packages

     

    Be aware that in order to update software that was released with Oracle Solaris 11.3, packages have to be unlocked before they can be updated. When installing new software that requires updated versions of software that was released with Oracle Solaris 11.3, the packages to be updated must be unlocked before installing.

     

    Recommendations for Customers with Support Contracts

     

    Creating a Safe Environment

     

    As noted above, it is strongly suggested that you create a separate BE for evaluation use. It is specifically not recommended that you update a production system with these packages, because these packages are not supported through any Oracle support channels.

     

    # beadm create foss-eval-be
    # beadm mount foss-eval-be /mnt

     

    IPS Publisher

     

    As noted above, the solaris IPS publisher must be configured to access the Oracle Solaris product release repository. If your publisher is set to the product support repository, the release repository can be added to the publisher configuration using the following command:

     

    # pkg -R /mnt set-publisher -g http://pkg.oracle.com/solaris/release solaris

     

    Updating a Local Package Repository

     

    If you have a local package repository and want to update that repository to include copies of the evaluation packages, you can use the pkgrecv(1) command to transfer them, for example:

     

    # pkgrecv -s http://pkg.oracle.com/solaris/release -d /my/package-repository \*@\*-5.12.0.0.0.122

     

    How to Determine Which FOSS Components Are Available

     

    In general, evaluation software can be selected and identified by looking for the branch identifier 5.12.0.0.0.122 in the package version information. There are three ways to determine which FOSS components are available:

     

    • Refer to the blog post "Selected FOSS Evaluation Packages." The post contains a list of available selected FOSS components that are new or updated since the release of Oracle Solaris 11.3 GA.
    • Use the search mechanism on the Oracle Solaris product release repository web page and search for the branch identifier 5.12.0.0.0.122.
    • Use the pkg list command from the command line to search for the branch identifier 5.12.0.0.0.122, for example:

      # pkg -R /mnt list -a \*@\*-5.12.0.0.0.122

     

    How to Identify Available Packages and Download and Install Them

     

    The component in question first needs to be identified. The vim component is used in this example.

     

    # pkg -R /mnt list -af vim
    NAME (PUBLISHER)              VERSION                    IFO
    editor/vim                    8.0.95-5.12.0.0.0.122.0    ---
    editor/vim                    8.0.95-5.12.0.0.0.115.0    ---
    editor/vim                    7.4-5.12.0.0.0.105.1       ---
    editor/vim                    7.4-5.12.0.0.0.95.0        ---
    editor/vim                    7.4-5.12.0.0.0.90.0        ---
    editor/vim                    7.3.600-0.175.3.0.0.30.0   i--
    editor/vim                    7.3.600-0.175.3.0.0.26.0   ---
    editor/vim                    7.3.600-0.175.2.0.0.42.1   --
    editor/vim                    7.3.600-0.175.1.0.0.24.0   ---
    editor/vim                    7.3.421-0.175.0.10.1.0.0   ---
    editor/vim                    7.3.254-0.175.0.0.0.2.537  ---
    editor/vim                    7.2.308-0.151.0.1          ---
    #

     

    The output above shows that the package's full name is editor/vim, and there is a version available that is newer than what we have installed.  In particular, note that in the VERSION column, the component version (8.0.95, the part to the left of the dash) is newer than what is installed (7.3.600). So a facet needs to be changed so the package can be "unlocked," as follows, and allowed to move forward to a newer version:

     

    # pkg -R /mnt change-facet facet.version-lock.editor/vim=false
                Packages to change:   1
         Variants/Facets to change:   1
     
    PHASE                                          ITEMS
    Removing old actions                             1/1
    Removing package state database                 Done
    Updating package cache                           0/0
    Updating image state                            Done
    Creating fast lookup database                   Done
    Updating package cache                           1/1
    #

     

    Next, we try to update vim, using the -n (trial run) and -v (verbose) options:

     

    # pkg -R /mnt update -nv vim
    No updates available for this image.
    #

     

    The packaging system determined that vim could not be updated. Per the pkg(1) man page, we append "@latest" and try again to find out what additional intervention is required.

     

    # pkg -R /mnt update -nv vim@latest
    pkg update: No matching version of editor/vim can be installed:
         Reject:  pkg://solaris/editor/vim@8.0.95-5.12.0.0.0.122.0
         Reason:  No version matching 'require' dependency editor/vim/vim-core@8.0.95,5.11 can be installed
           ----------------------------------------
           Reject:  pkg://solaris/editor/vim/vim-core@8.0.95-5.12.0.0.0.115.0
                    pkg://solaris/editor/vim/vim-core@8.0.95-5.12.0.0.0.122.0
           Reason:  This version is excluded by installed incorporation consolidation/userland/userland-incorporation@0.5.11-0.175.3.1.0.3.0
           ----------------------------------------
     
    #

     

    It looks like vim has a "require" dependency on editor/vim/vim-core, so that needs to be unlocked, too. As you will see below, this is only the first of several packages that need to be unlocked; skip to the section titled "How to Unlock in Bulk" at the end of this article to find instructions about how to unlock dependency components in bulk. Also, note that the order of the set of packages that needs to be unlocked may vary from this example.

     

    # pkg -R /mnt change-facet version-lock.editor/vim/vim-core=false
                Packages to change:   1
         Variants/Facets to change:   1
     
    PHASE                                          ITEMS
    Removing old actions                             1/1
    Removing package state database                 Done
    Updating package cache                           0/0
    Updating image state                            Done
    Creating fast lookup database                   Done
    Updating package cache                           1/1
    #

     

    Then we try again:

     

    # pkg -R /mnt update -nv vim@latest
     
    pkg update: No matching version of editor/vim can be installed:
      Reject:  pkg://solaris/editor/vim@8.0.95-5.12.0.0.0.122.0
      Reason:  No version matching 'optional' dependency editor/gvim@8.0.95,5.11 can be installed
        ----------------------------------------
        Reject:  pkg://solaris/editor/gvim@8.0.95-5.12.0.0.0.115.0
                 pkg://solaris/editor/gvim@8.0.95-5.12.0.0.0.122.0
        Reason:  This version is excluded by installed incorporation consolidation/userland/userland-incorporation@0.5.11-0.175.3.1.0.3.0
    ...
    #

     

    This means we need to update gvim also. So unlock it:

     

    # pkg -R /mnt change-facet version-lock.editor/gvim=false
           Packages to change: 1
    Variants/Facets to change: 1
    PHASE                                          ITEMS
    Removing old actions                             1/1
    Updating package state database                 Done 
    Updating package cache                           0/0 
    Updating image state                            Done 
    Creating fast lookup database                   Done 
    Updating package cache                           1/1 
    #

     

    Then try again:

     

    # pkg -R /mnt update -nv vim@latest 
    -----------------------------------------------------------
    Package: pkg://solaris/release/evaluation@1.0,5.12-5.12.0.0.0.122.0:20170409T112449Z
    License: evaluation
     
    This software has been made available for evaluation purposes only.
    See http://www.oracle.com/technetwork/server-storage/solaris11/technologies/foss-evaluation-program-2586275.html for further information.
     
               Packages to install:         1
                Packages to update:         3
                Services to change:         2
         Estimated space available:  52.76 GB
    Estimated space to be consumed: 161.42 MB
              Rebuild boot archive:        No
     
    Changed packages:
    solaris
      release/evaluation
        None -> 1.0,5.12-5.12.0.0.0.122.0:20170409T112449Z
      editor/gvim
        7.3.600,5.11-0.175.3.0.0.30.0:20150821T165112Z -> 8.0.95,5.12-5.12.0.0.0.122.0:20170409T151139Z
      editor/vim
        7.3.600,5.11-0.175.3.0.0.30.0:20150821T165123Z -> 8.0.95,5.12-5.12.0.0.0.122.0:20170409T151128Z
      editor/vim/vim-core
        7.3.600,5.11-0.175.3.0.0.30.0:20150821T165119Z -> 8.0.95,5.12-5.12.0.0.0.122.0:20170409T151142Z
     
    Services:
      restart_fmri:
        svc:/application/desktop-cache/desktop-mime-cache:default
        svc:/application/desktop-cache/icon-cache:default
    #

     

    Excellent. Now the actual update can be done.

     

    # pkg -R /mnt update vim@latest
    ------------------------------------------------------------
    Package: pkg://solaris/release/evaluation@1.0,5.12-5.12.0.0.0.122.0:20170409T112449Z
    License: evaluation
     
    This software has been made available for evaluation purposes only.
    See http://www.oracle.com/technetwork/server-storage/solaris11/technologies/foss-evaluation-program-2586275.html for further information.
     
    Packages to install: 1
     Packages to update: 3
     Services to change: 2
     
    pkg: The following packages require their licenses to be accepted before they can be installed or updated:
    ----------------------------------------
    Package: pkg://solaris/release/evaluation@1.0,5.12-5.12.0.0.0.122.0:20170409T112449Z
     
    License: evaluation
      License requires acceptance.
     
    #

     

    To indicate that you agree to and accept the terms of the licenses of the packages listed above, use the --accept option.  To display all of the related licenses, use the --licenses option.

     

    The --accept option to pkg update must be specified to indicate that we have read and understand the information provided in the IPS license action associated with the evaluation software packaging:

     

    # pkg -R /mnt update --accept vim@latest
     
    ------------------------------------------------------------
    Package: pkg://solaris/release/evaluation@1.0,5.12-5.12.0.0.0.122.0:20170409T112449Z
    License: evaluation
     
    This software has been made available for evaluation purposes only.
    See http://www.oracle.com/technetwork/server-storage/solaris11/technologies/foss-evaluation-program-2586275.html for further information.
     
    Packages to install: 1
     Packages to update: 3
     Services to change: 2
    DOWNLOAD                             PKGS         FILES    XFER (MB)   SPEED
    Completed                             4/4     1700/1700    13.0/13.0  4.4M/s
     
    PHASE                                          ITEMS
    Removing old actions                       1653/1653
    Installing new actions                     1671/1671
    Updating modified actions                      88/88
    Updating package state database                 Done
    Updating package cache                           3/3
    Updating image state                            Done
    Creating fast lookup database                   Done
    Updating package cache                           1/1
    #

     

    Success! We got the upgrade we wanted. Repeat the same procedures for any other components you wish to upgrade.

     

    How to Unlock in Bulk

     

    As noted above, pkg -R /mnt list -a \*@\*-5.12.0.0.0.122 can be used to determine the full set of FOSS components available. This can be used in conjunction with a little bit of sed(1) and awk(1) to version-unlock (almost) everything, for those who found the above rinse-and-repeat exercise tedious or those who wish to update/install everything available.

     

    Note: Because of renames and obsoletions, a small number of packages that were locked at their old name will not be caught by the above; hence, the almost qualifier. There are two such packages:

     

    • library/python/logilab-astng
    • library/python/logilab-astng-27

     

    Add these to the list obtained by the above pkg list command to version-unlock everything needed to update/install everything available.

     

    See Also

     

     

    Also see these additional resources:

     

     

    About the Authors

     

    John Beck and Norm Jacobs are principal software engineers in the Oracle Solaris Core Technologies group, and Bonnie Corwin is a senior engineering manager in the Oracle Solaris Core Technologies group.

     

    Follow us:
    Blog | Facebook | Twitter | YouTube