web-dev-qa-db-fra.com

Quelle est la différence entre les packages i686 et x86_64?

J'ai une machine avec à la fois glibc i686 et x86_64, et un problème très ennuyeux avec glibc.

Est-il normal d'avoir deux bibliothèques du même nom installées sur un même ordinateur? Comment savoir quelle bibliothèque est exécutée?

Jusqu'à récemment, je pensais que x86_64 était i686. Eh bien, je dois me tromper, mais pourquoi?

    [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.
35
MUY Belgium

Techniquement, i686 est en fait un jeu d'instructions 32 bits (faisant partie de la ligne de la famille x86), tandis que x86_64 est un jeu d'instructions 64 bits (également appelé AMD64).

D'après le son, vous avez une machine 64 bits qui possède des bibliothèques 32 bits pour une compatibilité descendante. Cela devrait être tout à fait correct.

29
Unix-Ninja

Si vous creusez i686 dans Wikipedia, Wikipedia vous dira que la microarchitecture i686 est considérée comme une extension x86.

En général, toutes les architectures x86 sont considérées comme similaires et l'architecture x86_64 (ou peut-être AMD64) est considérée dans un autre groupe de microarchitectures.

2
41754

i686 les packages sont destinés à être exécutés sur des processeurs compatibles 686, qui incluent tous les processeurs Intel 32 bits x86 jusqu'au Pentium 4 , etc., ainsi que les processeurs d'AMD ( AMD K6 ) et d'autres fournisseurs qui fabriquent des puces 32 bits compatibles.

Pour plus d'informations:

x86_64 les packages sont destinés à être exécutés sur des processeurs compatibles avec la plate-forme AMD64 64 bits, y compris AMD Athlon 64, AMD Opteron et les familles de processeurs AMD associées, ainsi que les Intel 64 processeurs basés.

Ces processeurs 64 bits sont entièrement rétrocompatibles avec leurs prédécesseurs 32 bits, donc si vous avez un processeur AMD64 ou Intel 64, c'est à vous de décider si vous souhaitez installer les packages x86_64 64 bits ou les packages i686 32 bits. Pour obtenir le meilleur niveau de performances de votre système, vous pouvez utiliser les packages de distribution x86_64 64 bits.

Référence:

2
finn