Under Construction

Repository mit HTTP- oder HTTPS-Zugriff über Proxy-Server

Häufig besitzen Systeme keinen direkten Internet-Zugriff. Ein direkter Zugriff auf offizielle Repositories wie die AIX-Toolbox über https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox ist dann nicht möglich. Für Systeme die zumindest über einen Proxy-Server auf Internet-Ressourcen zugreifen können, kann auch YUM für die Verwendung eines solchen Proxy-Servers konfiguriert werden. Dazu muss für die entsprechende Repository lediglich der Proxy-Server über das Attribut proxy angegeben werden.

Wir zeigen dies am Beispiel der Repository „AIX generic repository“ (AIX_Toolbox). Nach der Installation von YUM findet man den folgenden Standard-Eintrag für diese Repository in der Konfigurationsdatei /opt/freeware/etc/yum/yum.conf von YUM:

aix03 # cat /opt/freeware/etc/yum/yum.conf


[AIX_Toolbox]
name=AIX generic repository
baseurl=https://anonymous:anonymous@public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/
enabled=1
gpgcheck=0


aix03 #

Da das Beispielsystem aix03 keine direkte Internet-Anbindung besitzt, schlägt der Zugriff auf die Repository mit der Standard-Konfiguration fehl:

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

Der Rechnername public.dhe.ibm.com kann in unserem Falle nicht aufgelöst werden. Falls der Rechnername aufgelöst werden kann, sieht die Fehlermeldung etwas anders aus:

aix03 # yum repolist
https://anonymous:anonymous@public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/repodata/repomd.xml: [Errno 12] Timeout on https://anonymous:anonymous@public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/repodata/repomd.xml: (28, 'Connection timed out after 30000 milliseconds')
Trying other mirror.
repo id                                  repo name                                         status
AIX_Toolbox                              AIX generic repository                            0
AIX_Toolbox_72                           AIX 7.2 specific repository                       0
AIX_Toolbox_noarch                       AIX noarch repository                             0
repolist: 0
aix03 #

Das Kommando hängt einige Zeit und meldet dann einen Timeout.

Auf dem Beispielsystem aix03 kann unser Proxy-Server webproxy über die Portnummer 3080 erreicht werden. Wir tragen für die Repository diesen Proxy über das Attribut proxy ein:

proxy=http://webproxy:3080

Insgesamt ergibt sich dann der folgende Eintrag in /opt/freeware/etc/yum/yum.conf für die „AIX generic repository“:

aix03 # cat /opt/freeware/etc/yum/yum.conf


[AIX_Toolbox]
name=AIX generic repository
baseurl=https://anonymous:anonymous@public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/
enabled=1
gpgcheck=0
proxy=http://webproxy:3080


aix03 #

Anstelle des Hostnamens webproxy kann auch die IP-Adresse eingetragen werden. Der Zugriff auf diese Repository funktioniert dann auch:

aix03 # yum repolist
AIX_Toolbox                                                               | 2.6 kB  00:00:00    
AIX_Toolbox/primary_db                                                    | 1.8 MB  00:00:00    
https://anonymous:anonymous@public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc-7.2/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: public.dhe.ibm.com"
Trying other mirror.
repo id                                  repo name                                         status
AIX_Toolbox                              AIX generic repository                            2,743
AIX_Toolbox_72                           AIX 7.2 specific repository                           0
AIX_Toolbox_noarch                       AIX noarch repository                                 0
repolist: 2,743
aix03 #

Allerdings verwenden die anderen Repositories noch keinen Proxy und liefern daher einen entsprechenden Fehler. Anstelle jetzt für jede einzelne der Repositories ebenfalls einen Proxy einzutragen, kann man auch einen Proxy in der Sektion main eintragen. Der Eintrag gilt dann für alle Repositories (außer eine Repository überschreibt diesen Eintrag):

aix03 # cat /opt/freeware/etc/yum/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
proxy=http://webproxy:3080

aix03 #

Damit klappt der Zugriff jetzt für alle Repositories:

aix03 # yum repolist
AIX_Toolbox_72                                                            | 2.5 kB  00:00:00    
AIX_Toolbox_72/primary_db                                                 | 285 kB  00:00:00    
AIX_Toolbox_noarch                                                        | 2.5 kB  00:00:00    
AIX_Toolbox_noarch/primary_db                                             | 105 kB  00:00:00    
repo id                                  repo name                                         status
AIX_Toolbox                              AIX generic repository                            2,743
AIX_Toolbox_72                           AIX 7.2 specific repository                         417
AIX_Toolbox_noarch                       AIX noarch repository                               301
repolist: 3,461
aix03 #