Package-Management

i686 和 x86_64 包有什麼區別?

  • January 2, 2021

我有一台同時具有 glibc i686 和 x86_64 的機器,並且 glibc 存在一個非常煩人的問題。

在一台電腦上安裝兩個同名庫是否正常?我怎麼知道執行了哪個庫?

直到最近,我還認為 x86_64 是 i686。好吧,我一定是弄錯了,但為什麼呢?

   [root@machin ~]# yum info glibc
   Loaded plugins: rhnplugin, security
   This system is not registered with RHN.
   RHN support will be disabled.
   Excluding Packages in global exclude list
   Finished
   Installed Packages
   Name       : glibc
   Arch       : i686
   Version    : 2.5
   Release    : 42
   Size       : 12 M
   Repo       : installed
   Summary    : The GNU libc libraries.
   License    : LGPL
   Description: The glibc package contains standard libraries which are used by
              : multiple programs on the system. In order to save disk space and
              : memory, as well as to make upgrading easier, common system code is
              : kept in one place and shared between programs. This particular package
              : contains the most important sets of shared libraries: the standard C
              : library and the standard math library. Without these two libraries, a
              : Linux system will not function.

   Name       : glibc
   Arch       : x86_64
   Version    : 2.5
   Release    : 42
   Size       : 11 M
   Repo       : installed
   Summary    : The GNU libc libraries.
   License    : LGPL
   Description: The glibc package contains standard libraries which are used by
              : multiple programs on the system. In order to save disk space and
              : memory, as well as to make upgrading easier, common system code is
              : kept in one place and shared between programs. This particular package
              : contains the most important sets of shared libraries: the standard C
              : library and the standard math library. Without these two libraries, a
              : Linux system will not function.

   [root@machin ~]# yum info glibc-common
   Loaded plugins: rhnplugin, security
   This system is not registered with RHN.
   RHN support will be disabled.
   Excluding Packages in global exclude list
   Finished
   Installed Packages
   Name       : glibc-common
   Arch       : x86_64
   Version    : 2.5
   Release    : 42
   Size       : 64 M
   Repo       : installed
   Summary    : Common binaries and locale data for glibc
   License    : LGPL
   Description: The glibc-common package includes common binaries for the GNU libc
              : libraries, as well as national language (locale) support.

從技術上講,i686 實際上是一個 32 位指令集(x86 系列的一部分),而 x86_64 是一個 64 位指令集(也稱為 amd64)。

從它的聲音來看,您有一台 64 位機器,它具有 32 位庫以實現向後兼容性。那應該完全沒問題。

i686包旨在在 686 兼容處理器上執行,其中包括所有 Intel 32 位 x86 處理器,包括Pentium 4等,以及來自 AMD ( AMD K6 ) 和其他製造商兼容 32-位晶片。

了解更多資訊:

x86_64包旨在在與 AMD64 64 位平台兼容的處理器上執行,包括 AMD Athlon 64、AMD Opteron 和相關 AMD 處理器系列,以及基於Intel 64的處理器。

這些 64 位處理器完全向後兼容其 32 位前輩,因此如果您有 AMD64 或 Intel 64 處理器,則由您決定是安裝 64 位 x86_64 包還是 32 位 i686 包。要從系統中獲得最高水平的性能,您可能需要使用 64 位 x86_64 分發包。

參考 :

引用自:https://unix.stackexchange.com/questions/158244