Patching Solaris with PCA

The PCA (Patch Check Advanced) utility generates a lists of installed and missing patches for a given Solaris system, and optionally downloads those patches.

Not only does PCA generate a list of patches and downloads them for you, it also resolves dependencies between patches and installs them in the correct order.

PCA Components

The PCA utility consists of just 2 components

  1. pca.pl (an executable perl script)
  2. patchdiag.xref (a patch reference file)

Where is it?

You can download the PCA perl script and the patchdiag.xref from http://www.par.univie.ac.at/solaris/pca/installation.html

Installing PCA

There is no need to install anything on your server, it doesn't need compilation, nor installation, and it doesn't need root permissions to run. It also works on all versions of Solaris, both SPARC and x86

  1. Downloads PCA and XREF files and place them under /var/tmp
  2. Make the script executable

Note: the patchdiag.xref file must be downloaded to /var/tmp. If you download the reference file to any other location, you need to specify -x <path-to-patchdiag.xref> on your pca command line.

PCA Examples

The following examples show various uses of the PCA script

List all the missing patches
# /var/tmp/pca.pl -l all

where -l is for listing the patches, and all parameter is for all the patches. Replace -l with -r for Recommended patches, -s for Security patches.

Downloading patches with PCA

You can download patches at anytime before you plan to install

# mkdir /var/tmp/patches
# cd /var/tmp/patches
# /var/tmp/pca.pl -d all

where -d is for download

NOTE: You will be prompted to enter your oracle support id and password for downloading the patches

Install patches with PCA

5) From the server console , bring down the server into single user mode and apply patches.

# init S
# unset TMOUT (for unsetting the shell timeout variable)
# cd /var/tmp/patches
# /var/tmp/pca.pl -i all

where -i is for installing the patches

Once the patching is complete update the boot archive (where applicable) and reboot the system

# bootadm update-archive
# init 6

References

http://www.par.univie.ac.at/solaris/pca/usage.html