Eu tenho uma máquina com glibc i686 e x86_64 e um problema muito irritante com glibc.
É normal ter duas bibliotecas com o mesmo nome instaladas em um computador? Como posso saber qual biblioteca é executada?
Até recentemente, eu acreditava que x86_64 era i686. Bem, devo estar enganado, mas por quê?
[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.
package-management
yum
glibc
cpu-architecture
MUY Bélgica
fonte
fonte
uname -m
ecat /proc/cpuinfo
Respostas:
Tecnicamente, o i686 é realmente um conjunto de instruções de 32 bits (parte da linha da família x86), enquanto x86_64 é um conjunto de instruções de 64 bits (também conhecido como amd64).
Pelo que parece, você tem uma máquina de 64 bits com bibliotecas de 32 bits para compatibilidade com versões anteriores. Isso deve ser totalmente bom.
fonte
Se você digitar i686 na Wikipedia, a Wikipedia informará pistas de que a microarquitetura i686 é considerada uma extensão x86.
Em geral, todas as arquiteturas x86 são consideradas semelhantes e a arquitetura x86_64 (ou talvez amd64) é considerada em outro grupo de microarquiteturas.
fonte
Os pacotes i686 devem ser executados em processadores compatíveis com 686, que incluem todos os processadores Intel de 32 bits x86, inclusive o Pentium 4 , etc., bem como processadores da AMD ( AMD K6 ) e outros fornecedores que tornam compatíveis 32 chips de bits.
Para maiores informações:
Os pacotes x86_64 devem ser executados em processadores compatíveis com a plataforma AMD64 de 64 bits, incluindo as famílias AMD Athlon 64, AMD Opteron e AMD relacionadas e os processadores baseados em Intel 64 .
Esses processadores de 64 bits são totalmente compatíveis com os seus antecessores de 32 bits; portanto, se você possui um processador AMD64 ou Intel 64, é sua responsabilidade instalar os pacotes x86_64 de 64 bits ou os pacotes i686 de 32 bits. Para obter o nível mais alto de desempenho do seu sistema, convém usar os pacotes de distribuição x86_64 de 64 bits.
Referência:
fonte