{"id":801,"date":"2015-01-14T10:00:37","date_gmt":"2015-01-14T18:00:37","guid":{"rendered":"http:\/\/blog.ls-al.com\/?p=801"},"modified":"2015-01-14T10:00:37","modified_gmt":"2015-01-14T18:00:37","slug":"solaris-11-2-sru-updates","status":"publish","type":"post","link":"https:\/\/blog.ls-al.com\/solaris-11-2-sru-updates\/","title":{"rendered":"Solaris 11.2 SRU updates"},"content":{"rendered":"

Previously I wrote about updating Solaris 11.1 without going full blown IPS. Oracle used to have incremental<\/strong> <\/span>ISO's to download. I do not see those anymore for Solaris 11.2. Here is a previous article for reference:<\/p>\n

http:\/\/blog.ls-al.com\/solaris-11-1-update-from-iso\/<\/p>\n

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.<\/p>\n

Some useful links you may want to look through first:
\nCreate Local Repo:<\/strong><\/span>
\nhttp:\/\/www.oracle.com\/technetwork\/server-storage\/solaris11\/downloads\/local-repository-2245081.html
\nhttp:\/\/www.oracle.com\/technetwork\/articles\/servers-storage-admin\/howto-set-up-repos-mirror-ips-2266101.html
\nhttp:\/\/appsdbaworkshop.blogspot.com\/2014\/09\/configure-ips-repository-on-oracle.html<\/p>\n

SRU Index:<\/strong><\/span>
\nOracle Solaris 11.1 Support Repository Updates (SRU) Index (Doc ID 1501435.1)
\nOracle Solaris 11.2 Support Repository Updates (SRU) Index (Doc ID 1672221.1)
\nhttps:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?_afrLoop=390313668034834&id=1672221.1&displayIndex=8&_afrWindowMode=0&_adf.ctrl-state=psan9sn51_234<\/p>\n

We will focus on these steps:<\/strong><\/span>
\nStep 1. Stage SRU zip files and turn into a repo with install-repo.ksh.<\/p>\n

Step 2. Update guest against repo.<\/p>\n

Step 3. Optionally create an ISO.<\/p>\n

Step 4: Update from custom ISO created in step 3.<\/p>\n

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.<\/p>\n

Step 1: Stage SRU zip files and turn into a repo with install-repo.ksh.<\/strong><\/span><\/p>\n

Download and stage SRU zip files:<\/p>\n

\r\n# ls -l 11.2_SRU5.5_src\/\r\ntotal 5370490\r\n-rwxrwx---   1 root     vboxsf   1539220019 Jan  7 09:43 p20131812_1100_Solaris86-64_1of2.zip\r\n-rwxrwx---   1 root     vboxsf   1210469972 Jan  7 09:37 p20131812_1100_Solaris86-64_2of2.zip\r\n<\/pre>\n

Download install-repo.ksh script and md5sums.txt:
\n** Note I initially ignored md5sums.txt and that will cause a warning only.\u00a0 Better off just downloading that as well.<\/em><\/p>\n

\r\n# ls -l install-repo.ksh\r\n-rwxrwx---   1 root     vboxsf      5594 Jan  9 08:20 install-repo.ksh\r\n<\/pre>\n

Prepare repo:<\/p>\n

\r\n# pwd\r\n\/mnt\/sf_DATA\/isos\/Solaris\r\n# mkdir IPS_SRU_11_2_5_5_0\r\n# pwd\r\n\/mnt\/sf_DATA\/isos\/Solaris\/11.2_SRU5.5\r\n\r\n# ..\/install-repo.ksh -d ..\/IPS_SRU_11_2_5_5_0\r\n\/mnt\/sf_DATA\/isos\/Solaris\/11.2_SRU5.5_src\/sol-*-repo-md5sums.txt: No such file or directory\r\nUncompressing p20131812_1100_Solaris86-64_1of2.zip...done.\r\nUncompressing p20131812_1100_Solaris86-64_2of2.zip...done.<\/pre>\r\n<pre>Repository can be found in ..\/IPS_SRU_11_2_5_5_0. <\/pre>\n

** When I used a Virtualbox guest additions\u00a0 mount as a target for the repo the install will work but I had issues later updating the guest.
\n** 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.
\n<\/span><\/em><\/p>\n

\r\n# pwd\r\n\/mnt\/sf_DATA\/isos\/Solaris\/11.2_SRU5.5\r\n\r\n# pkg set-publisher -G '*' -g file:\/\/\/\/mnt\/sf_DATA\/isos\/Solaris\/IPS_SRU_11_2_5_5_0\/ solaris\r\npkg set-publisher: The origin URIs for 'solaris' do not appear to point to a valid pkg repository.\r\nPlease verify the repository's location and the client's network configuration.\r\nAdditional details:\r\n\r\nUnable to contact valid package repository\r\nEncountered the following error(s):\r\nUnable to contact any configured publishers.\r\nThis is likely a network configuration problem.\r\nfile protocol error: code: 71 reason: The following catalog files have incorrect permissions:\r\n\t\/mnt\/sf_DATA\/isos\/Solaris\/IPS_SRU_11_2_5_5_0\/publisher\/solaris\/catalog\/catalog.attrs: expected mode: 644, found mode: 770\r\n\r\n<\/pre>\n

** Redid the repo prep to local \/ file system. I had enough room there so it worked fine.<\/p>\n

\r\n# pwd\r\n\/mnt\/sf_DATA\/isos\/Solaris\/11.2_SRU5.5\r\n# ..\/install-repo.ksh -d \/IPS_SRU_11_2_5_5_0\r\n\/mnt\/sf_DATA\/isos\/Solaris\/11.2_SRU5.5\/sol-*-repo-md5sums.txt: No such file or directory\r\nUncompressing p20131812_1100_Solaris86-64_1of2.zip...done.\r\nUncompressing p20131812_1100_Solaris86-64_2of2.zip...done.\r\nRepository can be found in \/IPS_SRU_11_2_5_5_0.\r\n<\/pre>\n

Step 2: Update guest against repo.<\/strong><\/span><\/p>\n

\r\n# pkg set-publisher -g file:\/\/\/\/IPS_SRU_11_2_5_5_0\/ solaris\r\n\r\n# pkg publisher\r\nPUBLISHER                   TYPE     STATUS P LOCATION\r\nsolaris                     origin   online F file:\/\/\/IPS_SRU_11_2_5_5_0\/\r\nsolaris                     origin   online F http:\/\/pkg.oracle.com\/solaris\/release\/\r\n\r\n# pkg update -nv\r\n\r\n# pkg update\r\n            Packages to remove:   1\r\n            Packages to update: 153\r\n       Create boot environment: Yes\r\nCreate backup boot environment:  No\r\nDOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED\r\nCompleted                            154\/154     9014\/9014  345.9\/345.9    0B\/s\r\n\r\nPHASE                                          ITEMS\r\nRemoving old actions                       1742\/1742\r\nInstalling new actions                     2635\/2635\r\nUpdating modified actions                  8361\/8361\r\nUpdating package state database                 Done\r\nUpdating package cache                       154\/154\r\nUpdating image state                            Done\r\nCreating fast lookup database                   Done\r\nUpdating package cache                           1\/1 \r\n\r\nA clone of solaris-1 exists and has been updated and activated.\r\nOn the next boot the Boot Environment solaris-2 will be\r\nmounted on '\/'.  Reboot when ready to switch to this updated BE.\r\n\r\nUpdating package cache                           1\/1 \r\n\r\n---------------------------------------------------------------------------\r\nNOTE: Please review release notes posted at:\r\n\r\nhttp:\/\/www.oracle.com\/pls\/topic\/lookup?ctx=solaris11&id=SERNS\r\n---------------------------------------------------------------------------\r\n\r\n# beadm list\r\nBE                 Active Mountpoint Space  Policy Created\r\n--                 ------ ---------- -----  ------ -------\r\nsolaris-1          N      \/          29.69M static 2014-07-31 15:01\r\nsolaris-1-backup-1 -      -          183.0K static 2014-08-28 09:39\r\nsolaris-1-backup-2 -      -          191.0K static 2014-12-02 12:05\r\nsolaris-2          R      -          13.49G static 2015-01-09 10:21\r\n<\/pre>\n

Step 3: Optionally create an ISO.<\/strong><\/span><\/p>\n

\r\n# pwd\r\n\/mnt\/sf_DATA\/isos\/Solaris\/11.2_SRU5.5\r\n# mkdir \/IPS_SRU_11_2_5_5_0\r\n# .\/install-repo.ksh -d \/IPS_SRU_11_2_5_5_0 -I -v\r\nUncompressing p20131812_1100_Solaris86-64_1of2.zip...done.\r\nUncompressing p20131812_1100_Solaris86-64_2of2.zip...done.\r\nRepository can be found in \/IPS_SRU_11_2_5_5_0.\r\nInitiating repository verification.\r\nBuilding ISO image...\r\n...done.\r\nISO image and instructions for using the ISO image are at:\r\n\/mnt\/sf_DATA\/isos\/Solaris\/11.2_SRU5.5\/sol-11_2-repo.iso\r\n\/mnt\/sf_DATA\/isos\/Solaris\/11.2_SRU5.5\/README-repo-iso.txt\r\n<\/pre>\n

Step 4: Update from custom ISO created in step 3.<\/strong><\/span>
\n** Attach ISO to guest<\/p>\n

\r\nroot@solaris11:~# pkg list entire\r\nNAME (PUBLISHER)                                  VERSION                    IFO\r\nentire                                            0.5.11-0.175.2.0.0.42.0    i--\r\n\r\nroot@solaris11:~# pkg publisher\r\nPUBLISHER                   TYPE     STATUS P LOCATION\r\nsolaris                     origin   online F http:\/\/pkg.oracle.com\/solaris\/release\/\r\n\r\nroot@solaris11:~# pkg set-publisher -g file:\/\/\/media\/SOL-11_2_REPO\/repo solaris\r\n\r\nroot@solaris11:~# pkg publisher\r\nPUBLISHER                   TYPE     STATUS P LOCATION\r\nsolaris                     origin   online F file:\/\/\/media\/SOL-11_2_REPO\/repo\/\r\nsolaris                     origin   online F http:\/\/pkg.oracle.com\/solaris\/release\/\r\n<\/pre>\r\n<pre>root@solaris11:~# pkg update\r\n<\/pre>\r\n<pre>root@solaris11:~# pkg list entire NAME (PUBLISHER) VERSION IFO entire 0.5.11-0.175.2.5.0.5.0 i-- <\/pre>\n","protected":false},"excerpt":{"rendered":"

Previously I wrote about updating Solaris 11.1 without going full blown IPS. Oracle used to have incremental ISO’s to download.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,14],"tags":[],"class_list":["post-801","post","type-post","status-publish","format-standard","hentry","category-ips","category-solaris"],"_links":{"self":[{"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/posts\/801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/comments?post=801"}],"version-history":[{"count":0,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/posts\/801\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/media?parent=801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/categories?post=801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/tags?post=801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}