How To Apply A Solaris Recommended Patch Cluster

This article describes the process of applying a Solaris recommended patch cluster, or patchset as it is now called. This procedure applies only to Solaris 10 servers that have no zones or boot environments configured.

As a first step, download the recommended patch cluster from the My Oracle Support (MOS) site. You may need a valid customer support identifier to download patches from MOS. It is also important to know whether the Solaris kernel you are patching is 32- or 64-bit. Read How To Determine If The Solaris Kernel Is 32- Or 64-bit for more information.

Unzip the Solaris recommended patch cluster file in /var/tmp. You will need about 5 GB of disk space.

solaris-svr# unzip -l | more
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  10-21-2011 13:28   10_Recommended/
     4779  10-21-2011 13:19   10_Recommended/patchset.conf
    55305  10-21-2011 13:19   10_Recommended/10_Recommended.README
     7625  10-21-2011 13:19   10_Recommended/Copyright
       15  10-21-2011 13:19   10_Recommended/installcluster
    99565  10-21-2011 13:19   10_Recommended/installpatchset
        0  10-21-2011 13:19   10_Recommended/patches/
        0  10-06-2010 10:24   10_Recommended/patches/143643-04/
    18775  09-18-2010 08:14   10_Recommended/patches/143643-04/LEGAL_LICENSE.TXT
     2429  10-05-2010 23:10   10_Recommended/patches/143643-04/prepatch
      247  10-05-2010 23:15   10_Recommended/patches/143643-04/patchinfo
     2433  10-05-2010 23:10   10_Recommended/patches/143643-04/prebackout

Read the 10_Recommended.README file paying particular attention to the amount of free space in the /var filesystem required to install the patch cluster. This is usually around 3 GB. Also, check the “Install Instructions” section for requirements specific to your server’s configuration; i.e. zones, boot environments, etc. Lastly, extract the passcode from the 10_Recommended.README file. This is required as an argument to the installcluster script.

solaris-svr# grep PASSCODE 10_Recommended.README
*************** PASSCODE **************
PASSCODE: s10patchset

In most cases it is fine to apply the patch cluster in a system running in multi-user mode. However, it is a good idea to bring it to single user mode before applying the patch cluster. Note that this does not apply if you are applying the patch cluster to an alternate boot environment.

solaris-svr# shutdown -g0 -y -is

Shutdown started.    Tue Oct 25 12:39:53 EST 2011

Changing to init state s - please wait
Broadcast Message from root (console) on solaris-svr Tue Oct 25 12:39:54...
Log off now or risk your files being damaged

solaris-svr# svc.startd: The system is coming down for administration.  Please wait.
Oct 25 12:40:00 solaris-svr rpc.metad: Terminated
Oct 25 12:40:09 solaris-svr syslogd: going down on signal 15
svc.startd: Killing user processes: done.
Requesting System Maintenance Mode
(See /lib/svc/share/README for more information.)

Root password for system maintenance (control-d to bypass):
single-user privilege assigned to /dev/console.
Entering System Maintenance Mode

Oct 25 12:40:41 su: 'su root' succeeded for root on /dev/console
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005
solaris-svr# who -r
   .       run-level S  Oct 25 12:39     S      0  3

Run the installcluster script supplying the passcode extracted from the 10_Recommended.README file.

solaris-svr# ./installcluster --s10patchset

Setup .........

Recommended OS Patchset Solaris 10 SPARC (2011.10.20)

The patch set will complete installation in this session. No intermediate
reboots are required.

Application of patches started : 2011.10.25 12:42:32

Applying 120900-04 (  1 of 326) ... skipped
Applying 121133-02 (  2 of 326) ... skipped
Applying 119254-81 (  3 of 326) ... success
Installation of patch set complete. PLEASE REBOOT THE SYSTEM.

Install log files written :

Reboot the server and check that everything is ok.

solaris-svr# init 0
/var is a separate mount point and isn't found under /var/run/.patch_root_loopbackmnt/
making /var/tmp under /var/run/.patch_root_loopbackmnt/
Creating boot_archive for /var/run/.patch_root_loopbackmnt
updating /var/run/.patch_root_loopbackmnt/platform/sun4u/boot_archive
solaris-svr# svc.startd: The system is coming down.  Please wait.
svc.startd: 24 system services are now being stopped.
svc.startd: The system is down.
syncing file systems... done
Program terminated
{1} ok boot -r
Resetting ...
RSC Alert: Host System has Reset
Probing system devices
Probing system devices

Sun Fire 280R (2 X UltraSPARC-III) , No Keyboard
Copyright 1998-2004 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.16.4, 8192 MB memory installed, Serial #########.
Ethernet address ##:##:##:##:##:##, Host ID: ########.

Rebooting with command: boot -r
Boot device: /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@w2100002037e7283f,0:a  File and args: -r
SunOS Release 5.10 Version Generic_147440-04 64-bit
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Hostname: solaris-svr
Configuring devices.
solaris-svr console login: