आरएचईएल 5: 64-बिट सिस्टम पर i386 पैकेजों की स्थापना की मनाही?


13

हर बार जब मैं yum के साथ कुछ स्थापित करता हूं, तो यह पैकेज के x86_64 और i386 दोनों संस्करणों को स्थापित करने की कोशिश करता है यदि दोनों उपलब्ध हैं। क्या ऐसा कोई तरीका है जिससे मैं मना कर सकूँ कि पैकेज के आर्क को निर्दिष्ट किए बिना?

जवाबों:


16

अपने /etc/yum.conf के लिए मल्टीबिल_पोलिश = सर्वश्रेष्ठ जोड़ें

यम अब आपके सिस्टम के लिए "बेस्ट" पैकेज.हार्ट को स्थापित करने का प्रयास करेगा और यह केवल उसी को इंस्टॉल करेगा (जब तक यह उपलब्ध है)।

यदि आप 64-बिट सिस्टम पर हैं, तो मान लें कि yum पहले package.x86_64 को स्थापित करने का प्रयास करेगा, यदि ऐसा नहीं है तो यह i386 और noarch पर वापस आ जाएगा।

डिफ़ॉल्ट सेटिंग मल्टीबिल_पोलिश = सभी है , जिसका अर्थ है सभी संभव मेहराब स्थापित करना।


1
+1 हां, यह सबसे अच्छा जवाब है। दुर्भाग्य से, ज्यादातर लोगों को अब यह विकल्प नहीं है।
घुंघरू

3

मैं कुछ समय के लिए /etc/yum.conf में विकल्प exactarch = 1 का उपयोग कर रहा हूं , और इसने मेरे लिए काम किया है।

यह अभी भी आपको मैन्युअल रूप से आर्क निर्दिष्ट करने की अनुमति देता है, लेकिन यदि आप नहीं करते हैं, तो यह केवल x86_64 को स्थापित करता है, दोनों को नहीं।

El6 मैनुअल के अनुसार , 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.

बीटीडब्लू, दोनों मल्टीबिल_पोलिश = बेस्ट और एक्यूरेट = १ अब कुछ समय के लिए डिफॉल्ट लगते हैं।


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, --exclude = package सभी रिपॉजिटरी पर अपडेट से नाम या ग्लोब द्वारा एक विशिष्ट पैकेज को छोड़ दें। कॉन्फ़िगरेशन विकल्प: बाहर

--disableexcludes = [all | main | repoid] अपनी कॉन्फिग फाइलों में परिभाषित बहिष्करणों को अक्षम करें। तीन विकल्पों में से एक लेता है: सभी == सभी को शामिल करता है मुख्य == अक्षम को बाहर रखता है [मुख्य] ​​में yum.conf को निरस्त करें == उस रेपो के लिए परिभाषित अपवर्जित बहिष्कृत करें

ऊपर से आप उपयोग कर सकते हैं या आप yumex स्थापित कर सकते हैं जो gui u देता है वह rpm चुन सकता है जिसे आपको स्थापित करने की आवश्यकता है।

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


मैं बाहर के बारे में जानता हूं, मैं हर बार उन्हें टाइप नहीं करना चाहता, न ही मैं उपनाम बनाना चाहता हूं। मुझे नहीं लगता कि डिफ़ॉल्ट रूप से 64-बिट सिस्टम पर i386 को स्थापित करना एक अच्छी बात है।
निकोलाई प्रोकोसेंचेंको

उस मामले में आप गुई से चुनते हैं कि बेहतर विकल्प
रजत

0

मेरे लिए क्या काम करता है मशीन से सभी ix86 संकुल को हटा रहा है। अब यह मुझे किसी भी 32bit को स्थापित करने के लिए कभी नहीं कहता है।

पहला सेटअप अपना .rpmmacros इस तरह:

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

फिर इसे चलाएं (मैं बैश मान रहा हूं):

rpm -qa | egrep "i.86$"

यह आपको वर्तमान में स्थापित गैर x86_64 rpms की एक सूची देगा। आप इसमें से सभी को हटा सकते हैं:

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

अब आपके पास शुद्ध 64 बिट सिस्टम है।

-डेव


-3

सूची i386

yum list installed | grep i386

और अब आप इसे हटा सकते हैं या इसे x86_64 में अपडेट कर सकते हैं


1
इस सवाल का जवाब नहीं है।
स्वेन

हालाँकि यह स्थिति को सुधारने के लिए उपयोगी हो सकता है, लेकिन यह इस सवाल का जवाब नहीं है कि उन्हें पहली जगह में कैसे रोका जाए ...
HBruijn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.