पैकेजों का एक गुच्छा डाउनग्रेड करें


11

हो सकता है कि आपने पीपीए या किसी बाहरी स्रोत से पैकेज स्थापित किया हो (जैसे कि उबंटू रिपो के माध्यम से उपलब्ध पैकेज के लिए .deb डाउनलोड किया हो।)
तब आप आधिकारिक रिपॉजिटरी के पक्ष में इन उन्नत संस्करणों को छोड़ने का निर्णय लेते हैं।
पहला कदम सूत्रों की सूची को हटाने के लिए है। सूची।

क्या सभी उपलब्ध संस्करण के लिए सभी को डाउनग्रेड करने का एक तरीका है? मुझे पता है कि आप के साथ विशिष्ट संस्करण स्थापित कर सकते हैं

apt-get install [पैकेज] = [संस्करण]
लेकिन क्या आप सभी को अपग्रेड कर सकते हैं?


क्या आपके पास वर्तमान पीपीए अनुप्रयोगों को हटाने और फिर आधिकारिक भंडार से स्थापित करने के लिए एक कमांड का मतलब है? मैं कुछ ऐसा करूंगा sudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3- मुझे विश्वास नहीं है कि ऐसा करने के sudo apt-get repocleanलिए उदाहरण के रूप में एक ही कमांड है।
किंगमिलो

इसलिए मुझे रेपो से स्थापित सभी पैकेज प्राप्त करने हैं? उच्चतम उपलब्ध संस्करण में कोई अपग्रेड नहीं है (यह कुछ ऐसा है जो आप ओपनएसयूपीएस जिपर के साथ कर सकते हैं)।
मैनुअल

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

1
हाँ, लेकिन नहीं तो क्या? उन्नयन कोई समस्या नहीं है, लेकिन डाउनग्रेड है।
मैनुअल

जवाबों:


16

पार्टी में थोड़ा लेट हो गया लेकिन मुझे यह सवाल तब मिला जब मैं जवाब की तलाश कर रहा था और अब मेरे पास साझा करने के लिए अपना जवाब है।

मेरा मानना ​​है कि आप apt_preferences की रहस्यमय दुनिया के माध्यम से ऐसा कर सकते हैं।

एक फ़ाइल बनाने की कोशिश करें जिसे / tmp / a_p (या जो भी) पसंद है ...

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001

फिर भागो:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

फ़ाइल का दूसरा खंड मूल रूप से वही करता है जो ओपी ने अनुरोध किया था, इसमें किसी भी रिपॉजिटरी में सभी पैकेजों की प्राथमिकता को स्थापित किया गया था, भले ही यह डाउनग्रेड का मतलब हो।

पहला खंड दूसरे खंड को सभी बैकपोर्ट की स्थापना को ट्रिगर करने से रोकता है। आप इस बारे में परवाह कर सकते हैं या नहीं भी कर सकते हैं। मैं सुझाव दूंगा कि यह देखने के लिए कि क्या काम करता है। आप यह apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkgदेखने के लिए उपयोग कर सकते हैं कि विशिष्ट पैकेज पर a_p फ़ाइल का क्या प्रभाव है।

टिम


6

ठीक है, अगर क्या मिला तो स्क्रिप्ट ppa-purge है

यदि आपने एक PPA और उन्नत सॉफ़्टवेयर जोड़ा है, तो आप रेपो को हटा सकते हैं और इस चरण में उन सभी पैकेजों को डाउनग्रेड कर सकते हैं, जिनके साथ अपग्रेड किए गए थे

ppa-purge [रेपो नाम]

क्या यह किसी अन्य व्यक्ति के लिए उपयोगी है?

लेकिन यह अभी भी खुला है यदि आप उपलब्ध संस्करण को उच्चतम संस्करण स्थापित कर सकते हैं भले ही स्थापित संस्करण अधिक हो ...

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