ia32-libs 패키지는 어떻게 되었습니까?


104

ia32-libs패키지는 더 이상 우분투 64 비트 시스템에서 12.04 저장소에 없습니다. 다운로드 가능한 사용 가능한 교체 패키지가 있습니까?



2
+1, 정확히 같은 질문을하려고했습니다. 정말 좋은 질문 제안이 있습니다!
ulidtko

답변:


97

ia32-libs 패키지는 64 비트 설치에 32 비트 패키지를 설치하는 데 사용되었습니다. Ubuntu 버전 11.10 (Oneiric)부터 Multi Arch 가 추가되었습니다. 목표 중 하나는 ia32-libs패키지를 제거하는 것입니다 . 대신 다음을 사용하여 패키지의 32 비트 라이브러리를 설치해야합니다.

sudo apt-get install package-name:i386

표준 리포지토리의 wine패키지 (예 : 패키지)에 대해서는이 점에 대해 걱정할 필요가 없습니다 . 외부 소프트웨어의 경우 종속성을 수동으로 찾아야하므로 조금 더 어렵습니다. 이 경우 자주 사용하는 검색 엔진을 사용하여 필요한 라이브러리를 찾으십시오.

ia32-lib는 여전히 존재하지만, 일반적인 32 비트 라이브러리를 포함하기위한 편의 패키지 일뿐입니다. 이 패키지는 이제 Multi Arch를 사용하여 32 비트 패키지를 올바르게 설치합니다.


17
글쎄, 모든 의존성을 찾고 먼저 설치하는 방법은 무엇입니까?
117

10
@wingman Run ldd, 바이너리 경로를 인수로 전달합니다. 출력에와 같은 줄이 포함되어 libz.so.1 => not found있으면를 찾아야 libz.so.1합니다. packages.ubuntu.com 을 사용 하거나 apt-file search해당 파일이 포함 된 패키지를 찾을 수 있습니다 . 내가 제시 한 예에서는 설치해야합니다 zlib1g:i386.
Lekensteyn

1
우분투 10.10이 설치된 컴퓨터에 있습니다. 안드로이드 개발에 대한 튜토리얼을 따라 ia32-libs를 설치해야합니다. 귀하의 답변은 11.10에 대해 이야기하지만이 컴퓨터에 대한 것입니까? 내가 무엇을해야합니까?
nkint

1
@nkint 10.10은 더 이상 지원되지 않습니다. 계속 진행하려면 패키지 소스 를 변경해야 합니다 . 10.10에서는 ia32-libs를 설치해야합니다. 그러나 그럼에도 안드로이드 SDK가 그와 함께 작동한다는 보장은 없습니다.
Lekensteyn

1
@FelipeMicaroniLalli package-name실제 이름 으로 바꿔야 합니다. 사용 ldd위의 두 번째 주석을 참조 알아낼 수 있습니다.
Lekensteyn

43

우분투 13.10

어떻게 된 거예요?

ia32-libs패키지는 완전히로 대체되었습니다 lib32z1 lib32ncurses5 lib32bz2-1.0. 다른 패키지에만 기능이 아직 남아 있기 때문에 문제가되지 않습니다. 그러나 우리는 모든 사람이 패키지를 관리하고 모든 소프트웨어가 FLOSS 인 이상적인 세상에 살고 있지 않으므로 일부 패키지는 여전히 ia32-lib에 의존합니다.

ia32-libs에 의존하는 패키지 x 를 설치하는 방법

두 가지 방법이 있습니다 :

  1. ia32-libs더 이상 의존하지 않도록 수동으로 다시 포장 할 수 있습니다 . (권장)
  2. Ubuntu 13.04 (Raring Ringtail) 리포지토리에서 ia32-libs를 설치할 수 있습니다 ( 첫 번째 방법이 작동하지 않는 경우에만 선호되지는 않습니다! )

1. 오래된 패키지 재 포장

시트릭스 수신기를 예로 사용하지만 모든 .deb 패키지에이 방법을 사용할 수 있습니다.

먼저 웹 사이트에서 citrix receiver .deb 패키지를 다운로드하여 해킹을 수행 할 임시 디렉토리를 만드십시오.

mkdir ica_temp

패키지 추출

dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN

gedit (또는 선호하는 편집기)에서 파일을 엽니 다

sudo -H gedit ica_temp/DEBIAN/control

로 시작하는 줄을 찾으십시오 Depends:.... 제거 ia32-libs하고 추가하십시오lib32z1 lib32ncurses5 lib32bz2-1.0

수정 된 패키지 재 구축

dpkg -b ica_temp icaclient-modified.deb

그리고 설치

sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f

citrix 수신기를 설치하려면 약간의 해킹도 필요합니다. 우분투 위키 에서 전체 설치 지침을 찾을 수 있습니다

여전히 ia32-libs에 의존하는 이전 .deb 패키지를 사용하여이 작업을 수행 할 수 있습니다.

2. raring 저장소에서 ia32-libs 설치

이전 패키지를 설치하는 것은 매우 나쁜 습관입니다! 안타깝게도 일부 바이너리 설치 프로그램의 경우 다른 선택 항목이 없습니다.

raring 저장소 에서 ia32-libs 패키지를 다운로드 할 수 있습니다 . 다운로드하여 수동으로 설치하면 종속성을 해결해야합니다.


"FOS"란 무엇입니까? 나는 시도했다 : acronyms.thefreedictionary.com/FOS
타원형보기

1
@Elipticalview "무료 및 오픈 소스". 보다 일반적인 FLOSS (Free / Libre 및 오픈 소스 소프트웨어)로 변경했습니다.
Galgalesh

"오래된 패키지 재 포장"은 대부분 Ubuntu 16.04 Xenial에서 작동합니다. 패키지 이름에 약간의 수정을 추가하면됩니다. 일반적으로 패키지 이름 끝에 ": i386"네임 스페이스를 추가하면됩니다. libbz2-1.0 : i386
Christian Benke

6

ia32-libs-multiarch패키지를 대신 설치해야한다는 것을 읽었습니다 . 그러나 그것은 나를 위해 작동하지 않았고이 오류가 발생합니다

ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.

나를 위해 일한 해결책은 다음 패키지를 설치하는 것이 었습니다.

sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386

초등 OS luna에서도 작동
camelCaseD

4

해당 오류가 발생하면 다음을 시도하십시오.

sudo apt-get update

그런 다음 다시 시도하십시오.

sudo apt-get install ia32-libs

방금 12.04를 새로 설치했는데 그 패키지는 여전히 저장소에서 사용할 수 있습니다. 사실 업데이트를 실행하기 전에 오류가 발생했습니다. 그 후에는 잘 작동했습니다.


1

이 특정 사용 사례는 "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2"패키지로 대체되었다고 생각합니다. "다중 아키텍처를 사용할 수 있습니다"라고 말하는 것보다 더 구체적이고 유용한 대답 일 것입니다.


2
뭐? 이 질문에는 구체적인 유스 케이스가 없습니다.
gertvdijk

1
@gertvdijk : 패키지 자체는 제한된 사용 사례를 나타냅니다. 좀 더 일반적인 목적으로 멀티 아키텍처를 사용할 수 있지만, 이전에이 특정 패키지를 사용했던 사람들을 위해 "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2"로 대체 된 것으로 보입니다. : 이전 패키지와 동일한 사용 사례를 다룹니다. 본질적으로, 나는 ia32-libs가 존재했기 때문에 다중 아치가 과도하게 사용되었고 더 직접적인 드롭 인 대체가 없다는 것에 놀랐고 더 연구했을 때 실망하지 않았기 때문에 이러한 답변이 도움이되지 않는다는 것을 알았습니다.
saurik

이것은 나에게 비슷한 문제를 해결 한 가장 간단한 대답이었습니다. 표시된 libs가 일반 바이너리를 시작하는 것과 관련이없는 것처럼 보이지만 작동했습니다.
Knytt 당

-2

ia32-libs를 다음과 같이 설치했습니다 (64 비트 머신에서 Ubuntu 13.04 Raring Ringtail을 실행합니다).

자체 아키텍처를 확인하십시오.

$ dpkg --print-architecture

외부 아키텍처가 설치되어 있는지 확인하십시오.

$ dpkg --print-foreign-architectures

위의 두 명령의 결과에 따라 다음 세 명령이 작동 할 수 있습니다 (필자의 경우 처리 시간이 오래 걸림).

$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs

4
내가 얻을 :Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0
foobarbecue
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.