SUSEŽ Linux Enterprise Desktopは、64ビットプラットフォームで利用できます。ただし、付属のすべてのアプリケーションが64ビットプラットフォームに移植されている訳ではありません。SUSE Linux Enterprise Desktopは、32ビットアプリケーションの64ビットシステム環境での使用をサポートしています。この章では、このサポートを64ビットSUSE Linux Enterprise Desktopプラットフォームで実装する方法について簡潔に説明します。また、32ビットアプリケーションの実行方法(ランタイムサポート)、および32ビットと64ビットのシステム環境の両方で実行できるように32ビットアプリケーションをコンパイルする方法について説明します。さらに、カーネルAPIに関する情報、および32ビットアプリケーションを64ビットカーネルで実行する方法についても説明します。
64ビットプラットフォームのamd64およびIntel 64に対応したSUSE Linux Enterprise Desktopは、既存の 32ビットアプリケーションが 64ビット環境で「出荷してすぐに動作するように設計されています。」このサポートにより、対応する 64ビット移植版が使用可能になるのを待たなくても、使用したい 32ビットアプリケーションを引き続き使用できます。
![]() | アプリケーションバージョン間の競合 |
|---|---|
アプリケーションが32ビットと64ビットの両方の環境で使用可能な場合に、両方のバージョンを同時にインストールすると問題が生じます。そのような場合は、2つのバージョンのどちらかだけをインストールして使用してください。 このルールの例外は、PAM(プラグ可能認証モジュール)です。SUSE Linux Enterprise Desktopは、ユーザとアプリケーションを仲介するレイヤとしての認証プロセスで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)に準拠しています。