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