Upgrading Solaris 11 Operating System using SRU — Part I

Zaheer Syed (APPSDBAWORKSHOP)
11 min readMay 6, 2019

--

Introduction

Oracle Solaris 11 uses Image packaging system (IPS). The packages in OS are available to be Installed online over the network or can be Installed using a local repository without an Internet connection. Introduction of IPS simplifies the Installation of Packages and its dependencies. Before IPS, patch and package management was a tedious task, system administrator has to manually check all the dependencies before Installation of a package. IPS also simplifies the life a System Admins.

Oracle releases periodic updates of packages for the repositories and these updates are generally available to the customers as Support Repository Update (SRU). Support Repositories are available to download for customers who have valid support ID contract for Oracle Solaris 11. These updates include updates for existing packages on the system and can Introduce new packages with each SRU.

Oracle Solaris 11 Supports Installation of SRU locally without an Internet connection and online with Oracle Solaris repository with an Internet connection

This article demonstrates Installation of Support Repository update (SRU-11.2.2.8.0&SRU- 11.2.3.4.1) on oracle Solaris 11.2 host using a local repository and online Installation of Support Repository update (SRU- 11.2.3.4.1) using “https://pkg.oracle.com/solaris/support/"

Most of the servers are not connected to Internet due to security concerns in that case SRU couldn’t be updated online and we need to configure it in a local repository.

There are two separate documents are available Oracle Solaris 11.1 and Oracle Solaris 11.2 SRU updates.

Oracle Solaris 11.1 Support Repository Updates (SRU) Index (Doc ID 1501435.1)

Oracle Solaris 11.2 Support Repository Updates (SRU) Index (Doc ID 1672221.1)

In this article we will see how we can upgrade using local repository and in next article we will see how we can upgrade the operating system using the Oracle Solaris Online Repository.

In this article we will be working on Oracle Solaris 11.2

The follow table provides the list of available SRU for Oracle Solaris Operating System 11.2

Table 1: List of SRU’s for Oracle Solaris 11.2

1- Installation of SRU using LOCAL REPOSITORY:

1.1- Preparation:

1.1.1) Download and copy patches on the Server

1.1.2) Execute install-repo.ksh script to create local repository for specific SRU

1.1.3) Check version of existing packages

2.1- Installation:

2.1.1) Execute dry run to check changes available in SRU

2.1.2) Update packages

2.1.3) Reboot system and verify updated version of packages

1- PREPARATION

1.1.1- Download and copy patches on the Server

Oracle Solaris SRU 11.2.2.8.0 is available to download via patch 19691311 and 19691315. The first patch contains the repository files and the second patch contains the Installation instructions

§ Login to https://support.oracle.com >> patches & updates tab

§ search for above listed patches and download

§ Upload it to the server using winscp or CD/DVD

Patch download screen on My oracle Support

1.1.2-Execute install-repo.ksh script to create local repository for specific SRU

Create two repositories for 2 different SRU’s (11.2.2.8.0 and 11.2.3.4.1). These repositories will be configured locally on two different directories.

§ Verify the existing configured local repository on server which will be updated with SRU.

root@soltest:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS/
root@soltest:~#
root@soltest:/IPS# ls
COPYRIGHT pkg5.repository README-repo-iso.txt
NOTICES publisher readme.txt
root@soltest:/IPS#

§ Configure repositories for SRU’s

SRU — 11.2.2.8.0

root@soltest2:/sw_home/sol_sru/sol_sru_11_2_2_8_0_files# ls
install-repo.ksh p19691315_1100_SOLARIS64.zip README-zipped-repo.txt
p19691311_1100_SOLARIS64_1of2.zip readme_11_2_2_8_0.html sol-11_2_2_8_0-incr-repo_md5sums.txt
p19691311_1100_SOLARIS64_2of2.zip readme_11_2_2_8_0.txt
root@soltest2:/sw_home/sol_sru/sol_sru_11_2_2_8_0_files# ./install-repo.ksh -d /IPS_SRU_11_2_2_8_0
Using p19691311_1100_SOLARIS64 files for sol-11_2_2_8_0-incr-repo download.
Uncompressing p19691311_1100_SOLARIS64_1of2.zip…done.
Uncompressing p19691311_1100_SOLARIS64_2of2.zip…done.
Repository can be found in /IPS_SRU_11_2_2_8_0.
root@soltest2:/sw_home/sol_sru/sol_sru_11_2_2_8_0_files#

SRU — 11.2.3.4.1

root@soltest2:/sw_home/sol_sru/sol_sru_11_2_3_4_1_files# ls
install-repo.ksh p19664174_1100_SOLARIS64.zip README-zipped-repo.txt
p19664167_1100_SOLARIS64_1of2.zip readme_11_2_3_4_1.html sol-11_2_3_4_1-incr-repo_md5sums.txt
p19664167_1100_SOLARIS64_2of2.zip readme_11_2_3_4_1.txt
root@soltest2:/sw_home/sol_sru/sol_sru_11_2_3_4_1_files# ./install-repo.ksh -d /IPS_SRU_11_2_3_4_1
Using p19664167_1100_SOLARIS64 files for sol-11_2_3_4_1-incr-repo download.
Uncompressing p19664167_1100_SOLARIS64_1of2.zip…done.
Uncompressing p19664167_1100_SOLARIS64_2of2.zip…done.
Repository can be found in /IPS_SRU_11_2_3_4_1.
root@soltest2:/sw_home/sol_sru/sol_sru_11_2_3_4_1_files#

3 -Check version of existing packages

root@soltest2:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS/
root@soltest2:~# 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@soltest2:~# pkg update -nv
No updates available for this image.
root@soltest2:~#

There are no updates available in the current repository (default — configured with Installation media)

2. Installation:

2.1) Execute dry run to check changes available in SRU — 11.2.2.8.0

2.2) Install SRU11.2.2.8.0

2.3) Reboot system and verify updated version of packages

2.4) Execute dry run to check changes available in SRU — 11.2.3.4.1

2.5) Install SRU — 11.2.3.4.1

2.6) Reboot and Verify the incremental updates of SRU

2.1- Execute dry run to check changes available in SRU

Configure two repositories for both SRU version and check for the changes using dry run.

root@soltest2:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS/
root@soltest2:~# pkg set-publisher -G ‘*’ -g file:///IPS_SRU_11_2_2_8_0/ solaris
root@soltest2:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS_SRU_11_2_2_8_0/
root@soltest2:~#

Execute dry run to check how many packages will be updated and actions performed by SRU — 11.2.2.8.0

  • In this SRU it will update 94 packages which consumes 1.17 GB of Disk space, update process will create boot environment and need to reboot for activating patches Environment
root@soltest2:~# pkg update -nv
Packages to remove: 1
Packages to update: 94
Estimated space available: 70.51 GB
Estimated space to be consumed: 1.17 GB
Create boot environment: Yes
Activate boot environment: Yes
Create backup boot environment: No
Rebuild boot archive: Yes
Changed packages:
solaris
consolidation/install/install-incorporation
0.5.11,5.11–0.175.2.0.0.5.0:20130107T161003Z -> None
consolidation/SunVTS/SunVTS-incorporation
==========
list of packages
==========
7.21.2,5.11–0.175.2.0.0.42.1:20140623T022054Z -> 7.21.2,5.11–0.175.2.1.0.5.0:20140801T185058Z
web/server/apache-22
2.2.27,5.11–0.175.2.0.0.42.1:20140623T022811Z -> 2.2.27,5.11–0.175.2.2.0.3.0:20140826T022414Z
Editable files to change:
Update:
etc/driver/drv/lmrc.conf
etc/motd
root@soltest2:~#
  • Similarly configure repository for SRU — 11.2.3.4.1 and execute “pkg update” in dry run method to verify changes available in SRU
root@soltest2:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS_SRU_11_2_2_8_0/
root@soltest2:~# pkg set-publisher -G ‘*’ -g file:///IPS_SRU_11_2_3_4_1/ solaris
root@soltest2:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS_SRU_11_2_3_4_1/
root@soltest2:~#

Dry Run SRU — 11.2.3.4.1

This SRU will update 104 packages, needs 1.18GB of disk space, create new boot environment and requires reboot to activate patches environment.

root@soltest2:~# pkg update -nv
Packages to remove: 1
Packages to update: 104
Estimated space available: 66.03 GB
Estimated space to be consumed: 1.18 GB
Create boot environment: Yes
Activate boot environment: Yes
Create backup boot environment: No
Rebuild boot archive: Yes
Changed packages:
solaris
consolidation/install/install-incorporation
0.5.11,5.11–0.175.2.0.0.5.0:20130107T161003Z -> None
compress/unzip
==========
list of pakages
==========
2.2.27,5.11–0.175.2.0.0.42.1:20140623T022811Z -> 2.2.27,5.11–0.175.2.2.0.3.0:20140826T022414Z
Editable files to change:
Update:
etc/driver/drv/lmrc.conf
etc/motd
root@soltest2:~#

2.2- Install SRU

In SRU — 11.2.2.8.0there are 94 packages which need updates whereas in SRU — 11.2.3.4.1 there are 135 packages which need updates. In this demonstration first SRU -11.2.2.8.0 will be Installed then SRU- 11.2.3.4.1 will be Installed as this SRU will Install minimum number of packages.

Packages will be updated on the system using command “pkg update” command.

root@soltest2:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS_SRU_11_2_2_8_0/
root@soltest2:~# beadm list
BE Active Mountpoint Space Policy Created
— — — — — — — — — — — — — — — — — — —
solaris NR / 29.56G static 2014–10–18 00:15
root@soltest2:~#
root@soltest2:~# pkg update
Packages to remove: 1
Packages to update: 94
Create boot environment: Yes
Create backup boot environment: No
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 95/95 4517/4517 225.3/225.3 0B/s
PHASE ITEMS
Removing old actions 693/693
Installing new actions 783/783
Updating modified actions 5201/5201
Updating package state database Done
Updating package cache 95/95
Updating image state Done
Creating fast lookup database 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
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
  • Check Boot Environments (B.E)
  • pkg update command created a new B.E. solaris-1 and it will be activate on a next reboot.
root@soltest2:~# beadm list
BE Active Mountpoint Space Policy Created
— — — — — — — — — — — — — — — — — — —
solaris N / 5.59M static 2018–10–18 00:15
solaris-1 R — 30.53G static 2018–10–19 17:03
root@soltest2:~#

Select Solaris-1 B.E.

After reboot:

root@soltest2:~# beadm list
BE Active Mountpoint Space Policy Created
— — — — — — — — — — — — — — — — — — —
solaris — — 5.59M static 2018–10–18 00:15
solaris-1 NR / 30.66G static 2018–10–19 17:03
root@soltest2:~#

solaris-1 boot environment is now active

2.3) Reboot system and verify updated version of packages

As listed above all 94 packages will be updated we will verify the version of package “entire”

root@soltest2:~# 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

2.4) Execute dry run to check changes available in SRU — 11.2.3.4.1

Update SRU — 11.2.3.4.1

  • Set repository for SRU — 11.2.3.4.1
root@soltest2:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS_SRU_11_2_2_8_0/
root@soltest2:~# pkg set-publisher -G ‘*’ -g file:///IPS_SRU_11_2_3_4_1/ solaris
root@soltest2:~# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///IPS_SRU_11_2_3_4_1/
root@soltest2:~#
  • Execute Dry run for SRU — 11.2.3.4.1
root@soltest2:~# pkg update -nv
Packages to update: 36
Estimated space available: 65.09 GB
Estimated space to be consumed: 335.24 MB
Create boot environment: Yes
Activate boot environment: Yes
Create backup boot environment: No
Rebuild boot archive: Yes
Changed packages:
solaris
compress/unzip
6.0,5.11–0.175.2.0.0.42.1:20140623T010359Z -> 6.0,5.11–0.175.2.3.0.4.0:20141002T141542Z
consolidation/ips/ips-incorporation
=================
List of packages
=================
0.5.11,5.11–0.175.2.0.0.42.2:20140624T190214Z -> 0.5.11,5.11–0.175.2.3.0.1.2:20140905T183635Z
web/curl
7.21.2,5.11–0.175.2.1.0.5.0:20140801T185058Z -> 7.21.2,5.11–0.175.2.3.0.4.0:20141002T141741Z
Editable files to change:
Update:
etc/motd
root@soltest2:~#

This SRU will update only 36 packages. Earlier when we check for updates before Installing SRU — 11.2.2.8.0 there were 135 packages which needed to be updates. After Installation of SRU — 11.2.2.8.0 there are only 36 packages which needs to be updated.

  • Check Boot Environment Before Installing the update:
root@soltest2:~# beadm list
BE Active Mountpoint Space Policy Created
— — — — — — — — — — — — — — — — — — —
solaris — — 5.59M static 2014–10–18 00:15
solaris-1 NR / 30.66G static 2014–10–19 17:03

2.5) Install SRU — 11.2.3.4.1

root@soltest2:~# pkg update
Packages to update: 36
Create boot environment: Yes
Create backup boot environment: No
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 36/36 2472/2472 64.9/64.9 0B/s
PHASE ITEMS
Removing old actions 118/118
Installing new actions 133/133
Updating modified actions 3240/3240
Updating package state database Done
Updating package cache 36/36
Updating image state Done
Creating fast lookup database Done
Updating package cache 1/1
A clone of solaris-1 exists and has been updated and activated.
On the next boot the Boot Environment solaris-2 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:
https://support.oracle.com/rs?type=doc&id=1672221.1
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -
root@soltest2:~#
  • It will create new boot environment for SRU — 11.2.3.4.1
root@soltest2:~# beadm list
BE Active Mountpoint Space Policy Created
— — — — — — — — — — — — — — — — — — —
solaris — — 5.59M static 2018–10–18 00:15
solaris-1 N / 150.0K static 2018–10–19 17:03
solaris-2 R — 31.31G static 2018–10–19 17:47
root@soltest2:~#

2.6) Reboot ad Verify the incremental updates of SRU

  • Reboot the host and boot from B.E. — solaris-2
  • Select “Solaris-2” host
  • Check B.E.
root@soltest2:~# beadm list
BE Active Mountpoint Space Policy Created
— — — — — — — — — — — — — — — — — — —
solaris — — 5.59M static 2018–10–18 00:15
solaris-1 — — 151.0K static 2018–10–19 17:03
solaris-2 NR / 31.43G static 2018–10–19 17:47
  • Verify version of packages:
root@soltest2:~# pkg info entire
Name: entire
Summary: entire incorporation including Support Repository Update (Oracle Solaris 11.2.3.4.1).
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.3.4.1)
Build Release: 5.11
Branch: 0.175.2.3.0.4.1
Packaging Date: October 2, 2014 10:39:23 PM
Size: 5.46 kB
FMRI: pkg://solaris/entire@0.5.11,5.11–0.175.2.3.0.4.1:20141002T223923Z

To rollback to any specific SRU you need to reboot the host with its respective Boot Environment.

Conclusion:

In this article we have covered how we can upgrade the branch version of Oracle Solaris operating environment using the local repository. In next part of this article we will see how can upgrade the branch release of operating system using the online Oracle Solaris Repository.

About Author:

Syed Zaheer is currently working as a Senior Oracle Application Specialist. He has a decade of experience in the implementation and management of Oracle E-Business suite, Oracle HA Stack, Oracle Fusion Middleware & Oracle Databases. He has extensive experience in working with Oracle Enterprise Linux and Oracle Solaris. He is an Apress author of “Practical Oracle E-Business suite — An Implementation & management Guide”.He is an active member of Oracle technology forums and Oracle awarded him the status of “GURU” for his contributions. He is also an active member of the Toad World community. He has published many articles on OTN & Toadworld community network. He is Oracle certified in OperatingSystems, Application, Databases, Engineered systems and Middle ware. Zaheer has been part of 30+ successful E-Business suite Implementations/Upgrades/Migrations from version 11i to version R12.2.x. He has domain knowledge in diversified business verticals including financials, FMCG,manufacturing, and consulting. He is an active blogger since 2008 and has published 100+ unique articles on hisblog (http://appsdbaworkshop.com) He was a speaker multiple international Oracle conferences — MEOUG, OUGF and TROUG.

--

--