Yanıtlar:
İa32-libs paketi, 64 bitlik bir kurulumda 32 bitlik paketleri almak için bir hack'dü. Ubuntu 11.10 (Oneiric) versiyonundan beri, Multi Arch eklenmiştir. Bunun için amaçlarından biri ia32-libs
paketi çıkarmak . Bunun yerine, bir paketin 32 bit kitaplıklarını aşağıdakilerle birlikte yüklemeniz gerekir:
sudo apt-get install package-name:i386
Standart depolardaki paketler için endişelenmenize gerek yoktur (örneğin wine
paket). Harici yazılımlar için biraz daha zor çünkü bağımlılıkları manuel olarak bulmak zorundasınız. Bu durumda, hangi kütüphanelere ihtiyacınız olduğunu bulmak için favori arama motorunuzu kullanın.
İa32-libs hala var gibi gözüküyor, fakat sadece yaygın 32-bit kütüphaneleri içeren bir kolaylık paketi olarak. Bu paket şimdi 32 bit paketleri doğru bir şekilde kurmak için Multi Arch kullanıyor.
ldd
, ikilinin yolunu argüman olarak geçirerek çalıştırın . Çıktıda benzer bir çizgi varsa, libz.so.1 => not found
bulmanız gerekir libz.so.1
. Sen kullanabilirsiniz packages.ubuntu.com veya apt-file search
bu dosyayı içeren paketi bulmak için. Verdiğim örnekte, yüklemeniz gerekir zlib1g:i386
.
package-name
Gerçek adla değiştirmeniz gerekir . Anlamak ldd
için kullanın , yukarıdaki ikinci yoruma bakın.
ia32-libs
Paket tamamen almıştır lib32z1 lib32ncurses5 lib32bz2-1.0
. Bu bir problem olmamalı çünkü işlevselliği hala orada, sadece diğer paketlerde. Ancak, herkesin paketlerini koruduğu ve tüm yazılımların FLOSS olduğu ideal bir dünyada yaşamıyoruz, bu nedenle bazı paketler hala ia32-libs'lere bağlı.
2 yol var:
ia32-libs
artık bağımlı olmaz . (tercihli)Citrix alıcısını örnek olarak kullanacağım, ancak bu yöntemi herhangi bir .deb paketi için kullanabilirsiniz:
İlk önce sitrix alıcısını .deb paketini web sitelerinden indirin ve hack işlemini yapan geçici bir dizin yapın.
mkdir ica_temp
Paketi çıkart
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
Dosyayı gedit'te (veya en sevdiğin editörde) aç.
sudo -H gedit ica_temp/DEBIAN/control
İle başlayan satırı bulun Depends:...
. kaldır ia32-libs
ve eklelib32z1 lib32ncurses5 lib32bz2-1.0
Değiştirilen paketi yeniden oluştur
dpkg -b ica_temp icaclient-modified.deb
Ve kur
sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f
Citrix alıcısını takmak da biraz kesmek ister. Tüm kurulum talimatlarını Ubuntu wiki'de bulabilirsiniz.
Bunu, hala ia32-lib'lere bağlı olan herhangi bir eski .deb paketiyle yapabilirsiniz.
Lütfen eski paketleri kurmanın çok kötü bir uygulama olduğunu unutmayın! Ne yazık ki, bazı ikili yükleyiciler için başka seçeneğiniz yok.
İa32-libs paketini baskın deposundan indirebilirsiniz . İndirin ve manuel olarak yükleyin, sonra bağımlılıklar çözülmelidir.
Bunun ia32-libs-multiarch
yerine paketi yüklemeniz gerektiğini okudum . Ancak benim için işe yaramadı ve bu hatayı alıyorum
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
Benim için çalışan çözüm şu paketleri kurmaktı:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
Bu özel kullanım durumunun "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2" paketleri ile değiştirildiğini düşünüyorum.
İa32-lib'leri böyle kurdum (Ubuntu 13.04 Raring Ringtail'i 64 bitlik bir makinede çalıştırıyorum):
Kendi mimariyi kontrol et:
$ dpkg --print-architecture
Yabancı bir mimarinin kurulu olup olmadığını kontrol edin:
$ dpkg --print-foreign-architectures
Yukarıdaki iki komutun sonuçlarına bağlı olarak, aşağıdaki üç komut işe yarayabilir (benim durumumda işlem yapmak uzun zaman aldı):
$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
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