У меня есть машина с 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.
package-management
yum
glibc
cpu-architecture
MUY Бельгия
источник
источник
uname -m
иcat /proc/cpuinfo
Ответы:
Технически, i686 на самом деле представляет собой 32-битный набор команд (часть семейства x86), а x86_64 - 64-битный набор инструкций (также называемый amd64).
Судя по всему, у вас есть 64-битный компьютер с 32-битными библиотеками для обратной совместимости. Это должно быть совершенно нормально.
источник
Если вы копаете i686 в Википедии, Википедия расскажет вам, что микроархитектура i686 рассматривается как расширение x86.
В целом все архитектуры x86 считаются схожими, а архитектура x86_64 (или, возможно, amd64) рассматривается в другой группе микроархитектур.
источник
Пакеты i686 предназначены для выполнения на 686-совместимых процессорах, которые включают все 32-разрядные процессоры Intel x86 вплоть до Pentium 4 и т. д., а также процессоры AMD ( AMD K6 ) и других производителей, которые обеспечивают совместимость 32- немного фишек.
За дополнительной информацией:
Пакеты x86_64 предназначены для выполнения на процессорах, совместимых с 64-разрядной платформой AMD64, включая AMD Athlon 64, AMD Opteron и связанные семейства процессоров AMD, а также процессоры на базе Intel 64 .
Эти 64-разрядные процессоры полностью обратно совместимы со своими 32-разрядными предшественниками, поэтому, если у вас процессор AMD64 или Intel 64, вам решать, устанавливать ли 64-разрядные пакеты x86_64 или 32-разрядные пакеты i686. Чтобы добиться максимальной производительности вашей системы, вы можете использовать 64-битные дистрибутивы x86_64.
Ссылка :
источник