The ia32-libs
paket tidak lagi hadir di Ubuntu 12.04 repositori untuk sistem 64bit. Apakah ada paket pengganti yang tersedia untuk diunduh?
The ia32-libs
paket tidak lagi hadir di Ubuntu 12.04 repositori untuk sistem 64bit. Apakah ada paket pengganti yang tersedia untuk diunduh?
Jawaban:
Paket ia32-libs adalah hack untuk menginstal paket 32-bit pada instalasi 64-bit. Sejak Ubuntu versi 11.10 (Oneiric), Multi Arch telah ditambahkan. Salah satu tujuan untuk itu adalah menghapus ia32-libs
paket. Sebagai gantinya, Anda harus menginstal perpustakaan 32-bit dari sebuah paket dengan:
sudo apt-get install package-name:i386
Anda tidak perlu khawatir tentang ini untuk paket di repositori standar (mis. wine
Paket). Untuk perangkat lunak eksternal, ini sedikit lebih sulit karena Anda harus menemukan dependensi secara manual. Dalam hal ini, gunakan mesin pencari favorit Anda untuk menemukan perpustakaan mana yang Anda butuhkan.
Tampaknya ia32-libs masih ada, tetapi hanya sebagai paket kenyamanan untuk menyertakan perpustakaan 32-bit yang umum. Paket ini sekarang menggunakan Multi Arch untuk menginstal paket 32-bit dengan benar.
ldd
, melewati jalur ke biner sebagai argumen. Jika output berisi garis seperti libz.so.1 => not found
, maka Anda perlu menemukannya libz.so.1
. Anda dapat menggunakan package.ubuntu.com atau apt-file search
untuk menemukan paket yang berisi file itu. Dalam contoh yang saya berikan, Anda harus menginstal zlib1g:i386
.
package-name
dengan nama sebenarnya. Gunakan ldd
untuk mencari tahu, lihat komentar kedua di atas.
The ia32-libs
paket telah sepenuhnya digantikan oleh lib32z1 lib32ncurses5 lib32bz2-1.0
. Ini seharusnya tidak menjadi masalah karena fungsinya masih ada, hanya di paket lain. Namun, kita tidak hidup di dunia yang ideal di mana semua orang memelihara paket mereka dan semua perangkat lunak FLOSS, sehingga beberapa paket masih bergantung pada ia32-libs.
Ada 2 cara:
ia32-libs
. (lebih disukai)Saya akan menggunakan penerima citrix sebagai contoh, tetapi Anda dapat menggunakan metode ini untuk paket .deb:
Pertama, unduh paket .deb penerima citrix dari situs web mereka dan buat direktori sementara lakukan peretasan.
mkdir ica_temp
Ekstrak paket
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
Buka file di gedit (atau editor favorit Anda)
sudo -H gedit ica_temp/DEBIAN/control
Temukan garis yang dimulai dengan Depends:...
. hapus ia32-libs
dan tambahkanlib32z1 lib32ncurses5 lib32bz2-1.0
Bangun kembali paket yang dimodifikasi
dpkg -b ica_temp icaclient-modified.deb
Dan instal
sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f
Memasang penerima citrix juga memerlukan peretasan. Anda dapat menemukan instruksi instalasi lengkap di wiki Ubuntu
Anda dapat melakukan ini dengan paket .deb lama yang masih tergantung pada ia32-libs.
Harap dicatat bahwa itu adalah praktik yang sangat buruk untuk menginstal paket lama! Sayangnya, untuk beberapa installer biner, Anda tidak punya pilihan lain.
Anda dapat mengunduh paket ia32-libs dari repositori raring . Unduh dan instal secara manual, maka dependensi harus diselesaikan.
Saya membaca bahwa Anda seharusnya menginstal ia32-libs-multiarch
paket sebagai gantinya. Namun itu tidak berhasil untuk saya dan saya mendapatkan kesalahan ini
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
Solusi yang berhasil bagi saya adalah menginstal paket-paket berikut:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
Jika Anda mendapatkan kesalahan itu, coba:
sudo apt-get update
Kemudian coba lagi:
sudo apt-get install ia32-libs
Saya baru saja melakukan instalasi baru 12,04, paket itu masih tersedia di repositori. Bahkan, saya mendapatkan kesalahan itu sendiri sebelum saya menjalankan pembaruan. Setelah itu, itu bekerja dengan baik.
Saya percaya ini kasus penggunaan khusus diganti dengan paket "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", yang mungkin merupakan jawaban yang lebih spesifik dan berguna daripada mengatakan "Anda dapat menggunakan multi-lengkungan".
Saya menginstal ia32-libs seperti ini (saya menjalankan Ubuntu 13.04 Raring Ringtail pada mesin 64 bit):
Periksa arsitekturnya sendiri:
$ dpkg --print-architecture
Periksa apakah arsitektur asing dipasang:
$ dpkg --print-foreign-architectures
Bergantung pada hasil dari dua perintah di atas, tiga perintah berikut mungkin bekerja (butuh waktu lama untuk memproses dalam kasus saya):
$ 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