की वजह से बग # 693,758 मैं रोकना चाहते हैं apt-get upgrade
"libgtk2.0-0" पैकेज को अपडेट करने से और अद्यतन प्रबंधक।
यह कैसे हासिल किया जा सकता है?
disable packages from the auto-update
की वजह से बग # 693,758 मैं रोकना चाहते हैं apt-get upgrade
"libgtk2.0-0" पैकेज को अपडेट करने से और अद्यतन प्रबंधक।
यह कैसे हासिल किया जा सकता है?
disable packages from the auto-update
जवाबों:
बैक पैकेज रखने के चार तरीके हैं: dpkg, apt, aptitude या dselect के साथ।
पैकेज को होल्ड पर रखें:
echo "<package-name> hold" | sudo dpkg --set-selections
पकड़ निकालें:
echo "<package-name> install" | sudo dpkg --set-selections
अपने पैकेजों की स्थिति प्रदर्शित करें:
dpkg --get-selections
एकल पैकेज की स्थिति प्रदर्शित करें:
dpkg --get-selections | grep "<package-name>"
एक पैकेज पकड़ो:
sudo apt-mark hold <package-name>
पकड़ निकालें:
sudo apt-mark unhold <package-name>
होल्ड पर सभी पैकेज दिखाएं:
sudo apt-mark showhold
Dselect के साथ, [S] इलेक्ट स्क्रीन में प्रवेश करें, उस पैकेज को ढूंढें जिसे आप अपनी वर्तमान स्थिति में पकड़ना चाहते हैं =या दबाएं H। [S] चुनाव स्क्रीन से बाहर निकलने के तुरंत बाद बदलाव प्रभावी होंगे।
निम्नलिखित दृष्टिकोण उस लॉकिंग में सीमित हैं / एप्टीट्यूड या सिंटैप्टिक के भीतर एक पैकेज को होल्ड करना / apt-get / apt को प्रभावित नहीं करता है।
एक पैकेज पकड़ो:
sudo aptitude hold <package-name>
पकड़ निकालें:
sudo aptitude unhold <package-name>
पर जाएं Synaptic पैकेज प्रबंधक (सिस्टम> प्रशासन> Synaptic पैकेज प्रबंधक)।
सर्च बटन पर क्लिक करें और पैकेज का नाम टाइप करें।
जब आपको पैकेज मिल जाए, तो उसे चुनें और पैकेज मेनू पर जाएं और लॉक संस्करण का चयन करें ।
वह पैकेज अब अपडेट मैनेजर में नहीं दिखाया जाएगा और उसे अपडेट नहीं किया जाएगा।
devscripts
, बहुत सारे पैक को अनुशंसित पैकेज के रूप में खींचा जाता है। चूँकि मुझे मेलस्वर (पोस्टफ़िक्स) की आवश्यकता नहीं है, मैं दौड़ने echo postfix hold | sudo dpkg --set-selections
से पहले इसे चलाकर इसकी स्थापना को अक्षम कर सकता था sudo apt-get install devscripts
। यह होल्ड एक्शन केवल इंस्टॉलेशन के लिए ही रहता है, इंस्टॉलेशन के बाद सेलेक्शन रिसेट हो जाते हैं।
apt-mark
hold
apt-mark hold fglrx fglrx-amdcccle fglrx-dev && aptitude hold fglrx fglrx-amdcccle fglrx-dev
,।
पैकेज "फू" रखने के लिए:
echo "foo hold" | dpkg --set-selections
आपके मामले में हम शराब पर रोक लगाने जा रहे हैं:
sudo -i
echo "wine hold" | dpkg --set-selections
पकड़ को हटाने के लिए:
sudo -i
echo "wine install" | dpkg --set-selections
apt-get install wine=1.2.3
। होल्ड पर होने apt-get (dist-)upgrade
से इसे बदलने से रोकता है।
/var/cache/apt/archives
) होल्ड और अपग्रेड और सामान से स्वतंत्र रखता है, इसलिए आपके द्वारा डाउनलोड किए जाने वाले सभी संस्करण जब तक आपके पास नहीं होंगेapt-get [auto]clean
मैं एक ही चीज़ की तलाश में था और बहुत शोध के बाद मैंने पाया कि निम्नलिखित सिंटैक्स का उपयोग करके आप एक विशिष्ट संस्करण को मना कर सकते हैं लेकिन अगले अपडेट की अनुमति दे सकते हैं:
पैकेज: compiz- प्लगइन्स-मुख्य पिन: संस्करण 1: 0.9.7.0 ~ bzr19-0ubuntu10.1 पिन-प्राथमिकता: -1
यह / etc / apt / प्राथमिकताएँ फ़ाइल में जाता है।
synaptic
का उपयोग कर स्थापित करें sudo apt-get install synaptic
।
gksudo synaptic
खोज बॉक्स का उपयोग करके चलाएं और उस पैकेज का पता लगाएं, जिसे आप लॉक करना चाहते हैं, अर्थात:gedit
पैकेज मेनू से लॉक संस्करण का चयन करें :
और वह सब है, वर्तमान में लॉक के समय स्थापित संस्करण उन्नयन के दौरान भी स्थापित रहेगा।
किसी पैकेज को स्थापित होने से रोकना "पैकेज होल्डिंग" कहलाता है और यह करना बहुत सरल है:
इको पैकेज_नाम होल्ड | dpkg --सेट-चयन
... जहाँ * package_name * उस संकुल का नाम है जिसे आप संस्थापन से रोकना चाहते हैं।
नोट: उपरोक्त कमांड रूट विशेषाधिकारों को मानता है। दूसरे शब्दों में, आपको sudo su
इसे चलाने से पहले टाइप करना होगा।
s/sudo su/sudo -s/g
(या sudo -i
)। ( -i
एक लॉगिन शेल -s
देगा , नहीं देगा)।
चूँकि कुछ समय apt-get
की जगह होती है apt
, इसलिए उदाहरण के लिए मैं फ़ायरफ़ॉक्स को 56 से ऊपर के संस्करण में अपडेट होने से रोकना चाहता हूँ, क्योंकि बहुत सारे ऐड-ऑन, जैसे "टैब समूह" नए फ़ायरफ़ॉक्स 57 के साथ और अधिक काम नहीं करते (देखें "WebExtensions) अपडेट करें")।
एक कमांड के साथ एक से अधिक पैकेज पकड़ना और वाइल्डकार्ड का उपयोग करना संभव है।
sudo apt-mark hold firefox firefox-locale-*
यदि आपको बाद में उन्हें रद्द करने के लिए तैयार रहना चाहिए, तो यह आदेश होगा:
sudo apt-mark unhold firefox firefox-locale-*
मुझे लगता है कि आप एक विशिष्ट पैकेज के संस्करण को फ्रीज कर सकते हैं मैं 100% सुनिश्चित नहीं हूं कि क्या यह उपयुक्त-संशोधन में संशोधन करेगा या नहीं, लेकिन यह निश्चित रूप से अपडेट मैनेजर को रोक देगा।
एक पैकेज को फ्रीज करने के लिए इसे सिनैप्टिक में चुनें फिर पैकेज मेनू खोलें और फ्रीज संस्करण का चयन करें।
उम्मीद है की यह मदद करेगा
संपादित करें: यह प्रश्न 16668 एक समान स्थिति से संबंधित है
विशिष्ट संस्करण के लिए "होल्डिंग" और "पिनिंग" पैकेज के बारे में आप जो भी जानना चाहते हैं वह सब कुछ: https://help.ubuntu.com/community/PinningHowto
आप इस तरह "विशिष्ट ओवरराइड" एप्टीट्यूड पर उपयोग कर सकते हैं:
aptitude reinstall ~i oracle-java8-jre:
यह केवल एक समय का उपयोग है (भविष्य के reinstalls के लिए संग्रहीत नहीं है), विशिष्ट ओवरराइड रखें, अपने सिस्टम के सभी पैकेजों को पुन: स्थापित करने के लिए, लेकिन oracle-java8-jre नहीं।
यदि आप एक विशेष ओवरराइड का उपयोग करते हैं, तो पैकेज पल-पल की स्थिति में रहेगा, इसे स्थापित करने का प्रयास नहीं किया जाएगा।
एक बहुत अच्छी बात अगर आपको लगता है कि आपके सिस्टम को कुछ कैसे समझौता किया गया था।
यदि आपके पास Synaptic स्थापित है, तो आप पैकेज का चयन कर सकते हैं और मेनू पैकेज का उपयोग कर सकते हैं -> अपडेट होने से रोकने के लिए संस्करण को लॉक करें।
आप Synaptic को sudo apt-get install synaptic के साथ स्थापित कर सकते हैं। मैं व्यक्तिगत रूप से इसे सॉफ्टवेयर सेंटर की तुलना में अधिक उपयोगी मानता हूं ... फिर, मैं काफी पुराना स्कूल हूं। :)
कभी-कभी कोई भी वर्तमान में स्थापित सभी पैकेजों को वापस पकड़ना चाहता है । ऐसे।
पहले वर्तमान स्थिति को सहेजें, ताकि आप पूर्ववत कर सकें:
dpkg --get-selections > current_selections.txt
फिर, सभी पैकेजों को वापस रखने के लिए:
dpkg --get-selections | sed -r "s/\tinstall/hold/" |dpkg --set-selections
अंत में, जब आप पिछली स्थिति में वापस लौटना चाहते हैं:
dpkg --set-selections < current_selections.txt
इसके लिए एक उपयोग मामला तब हो सकता है जब QA से उत्पादन परिवेश में माइग्रेट करने के लिए VM या Amazon AMI स्नैपशॉट बनाते हैं।
Ubuntu 16.04 के सापेक्ष @ soger की टिप्पणियों में विवरण जोड़ना ।
Ubuntu 16.04 में डिफ़ॉल्ट रूप से एक मौजूदा / etc / apt / प्राथमिकताएं फ़ाइल नहीं हैं। यदि आपके पास वर्तमान में एक नहीं है, तो बस एक नई फ़ाइल बनाएं और इसे एक श्लोक के साथ पॉपुलेट करें जैसा कि @soger ऊपर दिए गए पैकेज और अपडेट से निर्भरता को बाहर करने के लिए ऊपर वर्णित करता है।
बाद में, चलाएँ apt update
और आप GTG हैं। : 0)
उदाहरण के लिए, मेरे पास एक Ubuntu 16.04.5 LTS सर्वर है जिसमें एम्बेडेड इंटेल वीडियो कार्ड और एक NVidia कार्ड है। NVidia कार्ड केवल एक ही उपयोग किया जाता है। सर्वर CUDA ड्राइवरों का भी उपयोग करता है। मुझे एक समस्या थी जहां apt
जोर देते रहे
va-चालक-सब
(इंटेल ड्राइवर्स) को एक अपडेट की आवश्यकता थी, लेकिन यह निर्धारित नहीं कर सका कि कौन सा संस्करण इंस्टॉल करना है। यह मुझे पागल कर रहा था, और मुझे वैसे भी इंटेल ड्राइवरों की आवश्यकता नहीं थी। मैंने प्राथमिकताएं फ़ाइल में इस पाठ को दर्ज किया और उपयुक्त समस्या को हल किया।
Package: va-driver-all
Pin: release *
Pin-Priority: -1