
			PATCHDIAG TOOL USER'S GUIDE
			===========================

			      Version:  1.0.4

				 01/Dec/99



OVERVIEW
--------

The PatchDiag Tool, version 1.0.4, is a Year 2000 compliant diagnostic
tool that enables system administrators to examine a profile of the
patches installed on their Solaris system against the most current
profiles available from Sun Microsystems with respect to:

 - latest revisions
 - recommended patches
 - security patches
 - year 2000 patches
 - other patches relevant to the software environment

The results of PatchDiag Tool can help a system administrator quickly
determine and analyze the need for applying additional patches or newer 
revisions of existing patches.

PatchDiag Tool provides only patch profile information.  PatchDiag does not
deliver and apply any patches.  If a system administrator wants to acquire
and apply additional patches to a system, the system administrator should	
use their normal Sun authorized service channel, or can access patches	
via the web at:								 

	http://sunsolve.sun.com/ 


COMPATIBILITY AND USAGE NOTES
-----------------------------

This tool is a Perl compiled script compatible with all systems running a 
Solaris 2.3 or later environment and with all patches installed in Solaris
patch packet format.  As later versions of Solaris are released, earlier 
versions of Solaris might no longer be supported by this tool.						
Patches indicated as "Recommended" patches are the most important patches.
They prevent the most critical system, user, or security-related bugs that
have been reported and fixed to date.  Patches not listed on the recommended 
should be used if needed.  Some patches listed in this report can have
certain platform-specific or application-specific dependencies and thus
might not be applicable to your system.  It is important to carefully review
the README file of each patch to fully determine the compatibility of any
patch with your system.


REQUIREMENTS AND DEPENDENCIES
-----------------------------

To run the PatchDiag Tool, you must have the following on your system
(if you have a firewall, using the links requires the ability to access
external Web pages):

patchdiag.xref:	This is the cross-reference data file of patch information
		needed by the patchdiag executable to generate its patch
		profile report.  It is updated daily to contain the latest
		data about patches.  Always use latest version of this
		to maintain the accuracy of the PatchDiag Tool results.
                You can obtain this file from the Patchdiag Tool web area at:
		
http://sunsolve.Sun.COM/private-cgi/show.pl?target=resources/patchdiag

pkginfo:	PatchDiag uses the pkginfo system command to obtain information
		about the packages currently installed on the system.

showrev:	PatchDiag uses the showrev system command to obtain information
		about the patches installed on the system.

uname:		PatchDiag uses the uname system command to determine the system 
                information (name and OS) when you don't use any of the source 
                file options (-p and -s).


SUPPORT AND USER COMMENTS
-------------------------

PatchDiag Tool is being made freely available for Enterprise Services
customer usage.  There is no implied support for this tool.  The Perl
source code is provided in the file patchdiag.pl.  

Please send us your comments.

Go to the SunSolve Online patch comment page at:

	http://sunsolve.Sun.COM/pub-cgi/feedback.pl

and follow the instructions on the page.
 

INSTALLING THE PATCHDIAG TOOL
=============================

The standard installation set of files for PatchDiag Tool consists of:

File			Contents			
----			--------			
COPYRIGHT		SUN COPYRIGHT FILE
README			Initial installation instructions
patchdiag_userguide	Complete usage information
patchdiag.1m		Man page of patchdiag
patchdiag_setup		Bourne shell script for tool setup
patchdiag.sparc		Sparc version of the Patchdiag Tool executable
patchdiag.i386		i386 version of the Patchdiag Tool executable
patchdiag.pl		The Perl source

1. Download and install the Patchdiag Tool files according to the instructions
   in the README file.							      

   You should have the following files installed on your system:
   
        - COPYRIGHT
        - README
        - patchdiag_setup
        - patchdiag.1m
        - patchdiag_userguide
        - patchdiag.sparc
        - patchdiag.i386
        - patchdiag.pl
 
2. Obtain latest copy of the PatchDiag Tool cross-reference file from
   the Patchdiag Tool web area at:
		
http://sunsolve.Sun.COM/private-cgi/show.pl?target=resources/patchdiag
ftp://sunsolve.sun.com/pub/patches/patchdiag.xref

   Place it in some appropriate directory.

3. Run the patchdiag_setup script from the same directory as the
   patchdiag executable files.

        All the users will need to have access to the patchdiag.xref file
        in order to run patchdiag successfully.  The patchdiag_setup script
        creates the proper patchdiag executable script, which has the XREF
	variable that contains the location of the patchdiag.xref file.

4. Include patchdiag.1m in the man page directory as option.  See man system
   command.


USING THE PATCHDIAG TOOL
========================

Invoke the the PatchDiag Tool from a command line. 


USAGE
-----

Command options:

patchdiag [ -l ]
	  [ -s <sfile> <os_ver> <arch> [remotename] ] 
          [ -p <pfile> <sfile> <os_ver> <arch > [remotename]]
          [ -x xfile ]
          [ -h | -? ]

where:

<arch>  is the architecture of the system where the data was obtained. 
	Valid settings for <arch> are: 					

	- sparc
	- i386
 
	If the architecture of the system is not specified, the system
	assumes 'sparc'.

<sfile> is a file containing showrev -p output.

<pfile> is a file containing pkginfo -l output.

<os_ver> is the OS version; this must be a SunOS number, not Solaris. 
 	 Use "5.5", not "2.5" for "Solaris 2.5".

<remotename> is remote host name if data is being used from a remote 
             host machine. Default is local host name.

<xfile> is a file containing the patch cross-reference data to be used
        other than default "patchdiag.xref".

patchdiag (no options)							   
-------------------------
patchdiag with no options uses the default variables you specified during
installation.  It produces a summary status report that lists:

 - installed patches
 - uninstalled recommended patches
 - uninstalled security patches
 - uninstalled year 2000 patches  

patchdiag -l
------------
patchdiag -l produces a more extensive audit report that includes all
patches available pertinent to software installed on the system:  It lists:

 - installed patches
 - uninstalled recommended patches
 - uninstalled security patches
 - uninstalled year 2000 patches  
 - other related uninstalled patches

patchdiag -s
------------
patchdiag -s uses the specified showrev -p output file and produces a
quick summary status report.  It lists:

 - installed patches
 - uninstalled recommended patches
 - uninstalled security patches
 - uninstalled year 2000 patches  
 
patchdiag -p
------------
patchdiag -p uses the specified showrev -p and pkginfo -l output files
and produces a long (-l) format listing.  It lists:

 - installed patches
 - uninstalled recommended patches
 - uninstalled security patches
 - uninstalled year 2000 patches  
 - other related uninstalled patches


SAMPLE REPORT
=============

Here is a sample report produced by patchdiag.

% patchdiag
======================================================================================
System Name: foo	 SunOS Vers: 5.7	 Arch: sparc
Cross Reference File Date: 01/Dec/99

PatchDiag Version: 1.0.4
======================================================================================
Report Note:

Recommended patches are considered the most important and highly
recommended patches that avoid the most critical system, user, or
security related bugs which have been reported and fixed to date.
A patch not listed on the recommended list does not imply that it
should not be used if needed.  Some patches listed in this report
may have certain platform specific or application specific dependencies
and thus may not be applicable to your system.  It is important to
carefully review the README file of each patch to fully determine
the applicability of any patch with your system.
======================================================================================
INSTALLED PATCHES
Patch  Installed Latest   Synopsis
  ID   Revision  Revision
------ --------- -------- ------------------------------------------------------------
105346    09        10    Solstice Internet Mail Server 2.0: Misc. fixes
106541    05        08    SunOS 5.7: Kernel update patch
106725    01     CURRENT  OpenWindows 3.6.1: mailtool vacation security patch
106793    01        03    SunOS 5.7: ufsdump and ufsrestore patch
106934    03     CURRENT  CDE 1.3: libDtSvc Patch
106952    01     CURRENT  SunOS 5.7: /usr/bin/uux patch
106960    01     CURRENT  SunOS 5.7: Manual Pages for patchadd.1m and patchrm.1m
107001    01     CURRENT  OBSOLETED by 107887
107022    02        05    CDE 1.3: Calendar Manager patch
107038    01     CURRENT  SunOS 5.7: apropos/catman/man/whatis patch
107171    02        04    SunOS 5.7: Fixes for patchadd and patchrm
107200    03        09    CDE 1.3: dtmail patch
======================================================================================

UNINSTALLED RECOMMENDED PATCHES

Patch  Ins Lat Age  Require    Incomp  Synopsis
  ID   Rev Rev        ID         ID
------ --- --- --- --------- --------- -----------------------------------------
107359 N/A  02  33                     SunOS 5.7: Patch for SPARCompiler Binary Compatibility Libraries
107544 N/A  03  41                     SunOS 5.7: /usr/lib/fs/ufs/fsck patch
107587 N/A  01 211                     SunOS 5.7: /usr/lib/acct/lastlogin patch
108343 N/A  02   1 108374-01           CDE 1.3: sdtperfmeter patch
======================================================================================

UNINSTALLED SECURITY PATCHES

NOTE: This list includes the Security patches that are also Recommended

Patch  Ins Lat Age  Require    Incomp  Synopsis
  ID   Rev Rev        ID         ID
------ --- --- --- --------- --------- -----------------------------------------
106944 N/A  02 210                     SunOS 5.7: /kernel/fs/fifofs and /kernel/fs/sparcv9/fifofs patch
106978 N/A  09  15 107456-01           SunOS 5.7: sysid patch
107115 N/A  02 177                     SunOS 5.7: LP Patch
107259 N/A  01  22                     SunOS 5.7: /usr/sbin/vold patch
107451 N/A  02  50 107117-03           SunOS 5.7: /usr/sbin/cron patch
107454 N/A  03  64                     SunOS 5.7: /usr/bin/ftp patch
107456 N/A  01 160                     SunOS 5.7: /etc/nsswitch.dns patch
107684 N/A  01 209                     SunOS 5.7: Sendmail patch
107792 N/A  01  75                     SunOS 5.7: /usr/bin/pax patch
107972 N/A  01  99                     SunOS 5.7: /usr/sbin/static/rcp patch
108301 N/A  01  47                     SunOS 5.7: /usr/sbin/in.tftpd patch
107219 N/A  02 163 106934-02           CDE 1.3: dtprintinfo patch
107887 N/A  08   1                     CDE 1.3: Actions Patch
108219 N/A  01  79                     CDE 1.3: dtaction Patch
108221 N/A  01  79                     CDE 1.3: dtspcd Patch
107337 N/A  01 257                     OpenWindows 3.6.1: KCMS configure tool has a security vulnerabilit
107893 N/A  02  65                     OpenWindows 3.6.1: Tooltalk patch
======================================================================================

UNINSTALLED Y2K PATCHES

NOTE: This list includes the Y2K patches that are also Recommended

Patch  Ins Lat Age  Require    Incomp  Synopsis
  ID   Rev Rev        ID         ID
------ --- --- --- --------- --------- -----------------------------------------
107359 N/A  02  33                     SunOS 5.7: Patch for SPARCompiler Binary Compatibility Library
107587 N/A  01 211                     SunOS 5.7: /usr/lib/acct/lastlogin patch
108343 N/A  02   1 108374-01           CDE 1.3: sdtperfmeter patch
======================================================================================
