यदि आपके द्वारा इंस्टॉल किए गए पैकेजों में से किसी एक पर निर्भरता बदल गई है ताकि अपग्रेड करने के लिए एक नया पैकेज स्थापित किया जाना चाहिए तो उसे "केप्ट-बैक"के रूप में सूचीबद्ध किया जाएगा ।
सतर्क समाधान 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 install <pkg> इसके बजाय पीकेजी को "मैन्युअल रूप से स्थापित"के रूप में चिह्नित करेगा!! इसे फिर से "स्वचालित रूप से स्थापित" उपयोग के रूप में चिह्नित करने के लिए apt-mark auto <pkg> (यह भी देखें subcommand showmanual). अधिक जानकारी इस जवाब पर.
यदि प्रोग्राम को अपग्रेड करना (के माध्यम से sudo apt-get upgrade) पैकेजों को जोड़ने या हटाने का कारण होगा, फिर कार्यक्रम वापस आयोजित किया जाएगा । आप उपयोग कर सकते हैं sudo apt-get dist-upgrade इस मामले में, जो तब अतिरिक्त कार्यक्रमों को जोड़ने या हटाने की पेशकश करेगा ।
यह बहुत आम है और आमतौर पर कोई मुद्दा नहीं है । कभी-कभी (विशेषकर उबंटू अल्फा के दौरान) ए dist-upgrade कई अन्य कार्यक्रमों को हटाने की पेशकश करेगा, जिस स्थिति में आप शायद इसे रद्द करना चाहते हैं ।
यदि प्रोग्राम उन पैकेजों या संस्करणों पर निर्भर करता है जो उपलब्ध नहीं हैं, तो प्रोग्राम वापस आयोजित किया जाएगा । आप वास्तव में कुछ भी नहीं कर सकते हैं लेकिन इस परिस्थिति में प्रतीक्षा करें, क्योंकि पैकेज मूल रूप से अनइंस्टॉल करने योग्य है । यह तब हो सकता है जब पैकेज को ऑर्डर से बाहर रिपॉजिटरी में जोड़ा जाता है, जब पैकेज का नाम बदला जाता है, या जब कोई पैकेज वर्चुअल पैकेज प्रदान करना बंद कर देता है ।
अपग्रेड ने संकुल को उनके सबसे हाल के संस्करण में स्थापित किया । स्थापित पैकेज तब तक नहीं हटाए जाएंगे जब तक कि वे अप्रयुक्त न हों / । ../ पैकेज जो वर्तमान में स्थापित नहीं हैं, निर्भरताओं को हल करने के लिए स्थापित किए जा सकते हैं जब तक कि --नहीं-नया-इंस्टॉल कमांड-लाइन विकल्प की आपूर्ति नहीं की जाती है ।
सबसे अधिक संभावना है कि इन पैकेजों को वापस रखा गया है क्योंकि उनकी स्थापना निर्भरता विसंगतियों का निर्माण करेगी । यह या तो हो सकता है क्योंकि आप सक्रिय विकास, पीपीए के तहत अभिलेखागार का उपयोग कर रहे हैं, या क्योंकि आपके द्वारा उपयोग किया जाने वाला दर्पण पूरी तरह से अपडेट नहीं है ।
अंतिम मामले में, बस प्रतीक्षा करें, जब निर्भरताएं हल हो जाएंगी तो इसे अगली बार स्थापित किया जाएगा ।
संपादित करें:
एक और संभावना है, पैकेज वापस आयोजित किए जा सकते हैं यदि उन पर पकड़ है, या यदि वे पिन किए गए हैं ।
उबंटू 18.04, 20.04 (और नया) एक प्रदान करते हैं सुव्यवस्थित सिंटैक्स वाया apt full-upgrade कौन सा कार्य पसंद करता है sudo apt-get dist-upgrade.
sudo apt full-upgrade
sudo apt upgrade वर्तमान में स्रोतों के माध्यम से कॉन्फ़िगर किए गए स्रोतों से सिस्टम पर स्थापित सभी पैकेजों के उपलब्ध उन्नयन को स्थापित करने के लिए उपयोग किया जाता है । सूची (5) । निर्भरता को संतुष्ट करने के लिए आवश्यक होने पर नए पैकेज स्थापित किए जाएंगे, लेकिन मौजूदा पैकेज कभी नहीं हटाए जाएंगे । यदि किसी पैकेज के लिए अपग्रेड के लिए इंस्टॉल किए गए पैकेज को हटाने की आवश्यकता होती है तो इस पैकेज के लिए अपग्रेड नहीं किया जाता है ।
sudo apt full-upgrade उन्नयन का कार्य करता है लेकिन होगा वर्तमान में स्थापित पैकेजों को हटा दें यदि सिस्टम को समग्र रूप से अपग्रेड करने के लिए इसकी आवश्यकता है.