Under Construction

AIX-System ohne direkte Internet-Anbindung

Besitzt ein AIX System keine direkte Internet-Anbindung, kann das IBM Skript yum.sh zur automatischen Installation von YUM nicht verwendet werden. Die für die Installation von YUM notwendigen Dateien müssen dann zunächst über ein anderes System mit Internet-Anbindung heruntergeladen werden und dann auf das AIX-System kopiert werden. Die benötigten Dateien sind die folgenden:

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

In der Datei README-yum ist die Installation von YUM beschrieben.

Im ersten Schritt sollte sichergestellt werden das das Fileset rpm.rte mindestens in der Version 4.13.0.10 oder höher installiert ist. Eine aktuelle Version kann an der oben angegebenen Stelle heruntergeladen werden. Wird YUM unter AIX 6.1 installiert (nicht mehr unterstützt), muss die Version 4.13.0.11 von rpm.rte installiert werden. In unserem Falle haben wir ein AIX 7.1 System auf welchem die Version 4.13.0.2 von rpm.rte installiert ist:

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 #

Heruntergeladen wurde die Version 4.15.1.3:

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

Wir aktualisieren also zunächst rpm.rte auf die neue Version:

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 #

Mit der Option „-Y“ werden die Lizenzbestimmungen des Filesets akzeptiert.

Als nächstes werden die RPM-Dateien aus dem tar-File yum_bundle.tar entpackt:

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 #

Die Option „-o“ sorgt dafür das User und Gruppe der entpackten Dateien der User und die Gruppe des ausführenden Users (hier root) sind.

Die enthaltenen RPM-Dateien müssen installiert werden. Ist eines der RPM-Pakete schon in einer älteren Version installiert, muss es aktualisiert werden. Ist eines der RPM-Pakete schon in einer neueren Version installiert sollte das für YUM passen. Wurde das tar-File yum_bundle.tar in einem leeren Verzeichnis ausgepackt, lassen sich im einfachsten Fall alle enthaltenen RPM-Pakete mit „rpm –U *.rpm“ installieren:

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

Dies hat hier leider nicht funktioniert, da readline aktuell schon in einer neueren Version installiert ist. Wir installieren daher alle enthaltenen RPMs bis auf readline-6.1-2.aix6.1.ppc.rpm:

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

In einigen Fällen kann die Installation auch aufwändiger sein, falls weitere RPM-Pakete in alten oder neuen Versionen schon installiert sind. Wir gehen jedoch hier davon aus das die RPM-Pakete erfolgreich installiert werden konnten. Unter Umständen könnte man auch erwägen vorhandene RPM-Pakete temporär zu deinstallieren und diese später mit Hilfe von YUM wieder zu installieren.

Prinzipiell ist YUM damit einsatzbereit:

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 #

Allerdings sind die Standard-Repositories der AIX-Toolbox aufgrund der fehlenden direkten Internet-Anbindung nicht verfügbar, wie die Fehlermeldungen am Anfang von „yum repolist“ zeigt.

Damit YUM sinnvoll verwendet werden kann, müssen die Repositories entweder in lokalen Verzeichnissen manuell angelegt werden, oder über einen internen Web-Server zur Verfügung gestellt werden. Für eine Möglichkeit Repositories über den NIM Service Handler nimhttp eines AIX 7.2 NIM-Servers zur Verfügung zu stellen, siehe YUM mit NIMHTTP.