64 비트 시스템이 32 비트 저장소를 찾는 이유는 무엇입니까?


19

랩탑에 64 비트 12.10을 설치했습니다. apt-get 업데이트를 실행할 때 32 비트 패키지 (소스 및 64 비트 패키지 목록)의 패키지 목록을 다운로드합니다. 64 비트 시스템에서 32 비트 패키지 목록을 찾는 이유는 무엇입니까? 아래에서 찾으려고하는 항목 중 하나를 포함 시켰습니다.

http://us.archive.ubuntu.com/ubuntu/dists/quantal-backports/multiverse/binary-i386/Packages

답변:


28

혼란스럽지 않습니까? 조금 설명하겠습니다.

왜?

  • 32 비트 소프트웨어는 64 비트 지원 하드웨어가있는 64 비트 커널에서 제대로 실행됩니다.
  • 일부 소프트웨어는 여전히 특정 32 비트 라이브러리를 사용합니다. 이것은 좋지 않지만 때로는 이것을 바꿀 힘이 없습니다.
  • 종속성을 만족 시키려면 시스템에서 32 비트 소프트웨어를 사용할 수 있어야하므로 32 비트 리포지토리도 사용합니다.

저는 2011 년 초부터 왔습니다. 무슨 일이 있었나요?

11.10 이전의 64 비트 버전의 Ubuntu에서는 일부 공통 32 비트 라이브러리 세트 ia32-libs가 64 비트로 APT / Dpkg로 표시 되는 단일 패키지와 저장소의 해당 위치에 패키지되었습니다. 응용 프로그램에 단일 라이브러리가 필요한 경우 150MB 이상의 32 비트 라이브러리 1 에 의존합니다 . 분명히 이것은 멋진 디자인이 아닙니다.

여러 아키텍처?

새로운 아이디어는 APT / Dpkg 및 그 주변의 도구에 "멀티 아치"기능을 도입하는 것이 었습니다. 이것은 런치 패드에서 여러 청사진으로 제시되었으며 그중 하나입니다 . Oneiric (11.10)은 Multiarch를 지원하는 첫 번째 릴리스가되었습니다.

어떻게 작동합니까?

시스템이 어떤 아키텍처를 실행할 수 있는지 Dpkg에 알릴 수 있습니다. 내 12.04 64 비트 설치에서 여기 있습니다 :

$ cat /etc/dpkg/dpkg.cfg.d/multiarch 
foreign-architecture i386

i386패키지 의 전 세계를 열며 amd64여전히 기본값입니다.

$ apt-cache show libqt4-core                   | grep -E "^(Filename|Architecture)"
Architecture: amd64
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_amd64.deb

$ apt-cache show libqt4-core:i386              | grep -E "^(Filename|Architecture)"
Architecture: i386
Filename: pool/universe/q/qt4-x11/libqt4-core_4.8.1-0ubuntu4.3_i386.deb

위의 예를 보여 Multiarch는 단순히 패키지에 의존하도록 패키지 테이너 수 있다는 libqt4-core:i386, 예를 들면, 그것은 가능한 설치하게 어떤 (임의의 패키지를 설치하는 것이 32 비트 라이브러리 / 패키지 에 따라 32 비트 라이브러리 / 패키지) 미리 선택된 세트가 아닙니다.

ia32-libs 적합성

ia32-libs일반적인 기본 32 비트 라이브러리 세트를 설치하기 위해 패키지를 편의 패키지로 설치하는 데 사용한 경우 이제를 사용할 수 있습니다 . 이것은 동일한 (또는 최소한 매우 유사한) 라이브러리 세트에 따라 간단한 메타 패키지이지만 Multiarch의 기능으로 설치됩니다.ia32-libs-multiarch ia32-libs-multiarch 설치

더 관련 독서

1 Lucid (10.04)의 경우 ia32-libs패키지 설치 크기는 155,812.0 kB입니다.


5
dpkg --print-foreign-architectures고양이보다 달리기를 권장합니다 /etc/dpkg/dpkg.cfg.d/multiarch. 12.04 이후에는 존재하지 않습니다.
tumbleweed

방금 집에 apt-mirror를 설치했으며 64 비트 저장소를 미러링하기를 바랐습니다. 유감스럽게도 그렇게 할 수는 없지만 지금은 왜 그런지 이해합니다. 답변이 접수되었습니다!
tgm4883

@ tgm4883 실제로 실행하려는 경우 외부 아키텍처 구성을 제거 할 수 amd64있습니다. ia32-libs사용할 수 없는 오래된 우분투를 실행하는 것과 비슷 합니다.
gertvdijk

1
나는 읽기 시작했고 내 마음에 그것은 말했다 : 흠 gertvdijk에서 게시물처럼 보인다 : +) Goede post;)
Rinzwind
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.