Solaris 11.2 SRU updates
Previously I wrote about updating Solaris 11.1 without going full blown IPS. Oracle used to have incremental ISO's to download. I do not see those anymore for Solaris 11.2. Here is a previous article for reference:
In a data center I would maintain an IPS repo and incrementally update the repo when SRU's are released. Guests are then updated against the repo. If you don't want to maintain full blown IPS and just want to update a specific guest to a specific SRU version this article is focusing on that.
Some useful links you may want to look through first:
Create Local Repo:
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)
We will focus on these steps:
Step 1. Stage SRU zip files and turn into a repo with install-repo.ksh.
Step 2. Update guest against repo.
Step 3. Optionally create an ISO.
Step 4: Update from custom ISO created in step 3.
I use Virtualbox for my testing so you can choose how to present folders or ISO's to the guest. Since I have the guest additions on Solaris 11.2 guest I chose to use that instead of one of the links shows screenshots to create a ISO in Windows and present to Virtualbox that way.
Step 1: Stage SRU zip files and turn into a repo with install-repo.ksh.
Download and stage SRU zip files:
# ls -l 11.2_SRU5.5_src/ total 5370490 -rwxrwx--- 1 root vboxsf 1539220019 Jan 7 09:43 p20131812_1100_Solaris86-64_1of2.zip -rwxrwx--- 1 root vboxsf 1210469972 Jan 7 09:37 p20131812_1100_Solaris86-64_2of2.zip
Download install-repo.ksh script and md5sums.txt:
** Note I initially ignored md5sums.txt and that will cause a warning only. Better off just downloading that as well.
# ls -l install-repo.ksh -rwxrwx--- 1 root vboxsf 5594 Jan 9 08:20 install-repo.ksh
# pwd /mnt/sf_DATA/isos/Solaris # mkdir IPS_SRU_11_2_5_5_0 # pwd /mnt/sf_DATA/isos/Solaris/11.2_SRU5.5 # ../install-repo.ksh -d ../IPS_SRU_11_2_5_5_0 /mnt/sf_DATA/isos/Solaris/11.2_SRU5.5_src/sol-*-repo-md5sums.txt: No such file or directory Uncompressing p20131812_1100_Solaris86-64_1of2.zip...done. Uncompressing p20131812_1100_Solaris86-64_2of2.zip...done.</pre> <pre>Repository can be found in ../IPS_SRU_11_2_5_5_0.
** When I used a Virtualbox guest additions mount as a target for the repo the install will work but I had issues later updating the guest.
** Also keep in mind with this method of updating you still need the Oracle repo as well to solve any dependencies introduced in the SRU.
# pwd /mnt/sf_DATA/isos/Solaris/11.2_SRU5.5 # pkg set-publisher -G '*' -g file:////mnt/sf_DATA/isos/Solaris/IPS_SRU_11_2_5_5_0/ solaris pkg set-publisher: The origin URIs for 'solaris' do not appear to point to a valid pkg repository. Please verify the repository's location and the client's network configuration. Additional details: Unable to contact valid package repository Encountered the following error(s): Unable to contact any configured publishers. This is likely a network configuration problem. file protocol error: code: 71 reason: The following catalog files have incorrect permissions: /mnt/sf_DATA/isos/Solaris/IPS_SRU_11_2_5_5_0/publisher/solaris/catalog/catalog.attrs: expected mode: 644, found mode: 770
** Redid the repo prep to local / file system. I had enough room there so it worked fine.
# pwd /mnt/sf_DATA/isos/Solaris/11.2_SRU5.5 # ../install-repo.ksh -d /IPS_SRU_11_2_5_5_0 /mnt/sf_DATA/isos/Solaris/11.2_SRU5.5/sol-*-repo-md5sums.txt: No such file or directory Uncompressing p20131812_1100_Solaris86-64_1of2.zip...done. Uncompressing p20131812_1100_Solaris86-64_2of2.zip...done. Repository can be found in /IPS_SRU_11_2_5_5_0.
Step 2: Update guest against repo.
# pkg set-publisher -g file:////IPS_SRU_11_2_5_5_0/ solaris # pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///IPS_SRU_11_2_5_5_0/ solaris origin online F http://pkg.oracle.com/solaris/release/ # pkg update -nv # pkg update Packages to remove: 1 Packages to update: 153 Create boot environment: Yes Create backup boot environment: No DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 154/154 9014/9014 345.9/345.9 0B/s PHASE ITEMS Removing old actions 1742/1742 Installing new actions 2635/2635 Updating modified actions 8361/8361 Updating package state database Done Updating package cache 154/154 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: http://www.oracle.com/pls/topic/lookup?ctx=solaris11&id=SERNS --------------------------------------------------------------------------- # beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- solaris-1 N / 29.69M static 2014-07-31 15:01 solaris-1-backup-1 - - 183.0K static 2014-08-28 09:39 solaris-1-backup-2 - - 191.0K static 2014-12-02 12:05 solaris-2 R - 13.49G static 2015-01-09 10:21
Step 3: Optionally create an ISO.
# pwd /mnt/sf_DATA/isos/Solaris/11.2_SRU5.5 # mkdir /IPS_SRU_11_2_5_5_0 # ./install-repo.ksh -d /IPS_SRU_11_2_5_5_0 -I -v Uncompressing p20131812_1100_Solaris86-64_1of2.zip...done. Uncompressing p20131812_1100_Solaris86-64_2of2.zip...done. Repository can be found in /IPS_SRU_11_2_5_5_0. Initiating repository verification. Building ISO image... ...done. ISO image and instructions for using the ISO image are at: /mnt/sf_DATA/isos/Solaris/11.2_SRU5.5/sol-11_2-repo.iso /mnt/sf_DATA/isos/Solaris/11.2_SRU5.5/README-repo-iso.txt
Step 4: Update from custom ISO created in step 3.
** Attach ISO to guest
root@solaris11:~# pkg list entire NAME (PUBLISHER) VERSION IFO entire 0.5.11-0.175.2.0.0.42.0 i-- root@solaris11:~# pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ root@solaris11:~# pkg set-publisher -g file:///media/SOL-11_2_REPO/repo solaris root@solaris11:~# pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///media/SOL-11_2_REPO/repo/ solaris origin online F http://pkg.oracle.com/solaris/release/ </pre> <pre>root@solaris11:~# pkg update </pre> <pre>root@solaris11:~# pkg list entire NAME (PUBLISHER) VERSION IFO entire 0.5.11-0.175.2.5.0.5.0 i--