RHEL5: 38৪-বিট সিস্টেমে i386 প্যাকেজ স্থাপন নিষিদ্ধ?


13

যতবারই আমি yum দিয়ে কিছু ইনস্টল করি, এটি উভয় উপলব্ধ থাকলে প্যাকেজের x86_64 এবং i386 সংস্করণ উভয়ই ইনস্টল করার চেষ্টা করে। প্যাকেজের খিলানটি নির্দিষ্ট না করে আমি কি তা নিষেধ করতে পারি?

উত্তর:


16

Multilib_policy যোগ করুন = আপনার /etc/yum.conf এ সেরা

ইউম এখন আপনার সিস্টেমের জন্য "সেরা" প্যাকেজটি ইনস্টল করার চেষ্টা করবে এবং এটি কেবলমাত্র এটি ইনস্টল করবে (যতক্ষণ না এটি উপলব্ধ থাকে)।

ধরে নিই যে আপনি একটি -৪-বিট সিস্টেমে আছেন, আপনি প্রথমে প্যাকেজ ইনস্টল করার চেষ্টা করবেন। x86_64, যদি এটি না থাকে তবে এটি আবার আই 386 এবং নোয়ার্কে পড়ে যাবে।

ডিফল্ট সেটিংটি মাল্টিলেব_পলিসি = সমস্ত , যার অর্থ সম্ভাব্য সমস্ত তোরণ ইনস্টল করা।


1
হ্যাঁ, এটি সেরা উত্তর। দুর্ভাগ্যক্রমে, বেশিরভাগ লোকেরা এখন এই বিকল্পটি ব্যবহার করে না।
নভে

3

আমি বিকল্প ব্যবহার করছি exactarch = 1 মধ্যে /etc/yum.conf কিছু সময়ের জন্য, এবং এটি আমার জন্য কাজ করেছে।

এটি আপনাকে ম্যানুয়ালি খিলান নির্দিষ্ট করার অনুমতি দেয়, তবে আপনি এটি না করলে এটি কেবল x86_64 ইনস্টল করে, উভয়ই নয়।

এল 6 ম্যানুয়াল অনুসারে , yum.conf (5) :

          exactarch  Either  ‘1’  or ‘0’. Set to ‘1’ to make yum update only update the architectures of
          packages that you have installed. ie: with this enabled yum will not install an  i686  package
          to update an i386 package. Default is ‘1’.

...

          multilib_policy  Can  be set to ’all’ or ’best’. All means install all possible arches for any
          package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on
          x86_64, if it is available. Best means install the best arch for this platform, only.

বিটিডাব্লু , উভয়ই মাল্টিলিব_পলিসি = সেরা এবং নির্ভুল খাঁজ = 1 এখন কিছু সময়ের জন্য ডিফল্ট বলে মনে হচ্ছে।


2

Yum.conf এ বাদ দেওয়া ফাংশনটি ব্যবহার করুন:

exclude=*.i386 *.i686

অথবা exclude=*.i?86(/etc/yum.conf)। এইভাবে, ইয়াম অনুসন্ধান এমনকি 32-বিট প্যাকেজগুলি তালিকাভুক্ত করবে না।
বেসিক 6

1

আপনার যদি ইতিমধ্যে x86_64 সংস্করণ ইনস্টল থাকে তবে এটি i386 সংস্করণ ইনস্টল করার চেষ্টা করবে।

মনোযোগ দিন যে আপনি যদি yum.conf এ বাদ না ব্যবহার করেন তবে প্যাকেজগুলি কেবলমাত্র i386 খিলানে উপলব্ধ রয়েছে তা বাদ দিতে পারেন

একটি নিরাপদ উপায় হ'ল সুস্পষ্টভাবে ইনস্টল করার সময় খিলানটির অনুরোধ করা যায় :

yum install package.x86_64

0

-x, --excolve = প্যাকেজ নাম অথবা গ্লোব দ্বারা নির্দিষ্ট প্যাকেজটি সমস্ত সংগ্রহস্থলের আপডেট থেকে বাদ দিন lude কনফিগারেশন বিকল্প: বাদ দিন

--disableexcludes = [all | main | repobe] আপনার কনফিগার ফাইলে সংজ্ঞায়িত ব্যতিক্রমগুলি অক্ষম করুন। তিনটি বিকল্পের মধ্যে একটি নেয়: সমস্ত == সমস্ত ব্যতীত প্রধান ব্যতীত == yum.conf রেপিডে [মূল] এ সংজ্ঞায়িত বাদ ব্যতিকে বাদ দেওয়া == সেই রেপোর জন্য সংজ্ঞায়িত ব্যতিক্রমগুলি নিষ্ক্রিয় করে

উপরে মানুষের থেকে আপনি ব্যবহার করতে পারেন বা আপনি ইয়িউমেক্স ইনস্টল করতে পারেন যা গুই দেয় আপনি যে আরপিএম ইনস্টল করতে হবে তা চয়ন করতে পারেন।

http://www.yum-extender.org/blog/


আমি বাদ পড়েছি সম্পর্কে জানি, আমি কেবল প্রতিবারই এগুলি টাইপ করতে চাই না, আমি কোনও উপকরণও তৈরি করতে চাই না। আমি কেবল ডিফল্টরূপে 64-বিট সিস্টেমে i386 ইনস্টল করা ভাল জিনিস বলে মনে করি না।
নিকোলাই প্রোকোসচেঙ্কো

সেক্ষেত্রে আপনি গুইয়ের থেকে আরও ভাল বিকল্পগুলি বেছে নিন
রজত

0

আমার জন্য যা কাজ করে তা মেশিন থেকে সমস্ত ix86 প্যাকেজ অপসারণ করছে। এখন এটি আমাকে কখনই 32 বিবিট কিছু ইনস্টল করতে বলে না।

প্রথমে আপনার .rpmmacros এর মতো সেটআপ করুন:

cat ~/.rpmmacros
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

তারপরে এটি চালান (আমি বাশ ধরে নিচ্ছি):

rpm -qa | egrep "i.86$"

এটি আপনাকে বর্তমানে ইনস্টল করা নন x86_64 আরপিএমের একটি তালিকা দেবে। আপনি এটি দিয়ে এগুলি সমস্ত সরাতে পারেন:

rpm -e $(rpm -qa | egrep "i.x86$")

এখন আপনার একটি খাঁটি bit৪ বিট সিস্টেম রয়েছে।

-Dave


-3

তালিকা i386

yum list installed | grep i386

এবং এখন আপনি এটি মুছে ফেলতে বা এটি x86_64 এ আপডেট করতে পারেন


1
এটি প্রশ্নের উত্তর দেয় না।
সোভেন

যদিও এটি পরিস্থিতি মেরামত করতে কার্যকর হতে পারে, তবে কীভাবে তাদের প্রথম স্থানে ইনস্টল করা যায় তা রোধ করার প্রশ্নের উত্তর নয় ...
এইচবি ব্রাইজন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.