Qual é a diferença entre os pacotes i686 e x86_64?

28

Eu tenho uma máquina com ambos glibc i686 e x86_64, e um problema muito chato com a glibc.

É normal ter duas bibliotecas do mesmo nome instaladas em um computador? Como posso saber qual biblioteca é executada?

Até recentemente, 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.
    
por MUY Belgium 29.09.2014 / 17:26

3 respostas

17
Tecnicamente, o i686 é, na verdade, 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 som, você tem uma máquina de 64 bits que possui bibliotecas de 32 bits para compatibilidade com versões anteriores. Isso deve estar totalmente bem.

    
por 29.09.2014 / 18:10
1

Se você cavar o i686 na Wikipedia, a Wikipedia lhe dirá que a microarquitetura i686 é considerada uma extensão x86.

Em geral, todas as arquiteturas x86 são consideradas similares, e a arquitetura x86_64 (ou talvez amd64) é considerada em outro grupo de microarquiteturas.

    
por 29.09.2014 / 18:07
1
Os pacotes i686 devem ser executados em processadores compatíveis com 686, que incluem todos os processadores Intel 32- bit x86 processadores até e incluindo o Pentium 4 , etc. bem como processadores da AMD ( AMD K6 ) e outros fornecedores que produzem chips de 32 bits compatíveis.

Para mais informações:

Os pacotes x86_64 devem ser executados em processadores que são compatível com a plataforma AMD64 de 64 bits, incluindo o AMD Athlon 64, AMD Opteron e famílias de processadores AMD relacionados, e o Intel 64 processadores.

Esses processadores de 64 bits são totalmente compatíveis com versões anteriores de 32 bits predecessores, por isso, se você tem um AMD64 ou Intel 64 processador, cabe a você instalar os pacotes x86_64 de 64 bits ou os pacotes i686 de 32 bits. Para obter o mais alto nível de desempenho do seu sistema, você pode querer usar os pacotes de distribuição x86_64 de 64 bits.

Referência:

por 29.09.2018 / 08:14