Thursday, 16 October 2014

All we know how to create local repo and updates for Solaris 11.1, but in Solaris 11.2 release is bit easier than Solaris 11.1. We just need to execute the script which Oracle provides, that will do all for you. First we need to download the basic repositories from Oracle and we have to update with the latest SRU (Support Repository Update). In this post we are going to perform the local repo and update the local repo with latest release SRU.

High Level Plan
  • Download the Basic Oracle Solaris 11.2 Repository
  • Run the install-repo.ksh script to make a local repo
  • Update the local repo with latest SRU
Here I'm using our test Unixrock server which was installed Solaris 11.2 OS recently and next step to create IPS service. Let we start by creating the repository by downloading the following repo from following path

Download the Oracle Solaris 11.2 Repository

After downloading all the repo and given scripts, it will list as below
root@unixrock:~# pkgrepo create /unixrepo
root@unixrock:~# cd /unixrepo
root@unixrock:/unixrepo# ls -ltr
total 14373956
-rwxr-xr-x   1 root     root     1771800121 Oct  2 01:55 sol-11_2-repo-1of4.zip
-rwxr-xr-x   1 root     root     1889867782 Oct  2 02:01 sol-11_2-repo-2of4.zip
-rwxr-xr-x   1 root     root     1902167161 Oct  2 02:06 sol-11_2-repo-3of4.zip
-rwxr-xr-x   1 root     root     1790358735 Oct  2 02:14 sol-11_2-repo-4of4.zip
-rwxr-xr-x   1 root     root        3232 Oct  2 02:14 Readme_Repo.txt
-rwxr-xr-x   1 root     root        5797 Oct  2 02:14 install-repo.ksh
-rwxr-xr-x   1 root     root         230 Oct  2 02:15 sol-11_2-repo-md5sums.txt
root@unixrock:/unixrepo#
Execute the install-repo.ksh script to create local repo, be Patient it will take time according to your system speed.
root@unixrock:/unixrepo#  ./install-repo.ksh -d /unixrepo -v -c 

Comparing checksums of downloaded files...done. Checksums match.

Uncompressing sol-11_2-repo-1of4.zip...done.
Uncompressing sol-11_2-repo-2of4.zip...done.
Uncompressing sol-11_2-repo-3of4.zip...done.
Uncompressing sol-11_2-repo-4of4.zip...done.
Repository can be found in /unixrepo.
Initiating repository verification.
pkg://solaris/runtime/ruby-19                                    4687/4873 -
root@unixrock:/unixrepo#
Below are the options, we can use the same according our requirements
install-repo.ksh -d dest [-s zipsrc] [-i image-name] [-c] [-v] [-I]
-d dest   = destination directory to hold repository
-s zipsrc = full path to directory holding zip files. default: current
directory
-i image  = name of image: e.g. sol-11_2-repo. default: name found in directory
-c        = compare checksums of downloaded zip files
-v        = verify repo after unzipping
-I        = create an ISO image
We can check entire package version details which represent overall system package version. By executing "pkg info entire" command we can check the system package versions.
root@unixrock:/# pkg info entire
          Name: entire
       Summary: Incorporation to lock all system packages to the same build
   Description: This package constrains system package versions to the same
                build.  WARNING: Proper system update and correct package
                selection depend on the presence of this incorporation.
                Removing this package will result in an unsupported system.
      Category: Meta Packages/Incorporations
         State: Installed
     Publisher: solaris
       Version: 0.5.11
 Build Release: 5.11
        Branch: 0.175.2.0.0.42.0
Packaging Date: June 24, 2014 07:38:32 PM
          Size: 5.46 kB
          FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.2.0.0.42.0:20140624T193832Z
root@unixrock:/#
root@unixrock:~# pkg list -af entire
NAME (PUBLISHER)                                  VERSION                    IFO
entire                                            0.5.11-0.175.2.0.0.42.0    ---
root@unixrock:~#
Now let we try to update the local Repository with latest SRU (Support Repository Updates). Downloaded the Latest SRU from Following path DOWNLOAD LATEST SRU, Here I'm downloading 26th September 2014 release IPS package.

root@unixrock:/var/tmp/SRU# ls -ltr 
-rwx------   1 root     root     999266659 Oct 15 23:10 p19691311_1100_Solaris86-64_2of2.zip
-rwx------   1 root     root     1251759204 Oct 15 23:14 p19691311_1100_Solaris86-64_1of2.zip
-rwx------   1 root     root       16565 Oct 15 23:19 p19691315_1100_Solaris86-64.zip
root@unixrock:/var/tmp/SRU#
unzip the "p19691315_1100_Solaris86-64.zip"
root@unixrock:/var/tmp/SRU# unzip p19691315_1100_Solaris86-64.zip
Archive:  p19691315_1100_Solaris86-64.zip
  inflating: README-zipped-repo.txt
  inflating: install-repo.ksh
  inflating: sol-11_2_2_8_0-incr-repo_md5sums.txt
  inflating: readme_11_2_2_8_0.html
  inflating: readme_11_2_2_8_0.txt
root@unixrock:/var/tmp/SRU#
Execute the "install-repo.ksh" with the given options as following
root@unixrock:/var/tmp/SRU# ls -ltr
total 4399843
-rw-r--r--   1 root     root        3759 Sep 30 04:49 README-zipped-repo.txt
-rwxr-xr-x   1 root     root        8279 Sep 30 04:49 install-repo.ksh
-rw-r--r--   1 root     root         136 Sep 30 04:53 sol-11_2_2_8_0-incr-repo_md5sums.txt
-rw-r--r--   1 root     root       20286 Sep 30 06:02 readme_11_2_2_8_0.html
-rw-r--r--   1 root     root       16037 Sep 30 06:02 readme_11_2_2_8_0.txt
-rwx------   1 root     root     999266659 Oct 15 23:10 p19691311_1100_Solaris86-64_2of2.zip
-rwx------   1 root     root     1251759204 Oct 15 23:14 p19691311_1100_Solaris86-64_1of2.zip
-rwx------   1 root     root       16565 Oct 15 23:19 p19691315_1100_Solaris86-64.zip
root@unixrock:/var/tmp/SRU# 
root@unixrock:/var/tmp/SRU# ./install-repo.ksh -d /unixrepo -c -v
Using p19691311_1100_Solaris86-64 files for sol-11_2_2_8_0-incr-repo download.
IPS repository exists at destination /unixrepo
Current version: 0.175.2.0.0.42.0
Do you want to add to this repository? (y/n)[y]: y

Comparing checksums of downloaded files...done. Checksums match.

Uncompressing p19691311_1100_Solaris86-64_1of2.zip...done.
Uncompressing p19691311_1100_Solaris86-64_2of2.zip...done.
Repository can be found in /unixrepo.
Initiating repository rebuild.
Initiating repository verification.
Scanning repository (this could take some time)                     0/5096 / 
Be patient until completion of the verification, once its done we are in good time to update system with updated local repository by executing "pkg update" command which will take care of all which including creation of boot environment which help us when we are in position to rollback the changes
root@unixrock:/var/tmp/SRU# pkg update
            Packages to remove:   1
            Packages to update:  99
       Create boot environment: Yes
Create backup boot environment:  No
Planning linked: 0/1 done; 1 working: zone:rockzone1
Linked image 'zone:rockzone1' output:
| Packages to remove:  1
| Packages to update: 52
| Services to change:  2
`
Planning linked: 1/1 done
DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                            100/100     4691/4691  231.6/231.6    0B/s

Downloading linked: 0/1 done; 1 working: zone:rockzone1
Downloading linked: 1/1 done
PHASE                                          ITEMS
Removing old actions                         763/763
Installing new actions                       834/834
Updating modified actions                  5361/5361
Updating package state database                 Done
Updating package cache                       100/100
Updating image state                            Done
Creating fast lookup database                   Done
Executing linked: 0/1 done; 1 working: zone:rockzone1
Executing linked: 1/1 done
Updating package cache                           1/1

A clone of solaris exists and has been updated and activated.
On the next boot the Boot Environment solaris-1 will be
mounted on '/'.  Reboot when ready to switch to this updated BE.

Updating package cache                           1/1

---------------------------------------------------------------------------
NOTE: Please review release notes posted at:

http://www.oracle.com/pls/topic/lookup?ctx=solaris11&id=SERNS
---------------------------------------------------------------------------

root@unixrock:/var/tmp/SRU# beadm list
BE        Active Mountpoint Space  Policy Created
--        ------ ---------- -----  ------ -------
solaris   N      /          3.68M  static 2014-08-19 05:34
solaris-1 R      -          10.11G static 2014-10-16 01:56
root@unixrock:/var/tmp/SRU# 
Rebooting the server to take effect the latest SRU
root@unixrock:/var/tmp/SRU# init 6
root@unixrock:/var/tmp/SRU#
Booting from Alternate Boot environment "solaris-1" and checking the entire package version
root@unixrock:/# pkg list -af entire
NAME (PUBLISHER)                                  VERSION                    IFO
entire                                            0.5.11-0.175.2.2.0.8.0     i--
entire                                            0.5.11-0.175.2.0.0.42.0    ---
root@unixrock:/#
root@unixrock:/# pkg info entire
         Name: entire
      Summary: entire incorporation including Support Repository Update (Oracle Solaris 11.2.2.8.0).
  Description: This package constrains system package versions to the same
                build.  WARNING: Proper system update and correct package
                selection depend on the presence of this incorporation.
                Removing this package will result in an unsupported system.  For
                more information see
                https://support.oracle.com/rs?type=doc&id=1672221.1.
      Category: Meta Packages/Incorporations
         State: Installed
     Publisher: solaris
       Version: 0.5.11 (Oracle Solaris 11.2.2.8.0)
 Build Release: 5.11
        Branch: 0.175.2.2.0.8.0
Packaging Date: September 26, 2014 07:02:09 PM
          Size: 5.46 kB
          FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.2.2.0.8.0:20140926T190209Z
root@unixrock:/#
Yes....We have updated the local repository with latest SRU. You can check the Version, it show that Oracle Solaris 11.2.2.8.0. Thanks for reading this post, Please provide your feedback and suggestions are highly recommended to improve the excellence of my articles.