I found a much better way to patch Solaris. You can download Solaris Patch Manager for free for Solaris 8 or 9, and it's already included with Solaris 10. It will analyze your system and download and apply patches. The good thing about it is, it analyzes your system and will only apply patches that you need. It can even patch your licensed products if you have a valid SunSolve account that covers it.
I don't think I've ever done a Solaris_8_Recommended patch cluster where I didn't have problems with it. The problem with "Recommended" is it has EVERY patch that sun currently has, even if you don't have the software it's patching.
Anyway, Patch Manager boils it all down to a single command, "[tt]smpatch[/tt]". After setting it up, the command "[tt]smpatch update[/tt]" will do the whole analysis, downloads, and apply the patches in the proper order. If you just want a list of patches that you need, "[tt]smpatch analyze[/tt]" will just tell you what you need.
Since it needs the network, you need to run it in run level 3. Make sure no users are on and the system is quiescent. Any patches that absolutely require single user mode get set up to automatically run during the next reboot. At the end it will tell you to reboot, when you do, they install. Any failed patches get put into a file that you can later use to try them again when you've corrected whatever's wrong.
If you do want to do them yourself in single user mode, you can use Patch Manager to just analyze, then download only the patches you need.
Here's a patching session on a Solaris 10 box (my commands in [tt]
bold[/tt] (including my comments))...
Code:
# [b]# Set the proxy values[/b]
# [b]smpatch set patchpro.proxy.host=myproxy.mydomain.com \[/b]
> [b]patchpro.proxy.port=5150 \[/b]
> [b]patchpro.proxy.user=proxyuser \[/b]
> [b]patchpro.proxy.passwd=proxypasswd[/b]
#
# [b]# Show the settings[/b]
# [b]smpatch get[/b]
patchpro.backout.directory - ""
patchpro.download.directory - /var/sadm/spool
patchpro.install.types - rebootafter:reconfigafter:standard
patchpro.patch.source - [URL unfurl="true"]https://getupdates1.sun.com/solaris/[/URL]
patchpro.patchset - current
patchpro.proxy.host myproxy.mydomain.com ""
patchpro.proxy.passwd **** ****
patchpro.proxy.port 5150 8080
patchpro.proxy.user proxyuser ""
#
# [b]# See what needs patching[/b]
# [b]smpatch analyze[/b]
121430-11 SunOS 5.8 5.9 5.10: Live Upgrade Patch
119254-25 SunOS 5.10: Install and Patch Utilities Patch
119985-02 SunOS 5.10: perl patch
122911-01 SunOS 5.10 : Apache Patch
121004-02 SunOS 5.10: sh patch
122856-01 SunOS 5.10: sendmail patch
119213-09 NSS_NSPR_JSS 3.11.2: NSPR 4.6.2 / NSS 3.11.2 / JSS 4.2.4
118667-06 J2SE 5.0: update 7 patch, 64bit
#
# [b]# Apply all patches[/b]
# [b]smpatch update[/b]
121430-11 has been validated.
119254-25 has been validated.
119985-02 has been validated.
122911-01 has been validated.
121004-02 has been validated.
Installing patches from /var/sadm/spool...
121430-11 has been applied.
119254-25 has been applied.
119985-02 has been applied.
122911-01 has been applied.
121004-02 has been applied.
WARNING: The installer cannot find the patch.
WARNING: The installer cannot find the patch.
WARNING: The installer cannot find the patch.
/var/sadm/spool/patchpro_dnld_2006.07.18@17:33:39:PDT.txt has been moved to /var/sadm/spool/patchproSequester/patchpro_dnld_2006.07.18@17:33:39:PDT.txt
#
# [b]# It couldn't find three patches, so...[/b]
# [b]smpatch analyze[/b]
122856-01 SunOS 5.10: sendmail patch
119213-09 NSS_NSPR_JSS 3.11.2: NSPR 4.6.2 / NSS 3.11.2 / JSS 4.2.4
118667-06 J2SE 5.0: update 7 patch, 64bit
#
Here's the link to download it for Solaris 8 and 9.
Anyway, this utility rocks! It makes patching a breeze!