উত্তর:
Ia32-libs প্যাকেজটি হ্যাক ছিল একটি 64-বিট ইনস্টলেশনতে 32-বিট প্যাকেজ ইনস্টল করা। উবুন্টু সংস্করণ ১১.১০ (ওয়ানিরিক) থেকে, মাল্টি আর্চ যুক্ত করা হয়েছে। এর অন্যতম উদ্দেশ্য হ'ল ia32-libs
প্যাকেজটি সরিয়ে ফেলা । পরিবর্তে, আপনাকে এইগুলির সাথে একটি প্যাকেজের 32-বিট লাইব্রেরি ইনস্টল করতে হবে:
sudo apt-get install package-name:i386
মানক সংগ্রহস্থলের প্যাকেজগুলির জন্য আপনাকে উদ্বিগ্ন হওয়ার দরকার নেই (উদাঃ wine
প্যাকেজ)। বাহ্যিক সফ্টওয়্যারগুলির জন্য, এটি কিছুটা জটিল কারণ আপনাকে ম্যানুয়ালি নির্ভরতাগুলি খুঁজে পেতে হবে। সেক্ষেত্রে আপনার পছন্দসই লাইব্রেরিগুলি অনুসন্ধান করতে আপনার পছন্দসই অনুসন্ধান ইঞ্জিন ব্যবহার করুন।
দেখে মনে হচ্ছে ia32-libs এখনও বিদ্যমান, তবে কেবলমাত্র সাধারণ 32-বিট লাইব্রেরি অন্তর্ভুক্ত করার জন্য একটি সুবিধা প্যাকেজ হিসাবে। এই প্যাকেজটি এখন 32-বিট প্যাকেজগুলি সঠিকভাবে ইনস্টল করতে মাল্টি আর্চ ব্যবহার করে।
ldd
, আর্গুমেন্ট হিসাবে বাইনারি যাওয়ার পথ পাড়ি দিচ্ছেন। যদি আউটপুটে কোনও লাইনের মতো থাকে libz.so.1 => not found
তবে আপনাকে খুঁজে বের করতে হবে libz.so.1
। আপনি প্যাকেজ.উবন্টু.কম ব্যবহার করতে পারেন বা apt-file search
সেই ফাইলটি অন্তর্ভুক্ত থাকা প্যাকেজটি সন্ধান করতে পারেন । আমি যে উদাহরণ দিয়েছি, আপনার ইনস্টল করা দরকার zlib1g:i386
।
package-name
আপনার আসল নাম দ্বারা প্রতিস্থাপন করতে হবে । ldd
খুঁজে বের করতে ব্যবহার করুন , উপরের দ্বিতীয় মন্তব্যটি দেখুন।
ia32-libs
প্যাকেজ সম্পূর্ণরূপে দ্বারা প্রতিস্থাপিত হয়েছে lib32z1 lib32ncurses5 lib32bz2-1.0
। এটি কোনও সমস্যা হবেনা কারণ এটির কার্যকারিতা এখনও অন্য প্যাকেজগুলিতে রয়েছে। তবে, আমরা এমন আদর্শ বিশ্বে বাস করি না যেখানে প্রত্যেকে তাদের প্যাকেজগুলি বজায় রাখে এবং সমস্ত সফ্টওয়্যারই এফএলএসএস, তাই কিছু প্যাকেজগুলি এখনও ia32-libs এর উপর নির্ভর করে।
এখানে 2 টি উপায় রয়েছে:
ia32-libs
আর নির্ভর করে না। (পছন্দসই)আমি উদাহরণ হিসাবে সিট্রিক্স রিসিভারটি ব্যবহার করব তবে আপনি যে কোনও .deb প্যাকেজের জন্য এই পদ্ধতিটি ব্যবহার করতে পারেন:
প্রথমে সাইট্রিক্স রিসিভার .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
জিডিতে ফাইলটি খুলুন (বা আপনার প্রিয় সম্পাদক)
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
সিট্রিক্স রিসিভার ইনস্টল করার জন্য কিছু হ্যাকিংয়ের প্রয়োজন। আপনি উবুন্টু উইকিতে সম্পূর্ণ ইনস্টলেশন নির্দেশাবলী খুঁজে পেতে পারেন
আপনি যে কোনও পুরানো .deb প্যাকেজটি এটি এখনও করতে পারেন যা এখনও ia32-libs এর উপর নির্ভর করে।
দয়া করে নোট করুন যে পুরানো প্যাকেজগুলি ইনস্টল করা খুব খারাপ অভ্যাস! দুঃখের বিষয়, কিছু বাইনারি ইনস্টলারগুলির জন্য আপনার অন্য কোনও পছন্দ নেই।
আপনি রাইং সংগ্রহস্থল থেকে ia32-libs প্যাকেজটি ডাউনলোড করতে পারেন । এটি ডাউনলোড করুন এবং ম্যানুয়ালি ইনস্টল করুন, তারপরে নির্ভরতাগুলি সমাধান করা উচিত।
আমি পড়েছি যে 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
আমি বিশ্বাস করি যে এই নির্দিষ্ট ব্যবহারের কেসটি "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2" প্যাকেজগুলির সাথে প্রতিস্থাপন করা হয়েছিল, এটি সম্ভবত "আপনি মাল্টি-আর্চ ব্যবহার করতে পারেন" বলার চেয়ে আরও নির্দিষ্ট এবং দরকারী উত্তর।
আমি এই জাতীয় আইএ 32-লিব ইনস্টল করেছি (আমি একটি 64 বিট মেশিনে উবুন্টু 13.04 রিয়ারিং রিংটেল চালাচ্ছি):
নিজস্ব আর্কিটেকচার পরীক্ষা করুন:
$ dpkg --print-architecture
কোনও বিদেশী আর্কিটেকচার ইনস্টল করা আছে কিনা তা পরীক্ষা করুন:
$ dpkg --print-foreign-architectures
উপরের দুটি কমান্ডের ফলাফলের উপর নির্ভর করে, নিম্নলিখিত তিনটি কমান্ড কাজ করতে পারে (আমার ক্ষেত্রে প্রক্রিয়া করতে দীর্ঘ সময় নিয়েছে):
$ 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