यम और अनुशंसित / सुझाए गए पैकेज


10

मैं अपने फेडोरा सिस्टम पर एक सॉफ्टवेयर पैकेज स्थापित करना चाहता हूं , लेकिन इसमें बहुत अधिक अनुचित निर्भरताएं हैं (जो मुझे पता है कि वे वास्तव में आवश्यक नहीं हैं)।

मैं डेबियन पर काम करता था , जहां apt-get आपको केवल सख्ती से आवश्यक निर्भरता को स्थापित करते हुए अनुशंसित और सुझाए गए पैकेजों को व्यवस्थित रूप से बाहर करने की अनुमति देता है ।

क्या यम के साथ ऐसा करने का कोई तरीका है ?


जवाबों:


4

नहीं।

दुर्भाग्य से, आरपीएम-आधारित पैकेज प्रबंधन में केवल एक प्रकार की निर्भरता है। यह एक निर्भरता है या इसके बीच में कुछ नहीं है ( यहां पढ़ें )। मेरे अनुभव में, फेडोरा में निर्भरता काफी सीमित है और जब तक आप समूह स्थापित नहीं करते हैं तब तक गैर-कोर कार्यक्षमता स्थापित नहीं होती है।

निर्भरता के कई स्तर डीईबी-आधारित पैकेज प्रबंधन की शक्तियों में से एक को मेरी राय में दर्शाते हैं।


फेडोरा पर ग्रहण स्थापित करना 400MB की स्थापना है, मैं यहां आया था yum install --whithout-recommendsलेकिन कुछ भी नहीं खोज रहा था ।
एमजीपी

3

संपादित करें: मूल प्रश्न का उत्तर देने के लिए, हां जो कि पैकेज प्रबंधकों के लिए संभव है जो वर्तमान में कमजोर निर्भरता का समर्थन करते हैं। एक उदाहरण के रूप में, मैजिया पर जो कि बराबर होगा urpmi --no-suggests foo। SuSe के लिए, यह होगा zypper in --no-recommends। ऐसा ही कुछ नए यम संस्करणों के लिए भी लागू किया जाना चाहिए, अन्यथा वे नरम चित्रण बहुत बेकार होंगे।


वास्तव में आरपीएम में कमजोर निर्भरताएं होती हैं जो इसके लिए अनुमति देती हैं, लेकिन दुर्भाग्य से वे यम और rpm.org संस्करण में नहीं जोड़े गए हैं जो फेडोरा / आरएचईएल हाल ही में उपयोग करता है (और तब शायद केवल कच्चेहाइड के माध्यम से उपलब्ध है)। चेक http://lists.rpm.org/pipermail/rpm-maint/2014-February/003666.html हाल ही में घोषणा और कार्यान्वयन विवरण के लिए। पिछली चर्चा के लिए http://lists.baseurl.org/pipermail/yum-devel/2009-Sest/005844.html भी देखें । इसके अलावा rpm-4.12 में परिवर्तन के बारे में एक फेडोरा विकी पेज है जो इस समर्थन का वर्णन करता है: https://fedoraproject.org/wiki/Changes/RPM-4.12

FWIW, सॉफ्ट निर्भरता का उपयोग कई सालों से SuSe द्वारा किया जाता है, http://en.opensuse.org/Libzypp/D dependencies#Weak_d dependencies और नीचे दिया गया अनुभाग दिखाता है कि उनकी rpm शाखा क्या समर्थन करती है। इसके अलावा मांडवीरा / मगिया और संबंधित कांटे काफी समय से नरम निर्भरता (केवल संकेत) का उपयोग करते हैं।

इसलिए, प्रारंभिक प्रश्न का उत्तर देने के लिए, रॉहाइड / आरपीएम-4.12 में अपग्रेड करें और कमजोर सपोर्ट में से एक का उपयोग करें, जो अभी समर्थन करता है।

यदि आपको आंतरिक आरपीएम कार्यान्वयन विवरण के बारे में अधिक जानकारी चाहिए, तो मुझे उन्हें साझा करने में खुशी होगी।


2

RPM आधारित वितरण में निर्भरताएँ dpkg के लिए एक अलग तरीके से काम करती हैं / विधि की सिफारिश / सिफारिश करती हैं।

आम तौर पर आरपीएम आधारित वितरण में निर्भरता को "यह पैकेज ठीक से काम नहीं करेगा जब तक कि यह निर्भरता पूरी नहीं होती" के बराबर माना जा सकता है। हालाँकि, पैकेज के रख-रखाव के लिए कुछ कलात्मक स्वतंत्रता होती है, क्योंकि वे फिट होने के लिए अतिरिक्त निर्भरता को शामिल करते हैं (या तो क्योंकि वे स्वचालित रूप से नहीं पाए जाते हैं, या क्योंकि उन्हें लगता है कि यह एक कठिन आवश्यकता है)।

एक उदाहरण के रूप में, डेबियन / उबंटू में एक वेब एप्लिकेशन में MySQL सर्वर पैकेज पर निर्भरता के विभिन्न सुझाव हो सकते हैं। हालाँकि, क्योंकि MySQL सर्वर स्थानीय वेब सर्वर पर होना आवश्यक नहीं है, यह एक कठिन आवश्यकता नहीं है, फेडोरा के तहत एक ही पैकेज पर कोई निर्भरता नहीं होगी।

RPM कार्यप्रणाली के साथ एक समस्या है, जिसे आपने पहचाना है, कभी-कभी बहुत अधिक निर्भरताएं होती हैं। एक सामान्य प्रश्न जो मैंने सुना है वह यह है कि "ब्लूटूथ का उपयोग नहीं करने पर इस पैकेज में ब्लूटूथ के लिए लाइब्रेरी क्यों शामिल होनी चाहिए?", मुख्य एप्लिकेशन पैकेज में शामिल वैकल्पिक प्लगइन्स जैसे आइटम आमतौर पर इस स्थिति का कारण होते हैं।


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