SUSE Linux Enterprise® 可用於多種 64 位元平台。但這並不表示所有包含的應用程式都已移植到 64 位元平台。SUSE Linux Enterprise 支援在 64 位元系統環境中使用 32 位元應用程式。本章簡略說明這項支援在 64 位元 SUSE Linux Enterprise 平台的執行方式。它說明 32 位元應用程式的執行方式 (執行期間支援) 以及如何編譯 32 位元應用程式,讓它們在 32 位元和 64 位元兩種系統環境都可執行。另外,您可找到關於核心 API 和 32 位元應用程式如何在 64 位元核心下執行的相關資訊。
![]() | IBM System z 上的 31 位元應用程式︰ |
---|---|
IBM System z 上的 s390 使用 31 位元環境。對以下 32 位元應用程式的參考也同樣適用於 31 位元應用程式。 |
針對 64 位元平台 ia 64、ppc64、s390x 和 x86__64 所設計的 SUSE Linux Enterprise,讓現有的 32 位元應用程式「不需額外的設定」即可在 64 位元環境中執行。對應的 32 位元平台為 x86 (對應 ia64)、ppc (對應 ppc64)、s390 (對應 s390x) 以及 x86 (對應 x86_64)。這項支援意謂您可以繼續使用偏好的 32 位元應用程式,無需等到對應的 64 位元連接埠上市。目前的 ppc64 系統是以 32 位元模式執行大部分應用程式,不過您可以執行 64 位元應用程式。
![]() | 不同應用程式版本之間的衝突 |
---|---|
如果應用程式有 32 位元和 64 位元兩種版本,同時安裝二種版本,一定會發生問題。在這種狀況下,可在兩種版本中選定一種來安裝並使用。 |
要正確執行,每一個應用程式都需要一些程式庫。不幸的是,這些程式庫的 32 位元和 64 位元版本,名稱都一樣。它們必須透過其他方法來區分彼此。
64 位元平台 ppc64、s390x 和 86_64 所使用的方法相同︰為保留與 32 位元版本的相容性,系統中儲存程式庫的位置與 32 位元環境下的系統相同。在 32 位元和 64 位元環境中,libc.so.6
的 32 位元版本都位於 /lib/libc.so.6
。
所有 64 位元程式庫和物件檔案都位於名為 lib64
的目錄。您通常預期在 /lib
、/usr/lib
和 /usr/X11R6/lib
之下找到的 64 位元物件檔案,現在放在 /lib64
、/usr/lib64
以及 /usr/X11R6/lib64
底下。這表示在 /lib
、/usr/lib
和 /usr/X11R6/lib
之下,有預留空間給 32 位元程式庫使用,因而兩種版本的檔案名稱能夠保持不變。
32 位元 /lib
目錄的子目錄,如果其資料內容不取決於字組大小,也不會移動。例如,X11 字型仍然可以在 /usr/X11R6/lib/X11/fonts
底下的一般位置找到。此配置與 LSB (Linux Standards Base) 以及 FHS (File System Hierarchy Standard) 相容。
►ipf:
ia 64 的 64 位元程式庫位於標準 lib
目錄中。在這種狀況下,既沒有 lib64
目錄,也沒有 lib32
目錄。ia64 會模擬執行 32 位元 x86 程式碼。一組基本程式庫會安裝在 /emul/ia32-linux/lib
和 /emul/ia32-linux/usr/X11R6/lib
中。
◄