Hints, Tips and usage of the
‘instfix’ command
Technote (FAQ)
Question
Usage of the instfix command
Answer
Hints, Tips and usage of the
‘instfix’ command
This document will describe many of the various and most common uses of
the ‘instfix’ command.
The main topics covered will include:
- TL verses ML – Which is correct?
- Usage of the ‘instfix’ command to check for APARs
- Usage of the ‘instfix’ command to install APARs
- Adding missing APAR information to the ‘fix’ object class of the ODM
TL verses ML – Which is correct?
Starting in 5.3 TL7 the terminology changed. What use to be called ML or Maintenance Level is now called TL or Technology Level. The format for the numbering of the filesets also changed at that time. A base level fileset for 5.3 ML6 would have been 5.3.0.60 but starting in 5.3 TL7 the third number indicated the TL level. So a base level fileset for 5.3 TL7 would be 5.3.7.0 “TL” and “ML” are technically the same thing and interchangeable but “TL” is generally what is used now, however the ‘instfix’ command wasn’t changed and still uses ML.
Usage of the ‘instfix’ command to check for APARs
To use the ‘instfix’ command to determine what TLs are currently installed on the system as well as the status of the install (i.e. whether they are completely installed or not) you can use the following command:
The main topics covered will include:
- TL verses ML – Which is correct?
- Usage of the ‘instfix’ command to check for APARs
- Usage of the ‘instfix’ command to install APARs
- Adding missing APAR information to the ‘fix’ object class of the ODM
TL verses ML – Which is correct?
Starting in 5.3 TL7 the terminology changed. What use to be called ML or Maintenance Level is now called TL or Technology Level. The format for the numbering of the filesets also changed at that time. A base level fileset for 5.3 ML6 would have been 5.3.0.60 but starting in 5.3 TL7 the third number indicated the TL level. So a base level fileset for 5.3 TL7 would be 5.3.7.0 “TL” and “ML” are technically the same thing and interchangeable but “TL” is generally what is used now, however the ‘instfix’ command wasn’t changed and still uses ML.
Usage of the ‘instfix’ command to check for APARs
To use the ‘instfix’ command to determine what TLs are currently installed on the system as well as the status of the install (i.e. whether they are completely installed or not) you can use the following command:
# instfix -i |
grep ML
All filesets
for 6100-00_AIX_ML were found.
All filesets
for 6.1.0.0_AIX_ML were found.
Not all
filesets for 6100-01_AIX_ML were found.
If something is missing from a TL you
can use ‘instfix’ to determine what is missing using the following command:
# instfix -icqk
<ML LEVEL> | grep :-:
# instfix -icqk 6100-01_AIX_ML | grep :-:
6100-01_AIX_ML:X11.adt.imake:6.1.1.0:6.1.0.0:-:AIX 6100-01 Update
6100-01_AIX_ML:X11.samples.apps.clients:6.1.1.0:6.1.0.0:-:AIX 6100-01 Update
6100-01_AIX_ML:X11.samples.lib.Core:6.1.1.0:6.1.0.0:-:AIX 6100-01 Update
You can also use the ‘instfix’ command to check what Service Packs are installed on a system and check their status. For that you would use the following command:
# instfix -i | grep _SP
All filesets for 61-00-010748_SP were found.
All filesets for 61-00-020750_SP were found.
All filesets for 61-00-030808_SP were found.
All filesets for 61-00-040815_SP were found.
All filesets for 61-01-010823_SP were found.
If you just want to check to see if a particular APAR is installed you can use the following:
# instfix -ik <fix>
# instfix -ik IZ04606
All filesets for IZ04606 were found.
If you want to find out more information about a particular APAR you can use the following:
# instfix -icqk 6100-01_AIX_ML | grep :-:
6100-01_AIX_ML:X11.adt.imake:6.1.1.0:6.1.0.0:-:AIX 6100-01 Update
6100-01_AIX_ML:X11.samples.apps.clients:6.1.1.0:6.1.0.0:-:AIX 6100-01 Update
6100-01_AIX_ML:X11.samples.lib.Core:6.1.1.0:6.1.0.0:-:AIX 6100-01 Update
You can also use the ‘instfix’ command to check what Service Packs are installed on a system and check their status. For that you would use the following command:
# instfix -i | grep _SP
All filesets for 61-00-010748_SP were found.
All filesets for 61-00-020750_SP were found.
All filesets for 61-00-030808_SP were found.
All filesets for 61-00-040815_SP were found.
All filesets for 61-01-010823_SP were found.
If you just want to check to see if a particular APAR is installed you can use the following:
# instfix -ik <fix>
# instfix -ik IZ04606
All filesets for IZ04606 were found.
If you want to find out more information about a particular APAR you can use the following:
# instfix -aik <fix>
# instfix -aik IZ04606
IZ04606 Abstract: pwdadm not working as intended for authuser
IZ04606 Symptom Text:
A user with a role with aix.security.passwd.admin
authorization is unable to use the pwdadm command to set the
ADMIN flag for a user:
$ rolelist -ea
myrole aix.security.passwd.admin
$ pwdadm -f ADMIN abc
3004-692 Error changing "flags" to "ADMIN" : You do not have
permission.
----------------------------
All filesets for IZ04606 were found.
If you want to see a list of fixes that are on a CD or in a directory you can use the following:
# instfix –Td /dev/cd0
OR
# instfix -Td <directory path>
Here’s a sample of what the output will look like:
IZ50383 Hang in mkuser command
IZ50386 System may crash in iodone+000044 after failed health check
IZ50388 Crash when unconfiguring path to open MPIO Disk.
IZ50482 DELAYED_INTS error log entry for 10-Gigabit Ethernet Adapter
IZ50483 DSI at kxent_ras_callback
IZ50559 CANNOT BOOT FROM SOME USB OPTICAL DRIVES
IZ50591 Fixdata for new service pack
you may want to know if any of the APARs you have in a directory contain any fixes for say multibos. You can check that with the following:
# instfix -Td . | grep -i multibos
IY78256 multibos bootlist support in diag.
You may have a need to create a list of APARs that are included in a directory. That can easily be done with the following command:
# instfix -Td . | cut -f1 -d " " > /tmp/fix.list
# cat /tmp/fix.list | pg
IY58621
IY58626
IY58656
IY58688
IY59138
IY59139
IY59143
IY59144
If you want to see a list of what filesets are included with an APAR you can get that with the following command:
# cat /tmp/fix.list | pg
IY58621
IY58626
IY58656
IY58688
IY59138
IY59139
IY59143
IY59144
If you want to see a list of what filesets are included with an APAR you can get that with the following command:
# instfix -ivk <fix>
# instfix –ivk IZ50591
IZ50591 Abstract: Fixdata for new service pack
Fileset bos.rte.install:5.3.10.1 is applied on the system.
All filesets for IZ50591 were found.
Then if you needed to know the date it was installed
IZ50591 Abstract: Fixdata for new service pack
Fileset bos.rte.install:5.3.10.1 is applied on the system.
All filesets for IZ50591 were found.
Then if you needed to know the date it was installed
# lslpp -h <one of the filesets from above>
# lslpp -h bos.rte.install
Fileset Level Action Status Date Time
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
bos.rte.install
5.3.0.60 COMMIT COMPLETE 07/12/07 14:55:01
5.3.0.61 COMMIT COMPLETE 07/12/07 14:55:29
5.3.7.2 COMMIT COMPLETE 01/05/08 21:12:55
5.3.8.1 COMMIT COMPLETE 07/02/08 15:05:54
5.3.9.1 COMMIT COMPLETE 12/07/08 19:45:09
5.3.10.1 COMMIT COMPLETE 05/16/09 16:59:59
If you have a particular fileset level installed on your system and you want to determine what APAR’s are associated with it:
instfix –aiv | grep –p <fileset>:<level>
For example:
# instfix -aiv | grep -p devices.pciex.b3154a63.rte:6.1.2.4
----------------------------
Fileset devices.pciex.b3154a63.rte:6.1.2.4 is applied on the system.
All filesets for IZ48863 were found.
=================================================================
IZ50114 Abstract: IB Applications using IbBaseLib may hang on close
----------------------------
Fileset devices.chrp.IBM.lhca.rte:6.1.2.4 is not applied on the system.
Fileset devices.common.IBM.ib.rte:6.1.2.4 is not applied on the system.
Fileset devices.pci.b315445a.rte:6.1.2.4 is not applied on the system.
Fileset devices.pciex.b3154a63.rte:6.1.2.4 is applied on the system.
Not all filesets for IZ50114 were found.
So devices.pciex.b3154a63.rte:6.1.2.4 is the only fileset for IZ48863 and one of four filesets for IZ50114
If you prefer to use smitty to check for fixes the fastpath is:
# smitty show_apar_stat
Usage of the ‘instfix’ command to install APARs
Installing an APAR using the ‘instfix’ command is fairly straight forward
To install a fix from cd0
# instfix -k <fix> -d /dev/cd0
To install a fix from a directory
# instfix -k <fix> -d <directory>
# instfix -k IZ36737 -d .
+-----------------------------------------------------------------------------+
Pre-installation Verification...
+-----------------------------------------------------------------------------+
Verifying selections...done
Verifying requisites...done
Results...
SUCCESSES
---------
From there the installation will continue.
If you prefer to use smitty to install a fix the fastpath is:
# smitty update_by_fix
Adding missing APAR information to the ‘fix’ object class of the ODM
If an APAR doesn’t show up with instfix –ik <APAR number> but it is installed you can check to see if it’s in the ODM
# ODMDIR=/usr/lib/objrepos odmget fix | grep -p <APAR number>
If an APAR doesn't show up with the instfix -ik command it may be an efix.
Check for ifixes / efixes with the emgr command
# emgr -l
or to get more info
# emgr -lv3
If a TL and/or SP doesn’t show up with oslevel –rq or –sq but you know the level is on the system the ODM is missing the fix data.
Note: You will be modifying the ODM on the system that is missing the fix data. If you are unfamiliar with that you may want to call the support center for assistance.
To get it in the ODM you can copy it from another system using the following procedure:
On a good system at the same level
# ODMDIR=/usr/lib/objrepos odmget -q name=<ML, SP or APAR > fix > /tmp/fix.backup
Here’s an APAR example
# ODMDIR=/usr/lib/objrepos odmget -q name=IZ11011 fix > /tmp/fix.backup
# cat /tmp/fix.backup
fix:
name = "IZ11011"
abstract = "Install commit only operation fails"
type = "f"
filesets = "bos.rte.install:5.3.9.0\n\
"
symptom = " Not able to do a commit only operation on a fileset.\n\
Fileset is left in the apply state.\n\
"
And here’s an example of a Technology Level
# ODMDIR=/usr/lib/objrepos odmget -q name=5300-10_AIX_ML fix > /tmp/fix.backup
And this is an example of a Service Pack
# ODMDIR=/usr/lib/objrepos odmget -q name=53-10-010921_SP fix > /tmp/fix.backup
Note: if you aren’t sure of the format to use above for the ML or SP level you can run the following command to get a list of ML’s
# ODMDIR=/usr/lib/objrepos odmget fix | grep _ML | pg
or the following to get a list of SP’s
# ODMDIR=/usr/lib/objrepos odmget fix | grep _SP | pg
ftp /tmp/fix.backup to the system not seeing the fix level or APAR
Then on the system you ftp’d it to: backup the ODM
Do this from the / (root) directory
# tar -cvf /tmp/odm.tar ./etc/objrepos ./usr/lib/objrepos
Note: Check the space in /tmp first and increase if necessary
Follow these steps to add the fix data to the ODM:
# ODMDIR=/usr/lib/objrepos odmadd /tmp/fix.backup
# oslevel -rf
# oslevel -r
# oslevel -sf
# oslevel -s
>> The levels should now be correct or if you just added an APAR it should show up now with
# instfix –ik <APAR #>
# instfix -ik IZ11011
All filesets for IZ11011 were found.
Note: If after doing an odmadd with the fix data from another system the fix data still isn't showing up and rootvg is mirrored you may need to do the following steps:
# synclvodm -Pv rootvg
# savebase
# bosboot -ad /dev/ipldevice