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
- pca.pl (an executable perl script)
- 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
- Downloads PCA and XREF files and place them under /var/tmp
- 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