One package from SP wont install correctly

I recently updated one of our servers from 6100-08-05-1415 to 6100-08-06-1441 and the `oslevel -s` is showing the correct version, but when I run an `lppchk -v` I am hit with:

lppchk:  The following filesets need to be installed or corrected to bring
         the system to a consistent state:

  bos.net.tcp.client 6.1.8.19             (usr: COMMITTED, root: not installed)

Output from `lslpp -l bos.net.tcp.client`, wherein I am assuming this is what it's complaining about (version in /etc/ is lower than version in /usr/) but I am not sure how to fix that...

  Fileset                      Level  State      Description         
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  bos.net.tcp.client        6.1.8.19  COMMITTED  TCP/IP Client Support

Path: /etc/objrepos
  bos.net.tcp.client        6.1.8.18  COMMITTED  TCP/IP Client Support

I have attempted to upgrade bos.net.tcp.client 6.1.8.19 to bos.net.tcp.client 6.1.8.20 from the next service pack, but that then errors out with:

0503-466 installp: The build date requisite check failed for fileset     bos.net.tcp.client.
Installed fileset build date is 1316.  Selected fileset does not have a build date, but one is required.
0503-466 installp: The build date requisite check failed for fileset     bos.net.tcp.client.
Installed fileset build date is 1341.  Selected fileset does not have a build date, but one is required.
installp: Installation failed due to BUILDDATE requisite failure.

Any sort of downgrade also fails on this package so I cant even bring it down to the base level and then re-upgrade it. I have opened a PMR with IBM support but they're extraordinarily slow to respond so I was hoping that others here may have some experience rectifying issues like this.

  1. Find the file, which contains the fileset bos.net.tcp.client. If you've run bffcreate, it should have a name starting with bos.net.tcp...
  2. Try to force installation of the fileset
installp -acFXYd filename.bff bos.net.tcp.client
  1. If it doesn't help, find the same fileset on your AIX CD and install it first using the same command above.
  2. Don't forget to put the output of all commands you run to the topic.

Running that command yields:

# sudo installp -acFXYd /ibm/patch/src bos.net.tcp.client
+-----------------------------------------------------------------------------+
                    Pre-installation Verification...
+-----------------------------------------------------------------------------+
Verifying selections...

Pre-installation Failure/Warning Summary
----------------------------------------
0503-500 installp:  After completion of pre-installation processing, 
        there were no installable base level filesets found on the 
        installation media.  Note that use of the force install option 
        (-F flag) will cause installp to consider only base level filesets 
        (fileset updates will be ignored).  No installation has occurred.

However when searching within that directory:

# ls -l | grep bos.net.tcp.client
-rw-rw-r--    1 me mygroup 31207424 Oct 02 12:18 bos.net.tcp.client.6.1.8.1.U
-rw-rw-r--    1 me mygroup    31289344 Oct 02 13:50 bos.net.tcp.client.6.1.8.19.U

We're not using an AIX CD. We downloaded the full SP from FixCentral and are storing it on an NFS share. I was also able to install it just fine on another server from the same source without it giving me these issues.

  1. If you are an official IBM AIX user, you have access to Entitled Software Support, where you can download the full CD.
  2. You receive your AIX CD/DVD with every new server you've bought.
  3. It is a good practice to make a copy of the CD and save it somewhere. If you don't do it, it is a good time to start.
  4. It is also a good practice to read what others write.

The difference between

installp -acFXYd filename.bff bos.net.tcp.client

and

installp -acFXYd /ibm/patch/src bos.net.tcp.client

is obvious IMO. In your particular case it should be:

installp -acFXYd  bos.net.tcp.client.6.1.8.19.U bos.net.tcp.client

Some more notices:

  1. Make su - or sudo su - .
  2. I saw a lot of troubles in my life trying installing packages from an NFS share. I can't explain it. In different environments with different NFS settings and shares. Sometimes everything is ok, sometimes some mystic with package installation. Try to copy the fileset to the local directory and install it.
  3. Find an AIX CD from TL8. Then you will have access to .I package (installable), not .U package (updates) and you can try to apply the fix again.

Yes I understood what you wrote, but

installp -acFXYd  bos.net.tcp.client.6.1.8.19.U bos.net.tcp.client

errored out wherein

installp -acFXYd /ibm/patch/src bos.net.tcp.client

worked on another server.

I'll go ahead and download the full CD of the OS and hopefully that will work as installing from a local directory did not. Thanks for your ideas and help with this!

Another command to run with cases like this is:

lppchk -f [filesetname]

to see what files are missing.

As this is bos.net.tcpip.* I am wondering if this system was originally installed using SbD (Secure by Default) - as that removes some additional files - and it is known to be difficult to update down the road.

I inherited this environment about 3-4 months ago and I don't believe it was set up using IBM best practices. Also the lppchk -f is something I ran yesterday and it returned nothing. I am going to be giving kgb's ideas a shot here soon, just completing the download of the 6.1 iso (or udf as IBM now provides). Thanks.

As far as .iso images, etc. I believe the media used is from 2013 - when 6100-08-03 was the base install image.

The filesets you are looking for are:

root@x062:[/export/lpp/6108_2013_03]installp -d . -L | grep bos.net.tcp
bos.net:bos.net.tcp.adt:6.1.8.15::I:T:::::N:TCP/IP Application Toolkit ::::0:1316:
bos.net:bos.net.tcp.client:6.1.8.15::I:T:::::b:TCP/IP Client Support ::::0:1316:
bos.net:bos.net.tcp.server:6.1.8.15::I:T:::::B:TCP/IP Server ::::0:1316:
bos.net:bos.net.tcp.smit:6.1.8.0::I:T:::::N:TCP/IP SMIT Support ::::0:1241:

And, a surprising filename - because there is still one fileset that is labeled 6.1.6.0 even though most are 6.1.8.X

-rw-r--r--    1 root     system     76808192 Jun 03 2013  installp/ppc/bos.net.6.1.6.0.I
root@x062:[/export/lpp/6108_2013_03]installp -d /tmp -L                      
bos.net:bos.net.ate:6.1.6.0::I:T:::::N:Asynchronous Terminal Emulator ::::0:1036:
bos.net:bos.net.ewlm.rte:6.1.8.0::I:T:::::N:netWLM ::::0:1241:
bos.net:bos.net.ipsec.keymgt:6.1.8.15::I:T:::::N:IP Security Key Management ::::0:1316:
bos.net:bos.net.ipsec.rte:6.1.8.15::I:T:::::N:IP Security ::::0:1316:
bos.net:bos.net.ipsec.websm:6.1.8.15::I:T:::::N:IP Security WebSM ::::0:1316:
...
bos.net:bos.net.tcp.client:6.1.8.15::I:T:::::b:TCP/IP Client Support ::::0:1316:
bos.net:bos.net.tcp.server:6.1.8.15::I:T:::::B:TCP/IP Server ::::0:1316:
bos.net:bos.net.tcp.smit:6.1.8.0::I:T:::::N:TCP/IP SMIT Support ::::0:1241:
bos.net:bos.net.uucp:6.1.8.0::I:T:::::N:Unix to Unix Copy Program ::::0:1241:

So, I hope this gives you an idea of what file to look for to get that fileset properly installed so that you can start doing updates.

Ok we found the issue, and it was pretty stupid. The bos.net.tcp.client pre upgrade check-up script was failing, causing the package to fail the install (or just be skipped). What was the cause of it failing you ask? No sendmail.cf file in /etc/mail. Once I created that file, the patch worked seemlessly. That seemed pretty ridiculous to me but thanks again for your help.

1 Like

Yes, thanks for the update - but I find it surprising that lppchk -f did not spot it as missing.

Can you get output similar to this?

# lslpp -w | grep sendmail.cf
  /usr/samples/tcpip/sendmail/cf              bos.net.tcp.adt       Directory
  /usr/samples/tcpip/sendmail/cf/aixsample.mc
  /usr/samples/tcpip/sendmail/cf/submit.mc    bos.net.tcp.adt       File
  /usr/share/man/info/EN_US/a_doc_lib/files/aixfiles/sendmail.cf.htm
  /etc/mail/sendmail.cf                       bos.net.tcp.client    File
  /etc/sendmail.cf                            bos.net.tcp.client    Symlink
# ls -l /etc/sendmail.cf
lrwxrwxrwx    1 root     system           21 Sep 30 12:48 /etc/sendmail.cf -> /etc/mail/sendmail.cf
# mv /etc/mail/sendmail.cf /etc/mail/sendmail.cfx
# lppchk -f bos.net.tcp.client
lppchk: 0504-206  File /etc/mail/sendmail.cf could not be located.
# 
# # restore
# mv /etc/mail/sendmail.cfx /etc/mail/sendmail.cf 
# lppchk -f bos.net.tcp.client                   
# 
# # no output - all expected files were found
# 

Wildcard checking ... sendmail.cf error still there btw...

# lppchk -f
lppchk: 0504-206  File /usr/ios/lpm/gui/httpd/conf/org.eclipse.osgi/.lazy.1 could not be located.
lppchk: 0504-208  Size of /usr/ios/lpm/gui/httpd/logs/error-log-0.html is 443,
        expected value was 6482.
lppchk: 0504-208  Size of /usr/ios/lpm/gui/httpd/logs/error-log-1.html is 1793,
        expected value was 48.
lppchk: 0504-206  File /usr/ios/lpm/gui/httpd/conf/org.eclipse.osgi/.state.1 could not be located.
lppchk: 0504-208  Size of /usr/ios/lpm/gui/httpd/logs/trace-log-0.html is 74836,
        expected value was 7547.
lppchk: 0504-208  Size of /usr/ios/lpm/gui/httpd/logs/trace-log-1.html is 155024,
        expected value was 48.
lppchk: 0504-206  File /usr/ios/lpm/gui/httpd/conf/org.eclipse.osgi/.manager/.fileTable.4 could not be located.
lppchk: 0504-206  File /usr/ios/lpm/gui/httpd/conf/org.eclipse.osgi/.manager/.fileTable.5 could not be located.
lppchk: 0504-206  File /usr/ios/lpm/gui/httpd/conf/org.eclipse.osgi/.bundledata.1 could not be located.
lppchk: 0504-206  File /etc/mail/sendmail.cf could not be located.

If I mentioned the wrong command above (with just the -f argument) - please accept my apologies, because lppchk is what I meant.

And I would like to take this moment to repeat to a wider audience - what I was telling a customer this week - removing files that installp (or any software management program) thinks is installed - without using the program so it can update it's history aka data regarding installed files, by definition breaks system integrity - and is begging trouble. (My customer this week had different problems - a package that has package XXX as a dependency did not work because all of XXX was no longer installed (THEIR security department had done an audit and identified file to be removed because they had not been accessed for XXX days. THAT policy is now being reevaluated.)

---------- Post updated at 02:23 PM ---------- Previous update was at 02:15 PM ----------

The formatting is terrible - accept my apologies - here is the short description

One of the "features" of installp is the option to include scripts at "pre", "post", and final "config" scripts.

The primary purpose of pre_i and pre_u (pre-install and pre-update) is to be sure that the system is in a known state and passes prerequisites. That is, these are run before the software in the package is installed.

The post_i or post_u scripts are a moment to verify that the files installed correctly; this is then followed by the "config" scripts that can perform automated configuration - if any.

I wrote this up in more detail - for myself initially - but have it online - just scroll down a bit - here: buildaix - AIXTOOLS

Hope this helps explain why an update could fail!

1 Like