News, tips, partners, and perspectives for the Oracle Solaris operating system

Patching Pre-flight Checks (ppc) tool now available

Gerry Haskins
Director Security and Release Management

The new Patching Pre-flight Checks ('ppc') tool is now available to all customers who have a support contract.

The idea for this tool comes directly from customer feedback.  

The customer wanted to reduce the cost of patching Solaris systems by enabling more junior Sys Admins to successfully patch Solaris 10 zones systems.   Their concern was that potential zones patching issues in versions of Solaris prior to Solaris 10 8/07 (Update 4) meant that they needed to assign senior System Administrators to patch such systems to identify and resolve potential issues.  

Furthermore, the customer was concerned that such issues had the potential to derail planned maintenance windows - for example, if during the patching session an unexpected issue was encountered and the patching session couldn't be completed as planned.

To address these concerns, my colleague, Ronan O'Connor, has written the Patching Pre-flight Checks tool, 'ppc'.  It can be run prior to a planned patching session to check that the target system is in a clean state ready for patching.

It's important to understand the scope of the tool.  It checks a target
system (and a patch set, if supplied) for a variety of inconsistencies
which could cause problems.

It looks for left over lock files from previously aborted patching or
packaging operations, inconsistencies in the contents database, IDRs
installed on the target system, zones "mountability", space issues,
etc.  Some of these issues can occur on early versions of Solaris 10,
particularly in a Zones environment.  Many of the underlying causes of such issues
are fixed in the latest versions of the patch utility patches (119254
SPARC / 119255 x86), which is why we always recommend you apply the
latest patch utility patches before applying other patches.

If you have a directory of patches to be applied, 'ppc' checks the
integrity of those patches, and cross-checks whether any of the
patches patch pkgs which have been locked down by any IDRs on the
system and warns if there is a conflict.

The 'ppc' Release Notes
provide information to help interpret the messages produced.

The idea is that 'ppc' can be run by a junior Sys Admin prior to a
planned patching session, and any potential issues uncovered can then be analyzed
by a more experienced Sys Admin.  This helps avoid nasty surprises
during patches sessions and also helps to reduce the level of expertise
required to patch Solaris systems, leading to cost savings for

It is outside the scope of the 'ppc' tool to do root cause analysis of
why the inconsistency arose or what actions may be needed, if any, to
correct the situation.

If 'ppc' returns without noting any problems, you can be pretty
confident that the patching session will succeed.  If 'ppc' notes potential
issues, they can be investigated prior to the planned maintenance

The next version of 'ppc' will include a Zones consistency check to
check that all zones are at a consistent patch level.   It will also
contain a more sophisticated space checking algorithm.  There's no planned release date
yet for Version "2.0" yet as we're awaiting feedback on Version 1.0.x first.

Some of the ideas in 'ppc' may find their way back into 'patchadd',
although it's probably appropriate to keep 'ppc' as a separate tool.

You can download the Patching Pre-flight Checks tool, 'ppc', here.  It's an attachment to the knowledge article.  The Patching Pre-flight Checks tool, 'ppc', and the Customer Patch Forum are only available to customers with a support contract, so you'll need to login to SunSolve to access the knowledge article.

We're very interested in your feedback as to the usefulness of this tool and how you'd like to see 'ppc' develop going forward.

Many thanks to Ronan O'Connor for all his work on the tool!

Best Wishes,

Gerry Haskins
Director, Software Patch Services

Join the discussion

Comments ( 4 )
  • Alan Hargreaves Monday, September 21, 2009


    great stuff Gerry


  • geun-won park Monday, November 23, 2009

    very usefull tool~

  • TS-Unix Midrange Tuesday, October 5, 2010

    Thats cool tool - I will definitely try it in next patching exercise in our env

  • Ed Romeo Monday, August 1, 2011

    When I downloaded the lastest version, I tried to run it on a Solaris 9 server after setting it to be executable. All I get is the below error. Does it require special mode/permissions or a certain version of perl?

    # ls -l /var/tmp/ppc

    -rwxr--r-- 1 root root 67189 Jul 29 16:17 /var/tmp/ppc

    # /var/tmp/ppc -V -F -s > /tmp/ppc.`hostname`

    opendir(/var/tmp/ppc/..): Not a directory at /var/tmp/ppc line 23

    Line 23 is:

    23 my $full_path = abs_path($0);



Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha