एक निर्भरता को अनदेखा करने के लिए यम को बताएं


37

मैं CentO पर winwitch स्थापित करने की कोशिश कर रहा हूँ 6. यह 'nxagent' की आवश्यकता है। लेकिन सेंटो में, पैकेज का नाम 'एनएक्स' है। क्या यम को यह बताने का एक तरीका है कि 'nxagent' निर्भरता की जाँच करना छोड़ दें (मैंने पहले से ही 'nx' स्थापित किया है)? निर्दिष्ट करना -स्काइप-टूटी हुई पूरी चीज़ को छोड़ देता है

जवाबों:


14

आम तौर पर yumनिर्भरता से एक भी पैकेज को नजरअंदाज करने के लिए विकल्प नहीं होते हैं। विकल्प --skip-brokenसभी अनसुलझे निर्भरताओं को अनदेखा करता है।

आप कोशिश कर सकते हैं, yum --exclude=packagenameलेकिन यह सभी रिपॉजिटरी पर अपडेट से नाम या ग्लोब द्वारा एक विशिष्ट पैकेज को बाहर करता है, न कि निर्भरता से।


1
yum --excludeनिर्भरता पर काम नहीं करता है
DrStrangepork

2
@DrStrangepork हाँ मुझे पता है कि मैंने लिखा था कि मेरे जवाब में
B14D3

5
न तो --excludeहै और न ही --skip-brokenतरीका है कि में एक या अधिक निर्भरता बाईपास में मदद करता है rpm --nodepsहै।
एक्यूमेनस

3
दूसरे उत्तर पर जाएं।
ब्रेथबॉर्न

49

rpmआदेश है --nodepsविकल्प है कि आप उपयोग कर सकते हैं। एक चुनौती यह है कि rpmअपने आप में यम रिपॉजिटरी के बारे में पता नहीं है। निम्न कमांड निर्भरता को अनदेखा करते हुए पैकेज को स्थापित या अद्यतन करेगा, लेकिन स्वचालित रूप से आपके रिपॉजिटरी से डाउनलोड URL को देख रहा है, repoqueryजो पैकेज में है yum-utils

rpm -Uvh --nodeps $(repoquery --location winswitch)

उसके बाद, एक नियमित रूप yum updateसे संभावना निर्भरता त्रुटियों के बिना सफल होगी।


$ (रिपॉक्वेरी - एलोकेशन विनस्विच) ने मेरे लिए काम नहीं किया। हालाँकि, एक .rpm पैकेज को "yumdownloader --destdir =। Package-name" के माध्यम से डाउनलोड कर सकते हैं। "आरपीएम -यू" का अर्थ है अपग्रेड। यदि पैकेज स्थापित नहीं किया गया था, तो कोई उसके लिए "rpm -i" का उपयोग कर सकता है। yumdownloader yum-utils (मेरे मामले में dnf-utils) से है।
यारोस्लाव निकितेंको

2

ऐसा लगता है कि आप ऐसे पैकेज को स्थापित करने की कोशिश कर रहे हैं जो ओएस के लिए डिज़ाइन नहीं किए गए हैं, अर्थात यदि इसे सेंटो के लिए डिज़ाइन किया गया है तो इसकी nxसही आवश्यकता होगी ।

समस्या के लिए एक और समाधान एक छोटा शिम आरपीएम पैकेज बनाना और स्थापित करना है जिसमें कोई फ़ाइल नहीं है, लेकिन कल्पना फ़ाइल में निम्नलिखित लाइनें (अन्य के बीच) शामिल हैं:

requires: nx
provides: nxagent

इस तरह निर्भरता को संतुष्ट किया जाना चाहिए, हालांकि यह उम्मीद कर सकता है कि फाइलें उस स्थान पर हो सकती हैं जो उस nxagentपैकेज के बीच भिन्न होती है जो इसे स्थापित करने की अपेक्षा करती है और जो nxपैकेज CentOS प्रदान करता है।


0

आप rpmrebuild का उपयोग नए पैकेज के नाम पर इंगित करने के लिए rpm मेटाडेटा को बदलने के लिए भी कर सकते हैं। यह तब "आपका" पैकेज होगा, लेकिन आरपीएम निर्भरता के जाने तक साफ है। मेरे विचार से --nodeps का उपयोग करने पर कोई नुकसान नहीं है।

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