Installing WebSphere & Connections through a PUCL server

The packages to install WebSphere are pretty big. Just WAS ND is already 3GB for the Base. Then you need the right fix pack which is another 3GB. For IHS and the WebSphere Plugin you need the WAS Supplements which again are 3GB and again you need 3GB for the latest fixpack for that. That’s already 12 GB of files which need to be copied to the environment where you want to install those components. It’s not hard to imagine though that of this 12 GB you only need a small part. One reason why these packages are so big is that they contain separate files for all operating systems that WAS is supported on, while you usually only need the files for one particular OS. Also if a file was replaced in FP13, you don’t really need the original. How nice would it be to have a repository with just the files you need, so you have less to copy to the server environment or, even better, have a central webserver with these packages which can be reached from all your different environments? That’s where IBM’s Packaging Utility, also known as PUCL, comes in. As this tool is notoriously badly documented, here are some basics on how to create the repositories you want.

First you need the Packaging Utilty software. This you can find on the same page where you would also find the download links for IBM Installation Manager. In the end you’ll be send to IBM Fix Central, so you can also skip some steps by going there straight away and typing “IBM Packaging Utility”. The latest version at this moment is 1.8.9.

After unpacking the zip-file you can install:

cd disk_linux.gtk.x86_64/InstallerImage_linux.gtk.x86_64 
./userinstc -acceptLicense

So now you have the Packaging Utility. On Linux it’s installed in /home/<user>/IBM/PackagingUtility. The next step is to create the custom repository with just those components you need. First check which components are in the package. As an example I take WAS:

./PUCL -sVP listAvailablePackages -repositories /shared/software/Lotus/Connections5.5/WAS/repository.config -showPlatforms
Opening repositories.
Opening repository /shared/software/Lotus/Connections5.5/WAS.
Searching for packages.
Collecting all offerings or updates in repository /shared/software/Lotus/Connections5.5/WAS.
com.ibm.websphere.ND.v85_8.5.5000.20130514_1044 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86

As you can see there are packages for a lot of platforms. If you only plan to install on Linux, you don’t need the others, so let’s extract just the Linux part. First create a directory for your new repository. I put mine on /shared/software/IBM/pucl/was. Now write the Linux package to this directory:

./PUCL -sVP copy com.ibm.websphere.ND.v85_8.5.5000.20130514_1044 -repositories /shared/software/Lotus/Connections5.5/WAS/repository.config -target /shared/software/IBM/pucl/was -platform os=linux -acceptLicense

You’ll see the packaging utility copy the right files to your new repsitory. Now you’ll add FP13 if that’s the Fix Pack you want to use in your installation:

./PUCL -sVP listAvailablePackages -repositories /shared/software/Lotus/Connections6/FP13/WAS/repository.config -showPlatforms
Opening repositories.
Opening repository /shared/software/Lotus/Connections6/FP13/WAS.
Searching for packages.
Collecting all offerings or updates in repository /shared/software/Lotus/Connections6/FP13/WAS.
com.ibm.websphere.BASE.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.BASETRIAL.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.DEVELOPERS.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.DEVELOPERSILAN.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.EXPRESS.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.EXPRESSTRIAL.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.ND.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.NDDMZ.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.NDDMZTRIAL.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86
com.ibm.websphere.NDTRIAL.v85_8.5.5013.20180112_1418 : aix.ppc,hpux.PA_RISC,hpux.ia64_32,linux.ppc,linux.s390,linux.x86,os400.ppc,solaris.sparc,solaris.x86,win32.x86

Those are a lot of packages of which you only want one. Copy it to your repository:

./PUCL -sVP copy com.ibm.websphere.ND.v85_8.5.5013.20180112_1418 -repositories /shared/software/Lotus/Connections6/FP13/WAS/repository.config -target /shared/software/IBM/pucl/was -platform os=linux -acceptLicense
Opening repositories.
Opening repository /shared/software/Lotus/Connections6/FP13/WAS.
Preparing copy operation.
Searching for package or fix com.ibm.websphere.ND.v85_8.5.5013.20180112_1418.
Resolving artifacts.
[..]

If at one stage you no longer need FP13, but want FP14 instead, you can delete the FP13 packages:

./PUCL -sVP delete com.ibm.websphere.ND.v85_8.5.5010.20160721_0036 -target /shared/software/IBM/pucl/was/repository.config
Searching for package or fix com.ibm.websphere.ND.v85_8.5.5013.20180112_1418.
Find a Package.
Garbage collecting artifacts
[..]

And install the FP14 package after. You can add IBM HTTP Server (IHS) and the WebSphere plugin (PLG) from the WAS Supplements in the same repository together with the Fixes to have everything together and also add the latest WASJAVA package. I’ve created 3 repositories this way. One for WAS/IHS/WAS Plugin, one for IBM Connections with CR2 integrated and one for IBM Docs. The total sizes of these repositories are: 5,4 GB, 2,9 GB and 554MB.

When you now have this repository, you could use it from a fileshare, but it’s even nicer to make this directory available from a webserver and use this url inside IBM Installation Manager for the repository.

And as you can see all the right packages are there, but with no overhead.