क्या पैकेज की केवल आवश्यक निर्भरता को स्थापित करने का एक बेहतर तरीका है, बजाय इसे सीधे एप्ट-गेट (या dpkg के किसी भी अन्य दृश्यपटल) के साथ स्थापित करने के बजाय और फिर तुरंत इसे हटाकर, अपनी निर्भरता को छोड़ दें?
क्या पैकेज की केवल आवश्यक निर्भरता को स्थापित करने का एक बेहतर तरीका है, बजाय इसे सीधे एप्ट-गेट (या dpkg के किसी भी अन्य दृश्यपटल) के साथ स्थापित करने के बजाय और फिर तुरंत इसे हटाकर, अपनी निर्भरता को छोड़ दें?
जवाबों:
apt-get बिल्कुल के लिए एक कमांड प्रदान करता है ...
apt-get build-dep <package name>
आपको जो मैन पेज मिलते हैं
बिल्ड-डिप, स्रोत पैकेज के लिए बिल्ड निर्भरता को पूरा करने के प्रयास में पैकेज को स्थापित / हटाने के लिए उपयुक्त हो जाता है। डिफ़ॉल्ट रूप से निर्भरताएँ मूल रूप से पैकेज बनाने के लिए संतुष्ट होती हैं। यदि वांछित हो तो एक होस्ट-आर्किटेक्चर इसके बजाय -होस्ट-आर्किटेक्चर विकल्प के साथ निर्दिष्ट किया जा सकता है।
अभिवृत्ति स्थापित करने के दौरान आपको संकुल नाम के बजाय एक क्वेरी निर्दिष्ट करने देगा। यदि आप नामित पैकेज की निर्भरता स्थापित करना चाहते हैं foo
, तो आप उन पैकेजों को स्थापित कर सकते हैं जिन पर रिवर्स निर्भरता है foo
:
aptitude install '?reverse-depends(foo)'
या
aptitude install '~Rfoo'
पैकेज को स्थापित करने, फिर उसे हटाने में समस्या यह है कि सभी पैकेज जो निर्भरता के रूप में स्थापित होते हैं, उन्हें "स्वचालित रूप से स्थापित" के रूप में चिह्नित किया जाएगा, और किसी भी इंस्टॉलेशन / अपग्रेड एक्शन द्वारा या जब apt-get autoclean
तक आप नहीं चलाते हैं, तब तक हटा दिया जाएगा। उन्हें मैन्युअल रूप से स्थापित aptitude mark
या apt-mark
कमांड के रूप में चिह्नित करें ।
हालांकि, यह इस सवाल का जवाब देता है कि आप यह क्यों करना चाहते हैं मेरा सबसे अच्छा अनुमान यह है कि आप कुछ सॉफ़्टवेयर के लिए निर्भरता स्थापित करने की कोशिश कर रहे हैं जिसे आप हाथ से संकलन करने जा रहे हैं। उस स्थिति में, आप पहले से निर्भरताएँ स्थापित करेंगे apt-get build-dep packagename
, लेकिन तब आपको एक डमी पैकेज बनाना चाहिए जिसमें रनटाइम निर्भरताएँ (जो आमतौर पर बिल्ड निर्भरताओं से भिन्न हों) equiv
के लिए सही निर्भरता वाले डमी पैकेज बनाने के लिए पैकेज का उपयोग करके आपका मैन्युअल संकलित कार्यक्रम। APT HOWTO के बारे equivs
में जानकारी देखें
build dependencies
और के बीच एक अंतर नहीं हो सकता हैdependencies
? जैसे कि, यदि आप सामान्य रूप से एक प्रोग्राम स्थापित करते हैं, तो आपको निर्भरताएँ मिलती हैं जिन्हें वास्तव में चलाने की आवश्यकता होती है, और बिल्ड-निर्भरता के साथ मैं पुस्तकालयों, कंपाइलरों, सामानों के बारे में अधिक सोचता हूं। इसलिए जैसा कि मुझे यकीन नहीं है (इस उत्तर में उत्थान होता है) लेकिन मुझे ऐसा लगता है कि यह तुच्छ नहीं है कि निर्माण-निर्भरता प्राप्त करना पैकेज चलाने की निर्भरता (चलाने) के समान है?