Inhaltsverzeichnis
SUSE® Linux Enterprise ist für verschiedene 64-Bit-Plattformen verfügbar. Das bedeutet jedoch nicht unbedingt, dass alle enthaltenen Anwendungen bereits auf 64-Bit-Plattformen portiert wurden. SUSE Linux Enterprise unterstützt die Verwendung von 32-Bit-Anwendungen in einer 64-Bit-Systemumgebung. Dieses Kapitel bietet einen kurzen Überblick darüber, wie diese Unterstützung auf SUSE Linux Enterprise-64-Bit-Plattformen implementiert ist. Es wird erläutert, wie 32-Bit-Anwendungen ausgeführt werden (Laufzeitunterstützung) und wie 32-Bit-Anwendungen kompiliert werden sollten, damit sie sowohl in 32-Bit- als auch in 64-Bit-Systemanwendungen ausgeführt werden können. Außerdem finden Sie Informationen zur Kernel-API und es wird erläutert, wie 32-Bit-Anwendungen unter einem 64-Bit-Kernel ausgeführt werden können.
![]() | 31-Bit-Anwendungen auf IBM-System z: |
---|---|
s390 auf IBM-System z nutzt eine 31-Bit-Umgebung. Verweise auf 32-Bit-Anwendungen gelten im Folgenden auch für 31-Bit-Anwendungen. |
SUSE Linux Enterprise für die 64-Bit-Plattformen ia64, ppc64, s390x und x86_64 ist so konzipiert, dass bestehende 32-Bit-Anwendungen sofort in der 64-Bit-Umgebung ausgeführt werden können. Die entsprechenden 32-Bit-Plattformen sind x86 für ia64, ppc für ppc64, s390 für s390x und x86 für x86_64. Diese Unterstützung bedeutet, dass Sie weiterhin Ihre bevorzugten 32-Bit-Anwendungen verwenden können und nicht warten müssen, bis ein entsprechender 64-Bit-Port verfügbar ist. Das aktuelle ppc64-System führt die meisten Anwendungen im 32-Bit-Modus aus, es können aber auch 64-Bit-Anwendungen ausgeführt werden.
![]() | Konflikte zwischen Anwendungsversionen |
---|---|
Wenn eine Anwendung sowohl für 32-Bit- als auch für 64-Bit-Umgebungen verfügbar ist, führt die parallele Installation beider Versionen zwangsläufig zu Problemen. Entscheiden Sie sich in diesen Fällen für eine der beiden Versionen und installieren und verwenden Sie nur diese. |
Für eine korrekte Ausführung benötigt jede Anwendung eine Reihe von Bibliotheken. Leider sind die Namen für die 32-Bit- und 64-Bit-Versionen dieser Bibliotheken identisch. Sie müssen auf andere Weise voneinander unterschieden werden.
Derselbe Ansatz gilt für die 64-Bit-Plattformen ppc64, s390x und x86_64: Um die Kompatibilität mit der 32-Bit-Version aufrechtzuerhalten, werden die Bibliotheken am selben Ort im System gespeichert wie in der 32-Bit-Umgebung. Die 32-Bit-Version von libc.so.6
befindet sich sowohl in der 32-Bit- als auch in der 64-Bit-Umgebung unter /lib/libc.so.6
.
Alle 64-Bit-Bibliotheken und Objektdateien befinden sich in Verzeichnissen mit dem Namen lib64
. Die 64-Bit-Objektdateien, die sich normalerweise unter /lib
, /usr/lib
und /usr/X11R6/lib
befinden, werden nun unter /lib64
, /usr/lib64
bzw. /usr/X11R6/lib64
gespeichert. Unter /lib
, /usr/lib
und /usr/X11R6/lib
ist also Platz für die 32-Bit-Bibliotheken, sodass der Dateiname für beide Versionen unverändert bleiben kann.
Unterverzeichnisse von 32-Bit-Verzeichnissen namens /lib
, deren Dateninhalt nicht von der Wortgröße abhängt, werden nicht verschoben. Beispielsweise befinden sich die X11-Schriftarten noch immer am gewohnen Ort unter /usr/X11R6/lib/X11/fonts
. Das Schema entspricht LSB (Linux Standards Base) und FHS (File System Hierarchy Standard).
►ipf:
Die 64-Bit-Bibliotheken für ia64 befinden sich in den standardmäßigen lib
-Verzeichnissen. In solchen Fällen gibt es weder das Verzeichnis lib64
noch das Verzeichnis lib32
. ia64 führt den 32-Bit-x86-Code unter einer Emulation aus. Eine Reihe von Basisbibliotheken wird unter /emul/ia32-linux/lib
und /emul/ia32-linux/usr/X11R6/lib
installiert.
◄