Solaris patching is broken because Oracle is dumb and irresponsible
I am setting up a Solaris 10 system, starting from S10U10 (Solaris 10 Update 10) as a starting point to match another server. Solaris includes a registration wizard that comes up automatically after installation, but it doesn't work. Oracle updated their whole online patching system when they took over from Sun and broke the old built-in patching tools. Unfortunately the procedure to update an old system is completely byzantine.
You have this problem if the graphical Solaris Registration Wizard says "Error in SCN/Cacao Update License" when you register, or the
smpatch command errors out like this:
-bash-3.2# smpatch analyze Error: Unable to download document : "xml/motd.xml" Cannot connect to retrieve motd.xml: Authorization Required Failure: Cannot connect to retrieve current3.zip: Authorization Required -bash-3.2# cat /etc/release Oracle Solaris 10 8/11 s10x_u10wos_17b X86 Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved. Assembled 23 August 2011
If you kept your Solaris system patched during the transition period you were presumably fine, as hopefully they released client updates before the took down the old backend, but old systems like my new install get stuck.
I opened a case with Oracle Support who searched their internal database and gave me an irrelevant answer. The real fix is to run
sconadm manually -- which entails manually creating a (simple)
RegistrationProfile.properties file per the instructions in the
sconadm(1M) manual page, embedding your Oracle Support username and password in the file because Oracle cannot do security, registering, and then immediately deleting the file.
smpatch installed a bunch of patches and choked on
147993-05 SunOS 5.10_x86: Pidgin libraries patch. The patch instructions say to install
SUNWgnome-im-client-root from the installation DVD. Our X4500s don't actually have DVD drives -- why can't I just download this package from https://support.oracle.com/? It turns out
SUNWgnome-im-client-root is not on
sol-10-u10-ga2-x86-dvd.iso, but it is available on
-bash-3.2# smpatch update -i 147993-05 Installing patches from /var/sadm/spool... Failed to install patch 147993-05. Utility used to install the update failed with exit code 15. Validating patches...Loading patches installed on the system...Done!Loading patches requested to install.Done!The following requested patches have packages not installed on the systemPackage SUNWgnome-im-client-root from directory SUNWgnome-im-client-root in patch 147993-05 is not installed on the system. Changes for package SUNWgnome-im-client-root will not be applied to the system.Checking patches that you specified for installation.Done!Approved patches will be installed in this order:147993-05 Checking installed patches...Executing prepatch script...No SUNWgnome-im-client-root package can be found. The SUNWgnome-im-client-rootpackage must be installed before applying this patch.Please see the patch README NOTE 1 for information on installing SUNWgnome-im-client-root.The prepatch script exited with return code 1.Patchadd is terminating. Jun 26 09:54:09 dhcp-172-21-230-215 root: [ID 702911 user.alert] => com.sun.patchpro.util.PatchBundleInstaller@1342a67 <=Failed to install patch 147993-05. Failed to install patch 147993-05. ALERT: Failed to install patch 147993-05. /var/sadm/spool/patchpro_dnld_2013.06.26@09:54:03:EDT.txt has been moved to /var/sadm/spool/patchproSequester/patchpro_dnld_2013.06.26@09:54:03:EDT.txt
Then I just had to manually install one more patch which
smpatch refused to, and I was current. Good Times(TM)!