Was ist der Unterschied zwischen i686- und x86_64-Paketen?

34

Ich habe eine Maschine mit glibc i686 und x86_64 und ein sehr ärgerliches Problem mit glibc.

Ist es normal, dass zwei Bibliotheken mit demselben Namen auf einem Computer installiert sind? Wie kann ich wissen, welche Bibliothek ausgeführt wird?

Bis vor kurzem glaubte ich, dass x86_64 i686 war. Nun, ich muss mich irren, aber warum?

    [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.
MUY Belgien
quelle
2
Lesen Sie diesen WikiPedia-Artikel zu x86 und diesen WikiPedia-Artikel zu x86_64 . Um herauszufinden, was Sie verwenden, verwenden Sie uname -mundcat /proc/cpuinfo
eyoung100
1
Auf RH5.9 x86_64-Systemen sehe ich sowohl glibc für i686 als auch x86_64.
Raza

Antworten:

25

Technisch gesehen ist i686 ein 32-Bit-Befehlssatz (Teil der x86-Familie), während x86_64 ein 64-Bit-Befehlssatz ist (auch als amd64 bezeichnet).

Laut Sound haben Sie eine 64-Bit-Maschine, die aus Gründen der Abwärtskompatibilität über 32-Bit-Bibliotheken verfügt. Das sollte völlig in Ordnung sein.

Unix-Ninja
quelle
2

Wenn Sie i686 in Wikipedia graben, werden Sie von Wikipedia darauf hingewiesen, dass die i686-Mikroarchitektur als x86-Erweiterung betrachtet wird.

Im Allgemeinen werden alle x86-Architekturen als ähnlich angesehen, und die x86_64-Architektur (oder möglicherweise amd64-Architektur) wird in einer anderen Mikroarchitekturgruppe berücksichtigt.

41754
quelle
3
Aber die schnelle und schmutzige Antwort wäre „ , weil i686 ist ein 32 - Bit - x86 - submicroarchitecture und x86_64 (oder amd64) ist ein 64 - Bit - microarchitecure).
41754
2
Ähm ... korrigiere mich, wenn ich hier falsch liege, aber es sieht so aus, als hätte dein Kommentar ... Unix-Ninja'ed.
TED
2

i686- Pakete sollen auf 686-kompatiblen Prozessoren ausgeführt werden, einschließlich aller Intel 32-Bit x86-Prozessoren bis einschließlich Pentium 4 usw. sowie Prozessoren von AMD ( AMD K6 ) und anderen Anbietern, die kompatible 32-Bit-Prozessoren herstellen. Bit-Chips.

Für mehr Informationen:

x86_64- Pakete sollen auf Prozessoren ausgeführt werden, die mit der AMD64 64-Bit-Plattform kompatibel sind, einschließlich AMD Athlon 64, AMD Opteron und verwandten AMD-Prozessorfamilien sowie Intel 64- basierten Prozessoren.

Diese 64-Bit-Prozessoren sind vollständig abwärtskompatibel zu ihren 32-Bit-Vorgängern. Wenn Sie also über einen AMD64- oder Intel 64-Prozessor verfügen, müssen Sie die 64-Bit-x86_64-Pakete oder die 32-Bit-i686-Pakete installieren. Um die bestmögliche Leistung Ihres Systems zu erzielen, können Sie die 64-Bit-x86_64-Distributionspakete verwenden.

Referenz :

Finn
quelle