Date Patch was Installed

HI All,

Is it possible to find from An AIX server when a Patch was installed like by using "instfix" with a parameter that shows when was this installed.

Thank You

Yes, that is possible. Use the "-h" (history) parameter of lslpp. For example, to see the history for all the bos.adt.* packages issue "lslpp -ah bos.adt.*", for a colon-separated list of all packages installed and their history issue "lslpp -hc", etc.

I hope this helps.

bakunin

You can use smit. select Software Installation and Maintenance, List Software and Related information, List Installed Software and Related Information, Show Software Installation History. You can then display all or select the Software that you want to see.

Thanks,

I used this command to find a list of maintanace levels that have been applied on the server "instfix -i | grep AIX_ML" and got the following output:
All filesets for 5.3.0.0_AIX_ML were found.
All filesets for 5300-01_AIX_ML were found.
All filesets for 5300-02_AIX_ML were found.
All filesets for 5300-03_AIX_ML were found.
All filesets for 5300-04_AIX_ML were found.
All filesets for 5300-05_AIX_ML were found.
All filesets for 5300-06_AIX_ML were found.
All filesets for 5300-07_AIX_ML were found.

Now can i find when these were applied?

Yes, you can. But you have to understand, that "maintenance level" refers to a collection of filesets on a certain release level.

It works like that: the operating system consists of several "software packages": collections of files organized in some way. For instance there is "bos" (the "base operating system") package group with the package-groups "bos.adt" (adt=application development tools), "bos.diag" (daignostic tools), "bos.msg" (messages), etc. in each of these groups are one or several packages or package groups. The system is recursively hierarchical, similar to the file system. For instance the bos.msg group contains the groups bos.msg.de_DE (german messages), bos.msg.en_US (english messages), etc. The group "bos.msg.en_US" contains the filesets bos.msg.en_US.mp (multiprocessor kernel messages in english), bos.msg.en_US.rte (base OS runtime environment messages in english), and so on.

Issue a "lslpp -l" to see all the packages installed in your system along with releases. A possbile output would look like this:

# lslpp -l
  Fileset                      Level  State      Description         
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos

[...snip...]

  bos.adt.include           5.3.0.42  COMMITTED  Base Application Development
                                                 Include Files
  bos.adt.insttools         5.3.0.40  COMMITTED  Tool to Create installp
                                                 Packages
  bos.adt.lib               5.3.0.40  COMMITTED  Base Application Development
                                                 Libraries
  bos.adt.libm              5.3.0.40  COMMITTED  Base Application Development
                                                 Math Library
  bos.adt.prof              5.3.0.43  COMMITTED  Base Profiling Support
  bos.adt.prt_tools          5.3.0.0  COMMITTED  Printer Support Development
                                                 Toolkit
  bos.adt.samples           5.3.0.40  COMMITTED  Base Operating System Samples
  bos.adt.sccs              5.3.0.40  COMMITTED  SCCS Application Development
                                                 Toolkit
  bos.adt.syscalls          5.3.0.40  COMMITTED  System Calls Application
                                                 Development Toolkit
  bos.adt.utils             5.3.0.40  COMMITTED  Base Application Development
                                                 Utilities - lex and yacc
  bos.alt_disk_install.boot_images
                            5.3.0.40  COMMITTED  Alternate Disk Installation

[...snip...]

As you can see the filesets have a 4-part release information. The first two parts are the OS version/revision, the last part is a hint to the maintenance level/corrective service level the package was last changed. "4x" means the package was built anew when maintenance level 4 was rolled out. In the above example the package bos.adt.utils was last updated when maintenance level 4 was defined.

A "maintenance level" is now just a definition of a bunch of such packages with a certain revision level. In the above example this means that all packages at level "5.3.0.4x" have to be installed to make the machine consider itself to be at maintenance level 4. You might also notice that "bos.adt.prt_tools" is only at 5.3.0.0 without the maintenance level reported to be less than 4. The reason is that the version of this package is not included in the maintenance-level-4-definition. So it doesn't matter.

To come back to your question:

Yes, you can find out when a certain maintenance level was installed provided that all the filesets necessary for the ML have been installed at the same time. In this case get a list of the possible ML-keywords by issuing "instfix -i | grep AIX_ML", take one of the keywords and issue "instfix -ick <ML-keyword>" to get a list of a necessary revisons of filesets in a certain ML. Issue now a "lslpp -ha <package>" for every of these packages and find out when they have been installed.

But you could also install a single fileset without updating the rest. The machine would then become aware of a newer ML and report that for the new ML some filesets are missing (use "instfix -ick <ML-keyword> | grep ':-:'" to get a list of "downlevel" filesets, that is: filesets which are below the definition for a certain ML), but nevertheless this would work without problems as long as the prerequisites of all the individual filesets are fulfilled.

Here is an example for the procedure: we want to find out when the filesets for ML 4 have been installed. The relevant parts are marked bold:

# instfix -i | grep AIX_ML
    All filesets for 5.3.0.0_AIX_ML were found.
    Not all filesets for 5300-01_AIX_ML were found.
    All filesets for 5300-02_AIX_ML were found.
    All filesets for 5300-03_AIX_ML were found.
    All filesets for 5300-04_AIX_ML were found.

# instfix -qick 5300-04_AIX_ML | more
[...snip]
5300-04_AIX_ML:bos.adt.base:5.3.0.40:5.3.0.40:=:AIX 5300-04 Update
5300-04_AIX_ML:bos.adt.debug:5.3.0.40:5.3.0.40:=:AIX 5300-04 Update
5300-04_AIX_ML:bos.adt.graphics:5.3.0.40:5.3.0.40:=:AIX 5300-04 Update
5300-04_AIX_ML:bos.adt.include:5.3.0.40:5.3.0.42:+:AIX 5300-04 Update
5300-04_AIX_ML:bos.adt.insttools:5.3.0.40:5.3.0.40:=:AIX 5300-04 Update
5300-04_AIX_ML:bos.adt.lib:5.3.0.40:5.3.0.40:=:AIX 5300-04 Update
5300-04_AIX_ML:bos.adt.libm:5.3.0.40:5.3.0.40:=:AIX 5300-04 Update
5300-04_AIX_ML:bos.adt.prof:5.3.0.40:5.3.0.43:+:AIX 5300-04 Update
[...snip...]

# lslpp -ha bos.adt.base
  Fileset         Level     Action       Status       Date         Time        
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  bos.adt.base
                  5.3.0.0   COMMIT       COMPLETE     05/02/06     15:15:47    
                  5.3.0.0   APPLY        COMPLETE     05/02/06     15:15:47    
                 5.3.0.40   COMMIT       COMPLETE     05/02/06     15:44:53    
                 5.3.0.40   APPLY        COMPLETE     05/02/06     15:38:46    

# lslpp -ha bos.adt.debug
  Fileset         Level     Action       Status       Date         Time        
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  bos.adt.debug
                  5.3.0.0   COMMIT       COMPLETE     05/02/06     15:49:41    
                  5.3.0.0   APPLY        COMPLETE     05/02/06     15:49:41    
                 5.3.0.40   COMMIT       COMPLETE     05/02/06     15:50:46    
                 5.3.0.40   APPLY        COMPLETE     05/02/06     15:50:31    

So the filesets for maintenance level 4 have been updated on Feb. 5th 2006.

I hope this helps.

bakunin

Thanks i think this will help