나는 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.
답변1
기술적으로 i686은 실제로 32비트 명령어 세트(x86 제품군의 일부)인 반면 x86_64는 64비트 명령어 세트(amd64라고도 함)입니다.
표면적으로는 이전 버전과의 호환성을 위해 32비트 라이브러리가 포함된 64비트 시스템이 있습니다. 그것은 완전히 괜찮을 것입니다.
답변2
i686패키지는 모든 Intel 32비트 x86 프로세서를 포함하는 686 호환 프로세서에서 실행되도록 설계되었습니다.펜티엄 4등 및 AMD 프로세서(AMD K6) 및 32비트 호환 칩을 만드는 기타 공급업체.
더 많은 정보를 알고 싶다면:
x86_64소프트웨어 패키지는 AMD Athlon 64, AMD Opteron 및 관련 AMD 프로세서 제품군을 포함하여 AMD64 64비트 플랫폼과 호환되는 프로세서에서 실행되도록 설계되었습니다.인텔 64비트프로세서 기반.
이러한 64비트 프로세서는 이전 32비트 프로세서와 완전히 역호환되므로 AMD64 또는 Intel 64 프로세서를 사용하는 경우 64비트 x86_64 패키지를 설치할지 아니면 32비트 i686 패키지를 설치할지는 사용자에게 달려 있습니다. 시스템 성능을 최대화하려면 64비트 x86_64 배포판을 사용할 수 있습니다.
인용하다:
답변3
Wikipedia에서 i686을 찾아보면 Wikipedia는 i686 마이크로아키텍처가 x86 확장으로 간주된다는 단서를 제공할 것입니다.
일반적으로 모든 x86 아키텍처는 유사한 것으로 간주되며 x86_64(또는 amd64) 아키텍처는 다른 마이크로 아키텍처 그룹에 속하는 것으로 간주됩니다.
답변4
귀하의 질문에 대답하려면 x86_64는 i686과 동일하지 않지만 x86_64는 i686 기능을 "포함"합니다.
i686은 32비트 아키텍처를 기반으로 한 CPU 설계를 나타냅니다.https://en.wikipedia.org/wiki/32-bit_computing)
x86_64는 64비트 아키텍처를 기반으로 한 CPU 설계를 나타냅니다.https://en.wikipedia.org/wiki/64-bit_computing)
기본적으로 i686은 x86_64 이름의 x86 부분을 나타내는 x86_64의 32비트 구성 요소입니다. x86_64는 "이전 버전과의 호환성"을 위해 32비트 기능을 "포함"하는 64비트 CPU 아키텍처입니다. (바라보다https://en.wikipedia.org/wiki/X86-64)
인텔 CPU의 역사를 되돌아보면 i686과 같은 이름의 유래를 쉽게 추적할 수 있다.
대부분의 "개인용 컴퓨터"(PC)에서 현재 CPU의 전신 CPU는 첫 번째 Intel CPU 4004에서 시작되었습니다. 1970년대에는 다양한 모델이 있었고 그 다음에는 8086, 8088, 80186, 80286, 80386, 80486, 80586(일명 Pentium) 등이 있었습니다(참조:https://en.wikipedia.org/wiki/List_of_Intel_microprocessors)
이는 Intel이 CPU에 할당하는 이름입니다. x86의 x는 1, 2, 3 등을 나타냅니다.
i686이 무엇인지, 어디서 왔는지 알아보는 가장 좋은 방법은 Wikipedia에서 다음 항목을 검색하는 것입니다.
i286, 80286 i386으로 리디렉션, 80386 i486으로 리디렉션, 80486 i586으로 리디렉션, P5/Pentium으로 리디렉션, Intel은 현재 ix86 참조 사용을 중단했습니다(이유는 여기 참조:https://en.wikipedia.org/wiki/Pentium) i686, P6/Pentium Pro(시리즈의 마지막 주요 32비트 CPU 설계, Pentium M 및 기타 일부를 무시함) i786 및 Intel Itanium CPU/P7을 링크로 제공하는 기타 링크( 64비트 Intel CPU 시리즈 최초)