हर बार जब मैं yum के साथ कुछ स्थापित करता हूं, तो यह पैकेज के x86_64 और i386 दोनों संस्करणों को स्थापित करने की कोशिश करता है यदि दोनों उपलब्ध हैं। क्या ऐसा कोई तरीका है जिससे मैं मना कर सकूँ कि पैकेज के आर्क को निर्दिष्ट किए बिना?
हर बार जब मैं yum के साथ कुछ स्थापित करता हूं, तो यह पैकेज के x86_64 और i386 दोनों संस्करणों को स्थापित करने की कोशिश करता है यदि दोनों उपलब्ध हैं। क्या ऐसा कोई तरीका है जिससे मैं मना कर सकूँ कि पैकेज के आर्क को निर्दिष्ट किए बिना?
जवाबों:
अपने /etc/yum.conf के लिए मल्टीबिल_पोलिश = सर्वश्रेष्ठ जोड़ें
यम अब आपके सिस्टम के लिए "बेस्ट" पैकेज.हार्ट को स्थापित करने का प्रयास करेगा और यह केवल उसी को इंस्टॉल करेगा (जब तक यह उपलब्ध है)।
यदि आप 64-बिट सिस्टम पर हैं, तो मान लें कि yum पहले package.x86_64 को स्थापित करने का प्रयास करेगा, यदि ऐसा नहीं है तो यह i386 और noarch पर वापस आ जाएगा।
डिफ़ॉल्ट सेटिंग मल्टीबिल_पोलिश = सभी है , जिसका अर्थ है सभी संभव मेहराब स्थापित करना।
मैं कुछ समय के लिए /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.
बीटीडब्लू, दोनों मल्टीबिल_पोलिश = बेस्ट और एक्यूरेट = १ अब कुछ समय के लिए डिफॉल्ट लगते हैं।
यदि आपके पास x86_64 संस्करण पहले से स्थापित है तो यह i386 संस्करण को स्थापित करने का प्रयास करेगा।
ध्यान दें कि यदि आप yum.conf में बाहर का उपयोग करते हैं तो आप केवल i386 आर्क में उपलब्ध पैकेजों को बाहर कर सकते हैं
सुरक्षित तरीके से स्थापित समय पर आर्च को स्पष्ट रूप से अनुरोध करने का तरीका हो सकता है :
yum install package.x86_64
-x, --exclude = package सभी रिपॉजिटरी पर अपडेट से नाम या ग्लोब द्वारा एक विशिष्ट पैकेज को छोड़ दें। कॉन्फ़िगरेशन विकल्प: बाहर
--disableexcludes = [all | main | repoid] अपनी कॉन्फिग फाइलों में परिभाषित बहिष्करणों को अक्षम करें। तीन विकल्पों में से एक लेता है: सभी == सभी को शामिल करता है मुख्य == अक्षम को बाहर रखता है [मुख्य] में yum.conf को निरस्त करें == उस रेपो के लिए परिभाषित अपवर्जित बहिष्कृत करें
ऊपर से आप उपयोग कर सकते हैं या आप yumex स्थापित कर सकते हैं जो gui u देता है वह rpm चुन सकता है जिसे आपको स्थापित करने की आवश्यकता है।
मेरे लिए क्या काम करता है मशीन से सभी 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 बिट सिस्टम है।
-डेव