Patch Check Advanced

Analyze, download and install patches for Oracle Solaris
Written by
Martin Paul

News via












Patch Check Advanced (PCA) generates lists of installed and missing patches for Oracle Solaris systems and optionally downloads patches. It resolves dependencies between patches and installs them in correct order. It can be the only tool you ever need for patch management, be it on a single machine or a complete network. Just one perl script, it doesn't need compilation nor installation, and it doesn't need root permissions to run. It works on all versions of Solaris, both SPARC and x86.

Sun/Oracle have offered various tools in the past for patch analysis and management, e.g. PatchDiag, PatchCheck, PatchPro, smpatch, Sun Update Connection. None of them really made me happy - I wanted a small, fast, portable and versatile tool.

So I started to implement my own application, which was published first in 2003. It got (and still gets!) refined and enhanced, supported by the feedback and contributions of its users. Without exaggeration, PCA now is the best patch tool for Oracle Solaris. See what others say about PCA.

A lot of care is taken to guarantee that PCA doesn't omit patches which might apply to a system. This is the most important design principle. I'm manually checking that it's fulfilled on a daily basis.


  • Easily understandable and configurable format for the patch report, containing Recommended/Security status and age of a patch.

  • Shows all missing Recommended/Security patches in one concise list. Only patches for packages which are actually installed are listed. Obsolete/Bad patches are ignored. Output can be formatted in HTML, with links to patch READMEs and downloads (Example).

  • It analyzes the patch dependencies, and lists required patches in the correct order for installation.

  • If requested, it downloads patches from Oracle's patch server and installs them. One patch, groups of patches, or all missing patches. Start it, let it run, and return to a fully patched system.

  • Set up a local patch server and speed up downloads tremendously.

  • It's fast: Generating a complete patch report takes just a few seconds.

  • It's small: One file, ca. 4000 lines, both code and documentation. Makes understanding and modifying the code for your own needs easy.

  • It can assist in staying informed about firmware and other unbundled patches.

  • All the information about a machine needed for analysis can be read from files, so you can use PCA even if it doesn't run on the target machine.

  • There's an auto update mechanism to keep PCA itself up-to-date.

Comments are welcome - send them to the PCA mailing list. I'm interested in experiences with PCA on older releases of Solaris (SPARC and x86), problems you encountered, proposals for enhancements, etc.

If you want to share your opinion with Oracle, please post to the comments section on the blog entry about patch automation tools in Oracle's Patch Corner blog.


Usage of PCA is free of charge for private, educational and commercial use. No responsiblity is taken for any damage caused by using PCA. You may modify PCA's source code to fit your local needs. If sharing modified versions of PCA with others, keep a reference to the original author and distribution site.

Commercial distribution of either the original or modified versions of PCA or including PCA into commercial products is only allowed if explicitly permitted by the original author.