Co stało się z pakietem ia32-libs?

100

Pakiet ia32-libs nie jest już obecny w repozytoriach Ubuntu 12.04 dla systemu 64-bitowego. Czy są dostępne jakieś dostępne pakiety zastępcze?

    
zadawane Ubuntuser 24.02.2012, 09:48
źródło

6 odpowiedzi

95

Pakiet ia32-libs był hackem, aby zainstalować 32-bitowe pakiety w 64-bitowej instalacji. Od wersji Ubuntu 11.10 (Oneiric) dodano Multi Arch . Jednym z celów jest usunięcie pakietu ia32-libs . Zamiast tego musisz zainstalować 32-bitowe biblioteki pakietu za pomocą:

sudo apt-get install package-name:i386

Nie musisz się o to martwić w przypadku pakietów w standardowych repozytoriach (np. pakiet wine ). W przypadku oprogramowania zewnętrznego jest to nieco trudniejsze, ponieważ trzeba ręcznie znaleźć zależności. W takim przypadku użyj ulubionej wyszukiwarki, aby znaleźć potrzebne biblioteki.

Wygląda na to, że biblioteki ia32-lib wciąż istnieją, ale jedynie jako pakiet wygody obejmujący popularne 32-bitowe biblioteki. Ten pakiet używa teraz Multi Arch do prawidłowego zainstalowania pakietów 32-bitowych.

    
odpowiedział Lekensteyn 24.02.2012, 11:17
źródło
41

Ubuntu 13.10

Co się stało?

Pakiet ia32-libs został całkowicie zastąpiony przez lib32z1 lib32ncurses5 lib32bz2-1.0 . Nie powinno to stanowić problemu, ponieważ jego funkcjonalność wciąż istnieje, tylko w innych pakietach. Jednak nie żyjemy w idealnym świecie, w którym każdy zachowuje swoje pakiety, a całe oprogramowanie to FLOSS, więc niektóre pakiety nadal zależą od bibliotek ia32.

Jak mogę zainstalować pakiet x , który zależy od ia32-libs

Istnieją 2 sposoby:

  1. Możesz przepakować go ręcznie, aby nie był już zależny od ia32-libs . (preferowane)
  2. Możesz zainstalować biblioteki ia32-lib z repozytorium Ubuntu 13.04 (Raring Ringtail) ( w ogóle nie jest preferowane !, jeśli pierwsza metoda nie działa )

1. Przepakuj stare pakiety

Będę używał odbiornika citrix jako przykładu, ale możesz użyć tej metody dla dowolnego pakietu .deb:

Najpierw pobierz pakiet odbiornika citrix .deb ze swojej witryny i utwórz katalog tymczasowy zrób hackowanie.

mkdir ica_temp

Wyodrębnij pakiet

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

Otwórz plik w gedit (lub ulubionym edytorze)

sudo -H gedit ica_temp/DEBIAN/control

Znajdź linię zaczynającą się od Depends:... . usuń ia32-libs i dodaj lib32z1 lib32ncurses5 lib32bz2-1.0

Przebuduj zmodyfikowany pakiet

dpkg -b ica_temp icaclient-modified.deb

I zainstaluj go

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

Instalacja odbiornika Citrix wymaga też trochę hakowania. Pełną instrukcję instalacji można znaleźć na stronie wikipedii Ubuntu

Możesz to zrobić za pomocą dowolnego starego pakietu .deb, który nadal zależy od ia32-libs.

2. Zainstaluj ia32-libs z rifle repozytorium

Zwróć uwagę, że bardzo źle jest instalować stare pakiety! Niestety dla niektórych instalatorów binarnych nie masz innego wyboru.

Możesz pobrać pakiet ia32-libs z bogatego repozytorium . Pobierz go i zainstaluj ręcznie, a następnie zależności powinny zostać rozwiązane.

    
odpowiedział Galgalesh 22.12.2013, 01:42
źródło
6

Przeczytałem, że powinieneś zainstalować pakiet ia32-libs-multiarch . Jednak nie zadziałało to dla mnie i otrzymałem ten błąd

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

Rozwiązaniem, które działało, było zainstalowanie następujących pakietów:

sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
    
odpowiedział ubarb 24.08.2012, 13:24
źródło
4

Jeśli pojawi się ten błąd, spróbuj:

sudo apt-get update

Potem spróbuj ponownie:

sudo apt-get install ia32-libs

Właśnie zrobiłem świeżą instalację 12.04, ta paczka jest nadal dostępna w repozytoriach. W rzeczywistości sam dostałem ten błąd, zanim uruchomiłem aktualizację. Potem zadziałało dobrze.

    
odpowiedział ASCPL 06.12.2012, 16:50
źródło
1

Wierzę, że ten konkretny przypadek użycia został zastąpiony pakietami "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", co jest prawdopodobnie bardziej konkretną i przydatną odpowiedzią niż powiedzenie "możesz użyć wielu łuków".

    
odpowiedział saurik 24.01.2013, 22:52
źródło
-2

Zainstalowałem ia32-lib w ten sposób (uruchamiam Ubuntu 13.04 Raring Ringtail na maszynie 64-bitowej):

Sprawdź własną architekturę:

$ dpkg --print-architecture

Sprawdź, czy zainstalowana jest obca architektura:

$ dpkg --print-foreign-architectures

W zależności od wyników powyższych dwóch komend mogą działać trzy następujące komendy (w moim przypadku proces ten trwa długo):

$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
    
odpowiedział LivioM 02.08.2013, 10:46
źródło

Przeczytaj inne pytania na temat tagów