Ia32-libs पैकेज का क्या हुआ?


104

ia32-libsपैकेज Ubuntu एक 64 बिट सिस्टम के लिए 12.04 खजाने में मौजूद नहीं रह गया है। क्या कोई उपलब्ध प्रतिस्थापन पैकेज डाउनलोड के लिए उपलब्ध हैं?



2
+1, बस वही सवाल पूछने जा रहा था। एसओ के पास वास्तव में महान प्रश्न हैं!
ulidtko

जवाबों:


97

Ia32-libs पैकेज 64-बिट इंस्टॉलेशन पर स्थापित 32-बिट पैकेज प्राप्त करने के लिए एक हैक था। Ubuntu संस्करण 11.10 (Oneiric) के बाद से, मल्टी आर्क को जोड़ा गया है। इसके लिए उद्देश्यों में से एक ia32-libsपैकेज निकाल रहा है। इसके बजाय, आपको पैकेज की 32-बिट लाइब्रेरी स्थापित करनी होगी:

sudo apt-get install package-name:i386

आपको मानक रिपॉजिटरी (उदाहरण के लिए wineपैकेज) में पैकेज के लिए इस बारे में चिंता करने की ज़रूरत नहीं है । बाहरी सॉफ़्टवेयर के लिए, यह थोड़ा अधिक कठिन है क्योंकि आपको मैन्युअल रूप से निर्भरताएँ ढूंढनी होंगी। उस स्थिति में, अपने पसंदीदा खोज इंजन का उपयोग करें कि आपको किन पुस्तकालयों की आवश्यकता है।

ऐसा लगता है कि ia32-lib अभी भी मौजूद हैं, लेकिन केवल 32-बिट लाइब्रेरी को शामिल करने के लिए एक सुविधा पैकेज के रूप में। यह पैकेज अब 32-बिट पैकेज को सही ढंग से स्थापित करने के लिए मल्टी आर्क का उपयोग करता है।


17
खैर, सभी आश्रितों को खोजने और पहली बार स्थापित करने के लिए कोई कैसे माना जाता है: उन में से i386?
user117

10
@wingman Run ldd, बाइनरी के लिए एक मार्ग को तर्क के रूप में पारित कर रहा है। यदि आउटपुट में एक पंक्ति है जैसे libz.so.1 => not found, तो आपको खोजने की आवश्यकता है libz.so.1। आप उपयोग कर सकते हैं packages.ubuntu.com या apt-file searchउस फ़ाइल युक्त पैकेज खोजने के लिए। मेरे द्वारा दिए गए उदाहरण में, आपको स्थापित करने की आवश्यकता है zlib1g:i386
लेकेनस्टेन

1
मैं ubuntu 10.10 के साथ एक कंप्यूटर में हूँ। एंड्रॉइड डेवलपमेंट पर कुछ ट्यूटोरियल के बाद मुझे ia32-libs इंस्टॉल करना होगा। आपका जवाब 11.10 के बारे में बात करता है, लेकिन इस कंप्यूटर के लिए? मुझे क्या करना है?
nkint

1
@nkint 10.10 अब समर्थित नहीं है। यदि आप आगे बढ़ना चाहते हैं, तो आपको अपने पैकेज स्रोतों को बदलने की आवश्यकता है । 10.10 में आपको ia32-lib स्थापित करने की आवश्यकता है। लेकिन फिर भी कोई गारंटी नहीं है कि एंड्रॉइड एसडीके उस के साथ काम करता है।
लेकेनस्टाइन

1
@FelipeMicaroniLalli आपको package-nameवास्तविक नाम से बदलने की आवश्यकता है । lddपता लगाने के लिए उपयोग करें , ऊपर की दूसरी टिप्पणी देखें।
लेकेनस्टाइन

43

उबंटू 13.10

क्या हुआ?

ia32-libsपैकेज पूरी तरह से बदल दिया गया है lib32z1 lib32ncurses5 lib32bz2-1.0। यह एक समस्या नहीं होनी चाहिए क्योंकि इसकी कार्यक्षमता अभी भी है, बस अन्य पैकेजों में। हालाँकि, हम एक आदर्श दुनिया में नहीं रहते हैं जहाँ हर कोई अपने पैकेज बनाए रखता है और सभी सॉफ्टवेयर FLOSS होते हैं, इसलिए कुछ पैकेज अभी भी ia32-lib पर निर्भर करते हैं।

मैं पैकेज x कैसे स्थापित कर सकता हूं जो ia32-libs पर निर्भर करता है

2 तरीके हैं:

  1. आप इसे मैन्युअल रूप से रीपैकेज कर सकते हैं ताकि यह ia32-libsअब पर निर्भर न हो । (पसंदीदा)
  2. आप Ubuntu 13.04 (रेयरिंग रिंगटोन) रिपॉजिटरी से ia32-lib स्थापित कर सकते हैं ( बिल्कुल पसंद नहीं!! केवल तभी जब पहली विधि काम न करे )

1. पुराने पैकेजों को रीपैकेज करें

मैं उदाहरण के रूप में सिट्रिक्स रिसीवर का उपयोग करूंगा, लेकिन आप किसी भी .deb पैकेज के लिए इस विधि का उपयोग कर सकते हैं:

सबसे पहले, अपनी वेबसाइट से Citrix रिसीवर .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 रिसीवर को इंस्टॉल करने के लिए कुछ हैकिंग की भी आवश्यकता होती है। आप उबंटू विकी पर पूर्ण इंस्टॉलेशन निर्देश पा सकते हैं

आप इसे किसी भी पुराने .deb पैकेज के साथ कर सकते हैं जो अभी भी ia32-lib पर निर्भर करता है।

2. बढ़ते भंडार से ia32-lib स्थापित करें

कृपया ध्यान दें कि पुराने पैकेजों को स्थापित करने के लिए यह बहुत बुरा अभ्यास है! अफसोस की बात है, कुछ बाइनरी इंस्टॉलर के लिए, आपके पास कोई अन्य विकल्प नहीं है।

आप रेयर रिपॉजिटरी से ia32-libs पैकेज डाउनलोड कर सकते हैं । इसे डाउनलोड करें और इसे मैन्युअल रूप से इंस्टॉल करें, फिर आश्रितों को हल किया जाना चाहिए।


"FOS" क्या है? मैंने कोशिश की: परिवर्णी..tffreedfox.com/FOS
अण्डाकार दृश्य

1
@Elipticalview "नि: शुल्क और मुक्त स्रोत"। इसे FLOSS (Free / Libre और ओपन सोर्स सॉफ्टवेयर) में बदल दिया, जो अधिक सामान्य है।
गलगलेश

"रीपैकेज पुराने पैकेज" उबंटू 16.04 के लिए ज्यादातर काम करता है। क्निअल - आपको पैकेज-नामों में कुछ अनुकूलन जोड़ने की जरूरत है, आमतौर पर पैकेज के नामों के अंत में ": i386" -namespace जोड़ते हैं। कुछ पैकेजों के अलग-अलग नाम भी हैं, जैसे कि libbz2-1.0: i386
क्रिश्चियन

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

प्राथमिक ओएस लूना के लिए भी काम करता है
camelCaseD

4

यदि आपको वह त्रुटि मिलती है, तो प्रयास करें:

sudo apt-get update

फिर इसे फिर से आज़माएँ:

sudo apt-get install ia32-libs

मैंने अभी 12.04 की एक ताजा स्थापना की, वह पैकेज अभी भी रिपॉजिटरी में उपलब्ध है। वास्तव में, मुझे वह त्रुटि मिली इससे पहले कि मैं अपडेट चलाता। बाद में, यह ठीक काम किया।


1

मेरा मानना ​​है कि इस विशिष्ट उपयोग के मामले को "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2" के पैकेज से बदल दिया गया था, जो कि "आप बहु-आर्च का उपयोग कर सकते हैं" कहने की तुलना में संभवतः अधिक विशिष्ट और उपयोगी उत्तर है।


2
क्या? इस प्रश्न में कोई विशिष्ट उपयोग मामला नहीं है।
गर्टवडिज्क

1
@gertvdijk: पैकेज अपने आप में एक सीमित उपयोग के मामले का प्रतिनिधित्व करता है; अधिक सामान्य उद्देश्य के लिए आप मल्टी-आर्च कर सकते हैं, लेकिन जो लोग पहले इस एक विशिष्ट पैकेज का उपयोग कर रहे थे, उनके लिए "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2" से प्रतिस्थापित किया गया लगता है, जिसे आप मल्टी-आर्क का उपयोग किए बिना इंस्टॉल कर सकते हैं : जो पिछले पैकेज के समान उपयोग मामलों को कवर करता है। संक्षेप में, मैंने इन उत्तरों को अप्राप्य पाया, क्योंकि मल्टी-आर्क इस कारण से ओवरक्लिल था कि ia32-libs मौजूद था, आश्चर्य था कि एक अधिक प्रत्यक्ष ड्रॉप-इन प्रतिस्थापन नहीं था, और जब मैंने इस पर और शोध किया तो निराश नहीं हुआ।
saurik

यह सबसे सरल उत्तर था जिसने मेरे लिए एक समान समस्या हल कर दी। भले ही यह संकेत दिया गया है कि यह एक सामान्य बाइनरी शुरू करने के साथ काम करने के लिए कुछ भी नहीं लगता है।
प्रति क्वेट

-2

मैंने इस तरह ia32-lib स्थापित किया (मैं 64 बिट मशीन पर Ubuntu 13.04 रेयरिंग रिंगटोन चलाता हूं):

खुद की वास्तुकला की जाँच करें:

$ 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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.