Under Construction

AIX System without direct Internet Connection

If an AIX system does not have a direct Internet connection, the IBM script yum.sh cannot be used to automatically install YUM. The files required for the installation of YUM must then first be downloaded via another system with an Internet connection and then copied to the AIX system. The files needed are as follows:

README-yum           https://public.dhe.ibm.com//aix/freeSoftware/aixtoolbox/ezinstall/ppc/README-yum

yum_bundle.tar        https://public.dhe.ibm.com//aix/freeSoftware/aixtoolbox/ezinstall/ppc/yum_bundle.tar

rpm.rte                         https://public.dhe.ibm.com//aix/freeSoftware/aixtoolbox/INSTALLP/ppc/rpm.rte

rpm.rte_4.13.0.11   https://public.dhe.ibm.com//aix/freeSoftware/aixtoolbox/INSTALLP/ppc/rpm.rte.4.13.0.11

The installation of YUM is described in the README-yum file.

In the first step it should be ensured that the fileset rpm.rte is installed at least in version 4.13.0.10 or higher. A current version can be downloaded from the location given above. If YUM is installed under AIX 6.1 (no longer supported), version 4.13.0.11 of rpm.rte must be installed. In our case we have an AIX 7.1 system on which version 4.13.0.2 of rpm.rte is installed:

aix02 # lslpp -l rpm.rte
  Fileset                      Level  State      Description        
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  rpm.rte                   4.13.0.2  COMMITTED  RPM Package Manager

Path: /etc/objrepos
  rpm.rte                   4.13.0.2  COMMITTED  RPM Package Manager
aix02 #

Version 4.15.1.3 was downloaded:

aix02 # installp -Ld rpm.rte
rpm.rte:rpm.rte:4.15.1.3::I:T:::::N:RPM Package Manager::::0::
aix02 #

Therefore, we update rpm.rte to the new version first:

aix02 # installp -acXYd rpm.rte all
+-----------------------------------------------------------------------------+
                    Pre-installation Verification...
+-----------------------------------------------------------------------------+
Verifying selections...done
Verifying requisites...done
Results...

SUCCESSES
---------
  Filesets listed in this section passed pre-installation verification
  and will be installed.

  Selected Filesets
  -----------------
  rpm.rte 4.15.1.3                            # RPM Package Manager

  << End of Success Section >>

+-----------------------------------------------------------------------------+
                   BUILDDATE Verification ...
+-----------------------------------------------------------------------------+
Verifying build dates...done
FILESET STATISTICS
------------------
    1  Selected to be installed, of which:
        1  Passed pre-installation verification
  ----
    1  Total to be installed

+-----------------------------------------------------------------------------+
                         Installing Software...
+-----------------------------------------------------------------------------+

installp: APPLYING software for:
        rpm.rte 4.15.1.3

Checking if rpm package is already owning
  some of the libraries and binaries.. 

. . . . . << Copyright notice for rpm.rte >> . . . . . . .
Licensed Materials - Property of IBM

5765H4000
   Copyright International Business Machines Corp. 2014, 2020-2021.
   Copyright "Cowboy" Ben Alman, 2010.
   Copyright Steven Benner (http://stevenbenner.com/), 2013.
   Copyright The Regents of the University of California, 1990, 1993, 1994.
   Copyright Ralf Corsepius <corsepiu@fedoraproject.org>, 2007.
   Copyright Vasil Dinkov, Vadikom Web Ltd., 2016.
   Copyright The Dojo Foundation, 2011.
   Copyright Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995-1997, 2000-2006.
   Copyright Tom Dyas <tdyas@eden.rutgers.edu>

, 1998.
   Copyright W. L. Estes <wlestes@uncg.edu>, 1998.
   Copyright Free Software Foundation, Inc., 1989, 1991-2018.
   Copyright Dave Furfero, 2011-2014.
   Copyright Neal Gompa <ngompa13@gmail.com>, 2015.
   Copyright Dimitri van Heesch, 1997-2017.
   Copyright The Internet Society (1998).
   Copyright Per Oeyvind Karlsen <proyvind@moondrake.org>, 2010.
   Copyright Dmitry V. Levin <ldv@altlinux.org>, 2019.
   Copyright Dan Nicholson <dbn.lists@gmail.com>, 2012-2015.
   Copyright Red Hat, Inc., 1998-2003, 2005, 2007, 2009-2011, 2016-2017.
   Copyright Red Hat Software, 1995-2002.
   Copyright Scott James Remnant <scott@netsplit.com>, 2004.
   Copyright John Resig, 2011.
   Copyright Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>, 2004.
   Copyright System Design and Research, 2003.
   Copyright Julian Seward et al., 2002-2015.
   Copyright Mark J. Wielaard <mark@klomp.org>, 2016, 2019.
   Copyright X Consortium, 1994.

All rights reserved.
US Government Users Restricted Rights - Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp.
. . . . . << End of copyright notice for rpm.rte >>. . . .

##################################################################
  This version of rpm installs files under the path /usr/opt/rpm.
  More detailed information on new changes can be found in
  /usr/opt/rpm/README file.
##################################################################

Please wait...
Successfully updated the Kernel Authorization Table.
Successfully updated the Kernel Role Table.
Successfully updated the Kernel Command Table.
Successfully updated the Kernel Device Table.
Successfully updated the Kernel Object Domain Table.
Successfully updated the Kernel  Domains Table.
Successfully updated the Kernel RBAC log level.
Successfully updated the Kernel Authorization Table.
Successfully updated the Kernel Role Table.
Successfully updated the Kernel Command Table.
Successfully updated the Kernel Device Table.
Successfully updated the Kernel Object Domain Table.
Successfully updated the Kernel  Domains Table.
Successfully updated the Kernel RBAC log level.
Finished processing all filesets.  (Total time:  18 secs).

+-----------------------------------------------------------------------------+
                                Summaries:
+-----------------------------------------------------------------------------+

Installation Summary
--------------------
Name                        Level           Part        Event       Result
-------------------------------------------------------------------------------
rpm.rte                     4.15.1.3        USR         APPLY       SUCCESS   
rpm.rte                     4.15.1.3        ROOT        APPLY       SUCCESS    
aix02 #

With the option “-Y” the license terms of the fileset are accepted.

Next, the RPM files are extracted from the tar file yum_bundle.tar:

aix02 # tar xvof yum_bundle.tar
x ca-certificates-2016.10.7-2.aix6.1.ppc.rpm, 214726 bytes, 420 media blocks.
x curl-7.52.1-1.aix6.1.ppc.rpm, 533288 bytes, 1042 media blocks.
x db-4.8.24-3.aix6.1.ppc.rpm, 2897799 bytes, 5660 media blocks.
x gdbm-1.8.3-5.aix5.2.ppc.rpm, 56991 bytes, 112 media blocks.
x gettext-0.19.7-1.aix6.1.ppc.rpm, 4036762 bytes, 7885 media blocks.
x glib2-2.14.6-2.aix5.2.ppc.rpm, 1686134 bytes, 3294 media blocks.
x pysqlite-1.1.7-2.aix6.1.ppc.rpm, 51749 bytes, 102 media blocks.
x python-2.7.10-1.aix6.1.ppc.rpm, 23333701 bytes, 45574 media blocks.
x python-devel-2.7.10-1.aix6.1.ppc.rpm, 15366474 bytes, 30013 media blocks.
x python-iniparse-0.4-1.aix6.1.noarch.rpm, 37912 bytes, 75 media blocks.
x python-pycurl-7.19.3-1.aix6.1.ppc.rpm, 162093 bytes, 317 media blocks.
x python-tools-2.7.10-1.aix6.1.ppc.rpm, 830446 bytes, 1622 media blocks.
x python-urlgrabber-3.10.1-1.aix6.1.noarch.rpm, 158584 bytes, 310 media blocks.
x readline-6.1-2.aix6.1.ppc.rpm, 489547 bytes, 957 media blocks.
x sqlite-3.15.2-1.aix6.1.ppc.rpm, 3570302 bytes, 6974 media blocks.
x yum-3.4.3-8.aix6.1.noarch.rpm, 1385622 bytes, 2707 media blocks.
x yum-metadata-parser-1.1.4-2.aix6.1.ppc.rpm, 62283 bytes, 122 media blocks.
aix02 #

The option “-o” ensures that the user and group of the unzipped files are the user and the group of the executing user (here root).

The included RPM files must be installed. If one of the RPM packages is already installed in an older version, it must be updated. If a newer version of one of the RPM packages is already installed, it should be suitable for YUM. If the tar file yum_bundle.tar was unpacked in an empty directory, in the simplest case all contained RPM packages can be installed with “rpm –U * .rpm”:

aix02 # rpm -U *.rpm
error: Failed dependencies:
        libreadline.a(libreadline.so.5) is needed by (installed) pcre-8.35-1.ppc
aix02 #

Unfortunately, this did not work here because a newer version of readline is currently installed. We therefore install all included RPMs except for readline-6.1-2.aix6.1.ppc.rpm:

aix02 # rpm -U $( ls -1 *.rpm | grep -v readline )
aix02 #

In some cases, the installation can be more complex if other RPM packages in old or new versions are already installed. However, we assume here that the RPM packages could be installed successfully. Under certain circumstances, you could also consider temporarily uninstalling existing RPM packages and reinstalling them later with the help of YUM.

In principle, YUM is ready for use:

aix02 # yum repolist
https://anonymous:anonymous@public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/repodata/repomd.xml: [Errno 14] curl#6 - "Couldn't resolve host 'public.dhe.ibm.com'"
Trying other mirror.
repo id                                     repo name                                             status
AIX_Toolbox                                 AIX generic repository                                0
AIX_Toolbox_71                              AIX 7.1 specific repository                           0
AIX_Toolbox_noarch                          AIX noarch repository                                 0
repolist: 0
aix02 #

However, the standard repositories of the AIX toolbox are not available due to the lack of a direct Internet connection, as the error messages at the beginning of “yum repolist” show.

In order that YUM can be used, the repositories must either be created manually in local directories or made available via an internal web server. For a possibility of making repositories available via the NIM Service Handler nimhttp of an AIX 7.2 NIM server, see YUM with NIMHTTP.