उबंटू / डेबियन में, मैं एक पैकेज को गैर-ऑटो हटाने योग्य के रूप में कैसे चिह्नित करूं?


9

मान लीजिए कि मेरे पास एक पैकेज (इस मामले में एक पायथन पैकेज) है जिसे मैं Synaptic का उपयोग करके स्थापित करता हूं। क्योंकि इस पैकेज का संस्करण कुछ पुराना है, मैं इसे सिनैप्टिक में हटाता हूं और फिर इसका उपयोग करके स्थापित करता हूं easy_install। इसकी एक निर्भरता भी Synaptic का उपयोग करके स्थापित की गई थी, लेकिन मैं इसके बजाय Synaptic- स्थापित संस्करण को रखना चाहूंगा easy_installing

एकमात्र समस्या यह है कि निर्भरता अब ऑटो हटाने योग्य चिह्नित है। क्या इसे हटाने और इसे फिर से स्थापित करने के अलावा मैन्युअल रूप से स्थापित किए जाने के रूप में चिह्नित करने का कोई तरीका है? अगर इससे कोई फर्क पड़ता है तो मैं Ubuntu Jaunty का उपयोग कर रहा हूं।

जवाबों:


3

आप उबंटू में एक पैकेज "पकड़" सकते हैं।

मूल रूप से एक पैकेज रखने का मतलब है कि आप पैकेज प्रबंधक को वर्तमान संस्करण को रखने के लिए कह रहे हैं, इससे कोई फर्क नहीं पड़ता। यह उपयोगी है यदि अपडेट के बाद वर्तमान में काम कर रहे प्रोग्राम का अधिक हाल का संस्करण टूट जाता है।

आप इसे Synaptic के माध्यम से या कमांड-लाइन पर apt / dpkg के माध्यम से कर सकते हैं। पैकेज रखने के लिए कमांड लाइन संस्करण है:

echo package_name hold | dpkg --set-selections

उबंटू सामुदायिक दस्तावेज़ीकरण में एक अधिक संपूर्ण मार्गदर्शिका है जो यह बताती है कि संकुल को कैसे पिन या होल्ड करना है



2
सामान्य रूप से नए संस्करणों में अपग्रेड को रोकने के लिए होल्ड का उपयोग किया जाता है; इसका उपयोग पैकेज रखने के लिए नहीं किया जाना चाहिए। होल्ड का उपयोग आपको सुरक्षा और डिस्ट्रो अपडेट प्राप्त करने से रोकता है, और उन्नयन के दौरान एक अतिरिक्त बोझ होगा। मैन्युअल रूप से स्थापित पैकेज को चिह्नित करना सही तरीका होना चाहिए (मेरा उत्तर देखें ...)।
थॉमस गयोट-सायननेस्ट

6

मुझे पता है कि आप इसे एप्टीट्यूड में कर सकते हैं। आप इसे पैकेज के चयन और 'मी' या "मार्क मैनुअल" को "पैकेज" मेनू से चुनकर, या कमांड लाइन के द्वारा इसके GUI में कर सकते हैं:

एप्टीट्यूड स्थापित करें <package_name> & m

5

आप इसके apt-mark manual <package>लिए, Synaptic से, Package=> [ ] Automatically Installed(इसे अनचेक करें) का उपयोग कर सकते हैं ।

उदाहरण के लिए:

# Mark <some_package> as manually-installed:
apt-mark manual <some_package>

# Mark <other_package> as automatically-installed (ex if you know it's a
# dependency to something else and you want to make sure it'll be
# auto-removable if it's no longer used):
apt-mark auto <other_package>

इसके अलावा, यदि आप apt-get install <package>पहले से स्थापित पैकेज पर उपयोग करते हैं, तो इसे मैन्युअल रूप से चिह्नित किया जाएगा।


यह बिल्कुल वांछित के रूप में करने के लिए लगता है। इसने मेरे पैकेज की स्थिति [installed,auto-removable]को केवल से बदल दिया [installed]
mwfearnley
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.