"निम्नलिखित पैकेजों को वापस रखा गया है:" मैं इसे क्यों और कैसे हल करूं?

मैंने अभी जीआईएमपी के विकास संस्करण के लिए एक पीपीए भंडार जोड़ा है, लेकिन मुझे यह त्रुटि मिलती है the:

$ apt-get update && apt-get upgrade...The following packages have been kept back:  gimp gimp-data libgegl-0.0-0 libgimp2.0

मैं इसे क्यों और कैसे हल कर सकता हूं ताकि मैं अब जो मेरे पास है उसके बजाय नवीनतम संस्करण का उपयोग कर सकूं?

के अनुसार पर एक लेख debian-administration.org,

यदि आपके द्वारा इंस्टॉल किए गए पैकेजों में से किसी एक पर निर्भरता बदल गई है ताकि अपग्रेड करने के लिए एक नया पैकेज स्थापित किया जाना चाहिए तो उसे "केप्ट-बैक"के रूप में सूचीबद्ध किया जाएगा ।

सतर्क समाधान 1:

प्रति पाब्लो का जवाब, आप दौड़ सकते हैं sudo apt-get --with-new-pkgs upgrade, और यह रखा-बैक पैकेज स्थापित करेगा ।

इसमें रखे गए पैकेजों को "मैन्युअल रूप से स्थापित" के रूप में चिह्नित नहीं करने का लाभ है, जो लाइन के नीचे अधिक उपयोगकर्ता हस्तक्षेप को मजबूर कर सकता है (टिप्पणियां देखें) ।

यदि पाब्लो का समाधान आपके लिए काम करता है, तो कृपया इसे अपवोट करें । यदि नहीं, तो कृपया टिप्पणी करें कि क्या गलत हुआ ।

सतर्क समाधान 2:

सतर्क समाधान चलाना है sudo apt-get install <list of packages kept back>. ज्यादातर मामलों में यह रखा-बैक पैकेज देगा जो उन्हें सफलतापूर्वक अपग्रेड करने की आवश्यकता है ।

आक्रामक समाधान:

एक अधिक आक्रामक समाधान चलाना है sudo apt-get dist-upgrade, जो उन नई निर्भरताओं की स्थापना को मजबूर करेगा ।

लेकिन dist-upgrade काफी खतरनाक हो सकता है. उन्नयन के विपरीत यह हो सकता है निकालें जटिल निर्भरता स्थितियों को हल करने के लिए पैकेज । आपके विपरीत, एपीटी हमेशा यह जानने के लिए पर्याप्त स्मार्ट नहीं होता है कि क्या ये जोड़ और निष्कासन कहर बरपा सकते हैं ।

इसलिए यदि आप खुद को ऐसी जगह पाते हैं जहां "सतर्क समाधान" काम नहीं करता है, dist-upgrade मई काम।.. लेकिन आप शायद उपयुक्त के बारे में थोड़ा और सीखने से बेहतर हैं और केस-बाय-केस आधार पर पैकेजों को स्थापित और हटाकर "हाथ से" निर्भरता के मुद्दों को हल कर रहे हैं ।

इसे एक कार को ठीक करने की तरह सोचें । .. यदि आपके पास समय है और एक रिंच के साथ काम कर रहे हैं, तो आपको पढ़ने और मरम्मत करने से मन की कुछ शांति मिलेगी । यदि आप भाग्यशाली महसूस कर रहे हैं, तो आप अपने चचेरे भाई के साथ अपनी कार छोड़ सकते हैं dist-upgrade और आशा है कि वह अपना सामान जानती है ।

जब भी आप आदेश से प्राप्त करते हैं apt-get upgrade संदेश

The following packages have been kept back:

फिर वितरण अपग्रेड किए बिना, एक या सभी रखे गए पैकेजों को अपग्रेड करने के लिए (यह वही है dist-upgrade करता है, अगर मुझे सही याद है) कमांड जारी करना है:

apt-get install <list of packages kept back>

यह रखे गए मुद्दों को हल करेगा और अतिरिक्त पैकेज स्थापित करने के लिए कहेगा, आदि । जैसा कि अन्य उत्तरों द्वारा समझाया गया था ।

यह भी देखें: एपीटी-गेट डिस्ट-अपग्रेड के बजाय एपीटी-गेट अपग्रेड का उपयोग क्यों करें?

कोशिश करो यह यूनिक्स एसई उत्तर:

sudo apt-get --with-new-pkgs upgrade

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

apt आदेश (अनुकूल विकल्प को apt-get) इस विकल्प को साझा करें ।

का उपयोग करना apt install <pkg> इसके बजाय पीकेजी को "मैन्युअल रूप से स्थापित"के रूप में चिह्नित करेगा!! इसे फिर से "स्वचालित रूप से स्थापित" उपयोग के रूप में चिह्नित करने के लिए apt-mark auto <pkg> (यह भी देखें subcommand showmanual). अधिक जानकारी इस जवाब पर.

apt-get dist-upgrade स्थिर वातावरण के लिए खतरनाक है,

  1. गलत स्रोत।सूची सेटिंग और आप टूटे हुए उबंटू के साथ समाप्त होते हैं ।
  2. आप पूरे एप्लिकेशन को उस संस्करण में अपग्रेड कर सकते हैं जिसे आप नहीं चाहते हैं ।

केस का उपयोग करें: कर्नेल अपग्रेड वापस रखा गया, आप बस कर्नेल को अपग्रेड करना चाहते हैं, न कि पूरे वितरण को अपग्रेड करना चाहते हैं ।

रखे गए पैकेज को संभालने का बेहतर तरीका:

sudo aptitude

यदि आपने पैकेज वापस रखा है तो आपको सूची के शीर्ष पर अपग्रेड करने योग्य पैकेज देखना चाहिए ।

  • उस सूची में + मारो
  • दो बार जी मारो
  • अगर पूछा जाए तो डिबॉन्फ सामान का जवाब दें
  • जारी रखने के लिए रिटर्न दबाएं
  • प्रेस क्यू
  • प्रेस हाँ

आपका रखा वापस पैकेज स्थापित.

इस संदेश को देखने के सामान्य रूप से दो कारण हैं ।

यदि प्रोग्राम को अपग्रेड करना (के माध्यम से sudo apt-get upgrade) पैकेजों को जोड़ने या हटाने का कारण होगा, फिर कार्यक्रम वापस आयोजित किया जाएगा । आप उपयोग कर सकते हैं sudo apt-get dist-upgrade इस मामले में, जो तब अतिरिक्त कार्यक्रमों को जोड़ने या हटाने की पेशकश करेगा ।

यह बहुत आम है और आमतौर पर कोई मुद्दा नहीं है । कभी-कभी (विशेषकर उबंटू अल्फा के दौरान) ए dist-upgrade कई अन्य कार्यक्रमों को हटाने की पेशकश करेगा, जिस स्थिति में आप शायद इसे रद्द करना चाहते हैं ।

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

आप भी कोशिश कर सकते हैं:

sudo aptitude safe-upgrade

यह से अधिक सुरक्षित है full-upgrade (मूल रूप से डिस्ट-अपग्रेड नाम दिया गया) क्योंकि "पैकेज तब तक नहीं हटाए जाएंगे जब तक कि वे अप्रयुक्त न हों" ।

से man aptitude:

सुरक्षित-अपग्रेड

अपग्रेड ने संकुल को उनके सबसे हाल के संस्करण में स्थापित किया । स्थापित पैकेज तब तक नहीं हटाए जाएंगे जब तक कि वे अप्रयुक्त न हों / । ../ पैकेज जो वर्तमान में स्थापित नहीं हैं, निर्भरताओं को हल करने के लिए स्थापित किए जा सकते हैं जब तक कि --नहीं-नया-इंस्टॉल कमांड-लाइन विकल्प की आपूर्ति नहीं की जाती है ।

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

अंतिम मामले में, बस प्रतीक्षा करें, जब निर्भरताएं हल हो जाएंगी तो इसे अगली बार स्थापित किया जाएगा ।

संपादित करें:

एक और संभावना है, पैकेज वापस आयोजित किए जा सकते हैं यदि उन पर पकड़ है, या यदि वे पिन किए गए हैं ।

यह मेरे लिए काम किया

sudo aptitude full-upgrade

यह आमतौर पर इसलिए होता है क्योंकि पैकेज ने एक निर्भरता जोड़ दी है, और अपग्रेड बिना अनुमति के इसे आपके लिए जोड़ना नहीं चाहता है ।

यदि आप चलाते हैं:

sudo apt-get install gimp gimp-data libgegl-0.0-0 libgimp2.0

फिर नए संस्करणों को उनकी नई निर्भरता के साथ स्थापित किया जाना चाहिए ।

उबंटू 18.04, 20.04 (और नया) एक प्रदान करते हैं सुव्यवस्थित सिंटैक्स वाया apt full-upgrade कौन सा कार्य पसंद करता है sudo apt-get dist-upgrade.

sudo apt full-upgrade

sudo apt upgrade वर्तमान में स्रोतों के माध्यम से कॉन्फ़िगर किए गए स्रोतों से सिस्टम पर स्थापित सभी पैकेजों के उपलब्ध उन्नयन को स्थापित करने के लिए उपयोग किया जाता है । सूची (5) । निर्भरता को संतुष्ट करने के लिए आवश्यक होने पर नए पैकेज स्थापित किए जाएंगे, लेकिन मौजूदा पैकेज कभी नहीं हटाए जाएंगे । यदि किसी पैकेज के लिए अपग्रेड के लिए इंस्टॉल किए गए पैकेज को हटाने की आवश्यकता होती है तो इस पैकेज के लिए अपग्रेड नहीं किया जाता है ।

sudo apt full-upgrade उन्नयन का कार्य करता है लेकिन होगा वर्तमान में स्थापित पैकेजों को हटा दें यदि सिस्टम को समग्र रूप से अपग्रेड करने के लिए इसकी आवश्यकता है.

नोट: full-upgrade वर्तमान वितरण पर रहता है ।

देखें: apt मैन पेज: 18.04, 20.04

क्या कचरा संदेश है । ओएस सिर्फ जरूरी काम क्यों नहीं कर सकता?