SUSEŽ Linux Enterprise Serverは、複数の64ビットプラットフォームで利用できます。ただし、付属のすべてのアプリケーションが64ビットプラットフォームに移植されている訳ではありません。SUSE Linux Enterprise Serverは、32ビットアプリケーションの64ビットシステム環境での使用をサポートしています。この章では、このサポートを64ビットSUSE Linux Enterprise Serverプラットフォームで実装する方法について簡潔に説明します。また、32ビットアプリケーションの実行方法(ランタイムサポート)、および32ビットと64ビットのシステム環境の両方で実行できるように32ビットアプリケーションをコンパイルする方法について説明します。さらに、カーネルAPIに関する情報、および32ビットアプリケーションを64ビットカーネルで実行する方法についても説明します。
64ビットプラットフォームia64、ppc64、System z、x86_64に対応したSUSE Linux Enterprise Serverは、既存の32ビットアプリケーションが64ビット環境で「出荷してすぐに動作するように設計されています。」対応する32ビットプラットフォームには、ia64のx86、ppc64のppc、およびx86_64のx86があります。このサポートにより、対応する 64ビット移植版が使用可能になるのを待たなくても、使用したい 32ビットアプリケーションを引き続き使用できます。現在のppc64システムは、大部分のアプリケーションを 32ビットモードで実行しますが、 64ビットアプリケーションを実行することもできます。
![]() | アプリケーションバージョン間の競合 |
|---|---|
アプリケーションが32ビットと64ビットの両方の環境で使用可能な場合に、両方のバージョンを同時にインストールすると問題が生じます。そのような場合は、2つのバージョンのどちらかだけをインストールして使用してください。 このルールの例外は、PAM(プラグ可能認証モジュール)です。SUSE Linux Enterprise Serverは、ユーザとアプリケーションを仲介するレイヤとしての認証プロセスでPAMを使用します。また、32ビットアプリケーションを実行する64ビットオペレーティングシステムでは、常に両バージョンのPAMモジュールをインストールする必要があります。 | |
正しく実行するために、すべてのアプリケーションにはライブラリが必要です。しかし残念ながら、32ビットバージョンと64ビットバージョンのライブラリの名前は同じです。そのため、ライブラリを別の方法で区別する必要があります。
32ビットバージョンとの互換性を維持するために、ライブラリは32ビット環境の場合と同じシステム内の場所に格納されます。libc.so..6の 32ビットバージョンは、 32ビットと 64ビットのどちらの環境でも/lib/libc.so..6の下にあります。
64ビットのすべてのライブラリとオブジェクトファイルは、lib64というディレクトリにあります。通常、/libおよび/usr/libの下にあると想定されている64ビットのオブジェクトファイルは、/lib64および/usr/lib64の下にあります。つまり、両方のバージョンのファイル名を変更しなくても済むように、32ビットライブラリ用の領域は/libおよび/usr/libの下になっています。
データの内容がワードサイズに依存しない、32ビットの/libディレクトリ中のサブディレクトリは移動されません。このスキームは、LSB (Linux Standards Base)とFHS (File System Hierarchy Standard)に準拠しています。
►ipf:
ia64用の64ビットライブラリは、標準libディレクトリ内にあり、lib64ディレクトリもlib32ディレクトリも存在しません。ia64は、32ビットx86コードをエミュレーションで実行します。基本的なライブラリセットは、/emul/ia32-linux/libおよび/emul/ia32-linux/usr/libにインストールされます。
◄