Skip to content

Solaris 11.1 Update from ISO

Sometimes you don’t have a Solaris IPS local repo and just want to update to a newer SRU (Support Repository Update). You can check versions at Oracle support and last check this Doc ID contained a good list: Oracle Solaris 11.1 Support Repository Updates (SRU) Index (Doc ID 1501435.1)

Few things to note:

– In this example I updated from SRU 18.5 to SRU 19.6. Most of my updates was actually all the way from the GA release to the latest SRU. And for me I had to have both the Oracle online repo as well as the local incremental SRU set for the update to catch all possible dependencies.

– If updating to a latest SRU and coming from many versions back you might also see something similar to below when the update tries to activate the new BE (boot environment):
Error while accessing “/dev/rdsk/c2d1s0”: No such file or directory
pkg: unable to activate solaris-1

I have not 100% figured out why this is happening and if its just related to LDOM’s but so far once or twice when this occurred either one of the following or a combination of the following allowed me to manually activate the BE. Reboot the updated guest, just doing a simple zpool status, destroying the newly created BE and redoing the update. Like I said all or one of the above steps. I have a suspicion its as simple as doing a zfs status and then the activate worked.

Update 7.18.14: The last upgrade I did I encountered the unable to activate error and a simple zpool status allowed me to do beadm activate.

Lets start by checking the existing version. This indicates we are at SRU 18.5 in this case.

# pkg list entire
NAME (PUBLISHER)                                  VERSION                    IFO
entire                                            0.5.11-0.175.1.18.0.5.0    i--

Since I have the luxury of staging on NFS we might as well mount the repo direct. Another option since this is a LDOM is to add a virtual cdrom the guest. Note below I am setting both the incremental repo as well as the Oracle support repo. Use pkg unset-publisher to clear entries you don’t want.

# mount -F hsfs /software/solaris/sol-11_1_19_6_0-incr-repo.iso /mnt
# pkg set-publisher -g file:///mnt/repo solaris
# pkg set-publisher -P -g http://pkg.oracle.com/solaris/release/ solaris
# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///mnt/repo/
solaris                     origin   online F http://pkg.oracle.com/solaris/release/

Now lets do the update. Since the README for SRU 19.6 explained license around java we need to include the –accept flag. Be warned the README might contain more information you need to adhere to for a successful update. In my case to be extra safe even though Solaris can maintain multiple BE’s (boot environments), I also made a snapshot of the OS on the storage back end.

# pkg update --accept
           Packages to install:   1
            Packages to update:  72
       Create boot environment: Yes
Create backup boot environment:  No

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                              73/73     2018/2018    99.8/99.8    0B/s

PHASE                                          ITEMS
Removing old actions                         238/238
Installing new actions                       277/277
Updating modified actions                  3265/3265
Updating package state database                 Done
Updating package cache                         72/72
Updating image state                            Done
Creating fast lookup database                   Done

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


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

https://support.oracle.com/epmos/faces/DocContentDisplay?id=1501435.1
---------------------------------------------------------------------------

Lets take a look at the boot environments before reboot.

# beadm list
BE              Active Mountpoint Space  Policy Created
--              ------ ---------- -----  ------ -------
solaris-new-1   -      -          13.82M static 2014-01-30 08:27
solaris-new-2   N      /          3.13M  static 2014-05-19 06:37
solaris-new-3   R      -          12.37G static 2014-06-18 04:55
solaris-orig    -      -          11.73M static 2013-07-09 10:26
solaris-sru14.5 -      -          19.87M static 2014-01-29 06:07
# reboot

After a reboot the Solaris version and BE looks like this.

# pkg list entire
NAME (PUBLISHER)                                  VERSION                    IFO
entire                                            0.5.11-0.175.1.19.0.6.0    i--
# beadm list
BE              Active Mountpoint Space  Policy Created
--              ------ ---------- -----  ------ -------
solaris-new-1   -      -          13.82M static 2014-01-30 08:27
solaris-new-2   -      -          14.45M static 2014-05-19 06:37
solaris-new-3   NR     /          12.49G static 2014-06-18 04:55
solaris-orig    -      -          11.73M static 2013-07-09 10:26
solaris-sru14.5 -      -          19.87M static 2014-01-29 06:07