Package Utility
WebSphere Application Server Liberty uses IBM® Installation Manager for installation and lifecycle management. Installation Manager accesses source repositories containing the content for a software product installation. Repositories are available on product media, in IBM-hosted web-based repositories, and from Passport Advantage. IBM Package Utility is used to create custom enterprise repositories containing the correct combination of products and maintenance levels
We use Installation Manager to connect to an Installation Manager repository (or set of repositories) to find products and service updates available for installation. An Installation Manager repository is a tree-structured file folder that includes product payload and metadata. We can install the software products that we need directly from an IBM web-based service repository or download and unpack compressed files from Passport Advantage and install the products from the resulting unpacked file folders. The result of unpacking the files is also considered to be an Installation Manager repository. Like any Installation Manager repository, these unpacked files can be hosted on an internal HTTP server, FTP server, or network mount in order to make them available to the organization.
Package Utility is a companion tool for Installation Manager used to create custom Installation Manager repositories. We can copy multiple packages, maintenance levels, and fixes into a single repository. Package Utility copies from source repositories to the target custom repositories. Source repositories can include any accessible Installation Manager repository, including IBM web-hosted product repositories and unzipped Passport Advantage downloads.
See IBM Package Utility product documentation.
Use Package Utility to create custom or "enterprise" Installation Manager repositories that contain specific products and maintenance levels that fit the needs of the business.
As an administrator, we can control the content of the enterprise repository, which then can serve as the central repository to which the organization connects in order to perform product installations and updates.
Package Utility essentially copies from a set of source Installation Manager repositories to a target repository and eliminates duplicate artifacts, helping to keep the repository size as small as possible. We can also delete (or "prune") a repository, removing maintenance levels or products that are not needed.
We can download the latest version of Package Utility from the IBM Support Portal.
Like Installation Manager, Package Utility has GUI and command-line interfaces. We must specify repository URLs for Installation Manager repositories containing the offerings to copy.
For a list of repository URLs, see Online product repositories for Liberty offerings.
Installation Manager repository URLs follow this pattern:
- http://www.ibm.com/software/repositorymanager/offering_name
This location does not contain a web page we can access using a web browser.
The target repository that we create with Package Utility will always support a full installation; therefore, we cannot use Package Utility to create a repository that is only a copy of a fix pack. We can, however, create a repository containing the minimum content to support direct installation to a fix-pack level. Consider the following two examples that use the Package Utility command-line interface (PUCL.exe) that is available in the Package Utility installation folder.
- Example 1
PUCL copy com.ibm.websphere.liberty.ND -repositories http://www.ibm.com/software/repositorymanager/com.ibm.websphere.liberty.ND -target D:\LIB_ND_version -prompt -showProgress -acceptLicense
Because no version number is specified with the offering name, this command creates a new repository that supports direct installation to the latest fix-pack level for WebSphere Application Server Liberty.
PUCL copy com.ibm.websphere.liberty.ND_16.0.2.20160503_0200 -repositories http://www.ibm.com/software/repositorymanager/com.ibm.websphere.liberty.ND -target D:\LIB_ND -prompt -showProgress -acceptLicense PUCL copy com.ibm.websphere.liberty.ND_16.0.3.20160829_1838 -repositories http://www.ibm.com/software/repositorymanager/com.ibm.websphere.liberty.ND -target D:\LIB_ND -prompt -showProgress -acceptLicense
The first command creates a target repository with WebSphere Application Server Liberty 16.0.0.2. The second command adds the 16.0.0.3 fix pack to the same repository. We can now use this resulting repository to install fix pack 16.0.0.2, install fix pack 16.0.0.3, or update from 16.0.0.2 to 16.0.0.3.
Tip: With some offerings, such as IBM SDK Java Technology Edition, we can use Package Utility with the -platform option (sometimes called "platform slicing") to create a repository that is scoped to the platforms and architectures used by the organization. This feature is available in command-line mode by specifying the -platform option with the os and arch arguments as shown in the following example:
PUCL copy com.ibm.java.jdk.v8 -repositories http://www.ibm.com/software/repositorymanager/com.ibm.java.jdk.v8 -platform os=linux,arch=ppc64 -target D:\LIB_ND -prompt -showProgress -acceptLicense</p>
The repository can be scoped for platforms other than the one on which it is created or stored. For example, we can run Package Utility on a Windows system to create a repository with the content needed to install on a Linux system. During installation on Linux, point Installation Manager to the custom repository. The following table lists valid combinations for creating a local IBM SDK Java Technology Edition offering repository that is sliced by operating system and architecture.
Platform | Options | Resulting Repository |
---|---|---|
Windows | os=win32,arch=x86 | 32-bit repository for 32-bit Windows OS and 64-bit Windows |
| os=win32.arch=x86_64 | 64-bit repository for 64-bit Windows |
Linux Intel | os=linux,arch=x86 | 32-bit repository for 32-bit Linux Intel and 64-bit Linux Intel |
| os=linux.arch=x86_64 | 64-bit repository for 64-bit Linux Intel |
Linux Power | os=linux,arch=ppc | 32-bit repository for 32-bit Linux Power and 64-bit Linux Power |
| os=linux.arch=ppc64 | 64-bit repository for 64-bit Linux Power |
zLinux | os=linux,arch=s390 | 32-bit repository for 32-bit zLinux and 64-bit zLinux |
| os=linux.arch=s390x | 64-bit repository for 64-bit zLinux |
AIX | os=aix,arch=ppc | 32-bit repository for 32-bit AIX and 64-bit AIX |
| os=aix.arch=ppc64 | 64-bit repository for 64-bit AIX |
Solaris Sparc | os=solaris,arch=sparc | 32-bit repository for 32-bit Solaris Sparc and 64-bit Solaris Sparc |
| os=solaris,arch=sparc64 | 64-bit repository for 64-bit Solaris Sparc |
Solaris Intel | os=solaris,arch=x86_64 | 64-bit repository for 64-bit Solaris Intel |
HP-UX Itanium | os=hpux,arch=ia64 | 64-bit repository for 64-bit HP-UX Itanium |
z/OS | os=zos,arch=s390x | 64-bit repository for z/OS |
For more information on platform slicing, see the IBM Package Utility product documentation.