का आउटपुट apt-get upgrade
है:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
इसका क्या मतलब है? क्या मुझे कार्रवाई करनी चाहिए? यदि ऐसा है तो क्या?
का आउटपुट apt-get upgrade
है:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
इसका क्या मतलब है? क्या मुझे कार्रवाई करनी चाहिए? यदि ऐसा है तो क्या?
जवाबों:
मेरे पास एक ही मुद्दा है, कई बार। न करें ऐसा
sudo apt-get dist-upgrade
पहले। बहोत महत्वपूर्ण। **** नोट: यह समाधान डेबियन आधारित मशीनों के लिए है, लेकिन केडीई नियॉन पर काम नहीं करेगा । केडीई नियॉन को अपडेट करने के लिए, आपको उपयोग करना होगा । ****sudo pkcon update
यह आपके सिस्टम को बहुत अस्थिर बना सकता है, प्रोग्राम क्रैश हो सकते हैं और आप अपने ओएस में बहुत अधिक कार्यक्षमता खो सकते हैं।
आप चाहिए प्रत्येक पैकेज को व्यक्तिगत रूप से स्थापित करते हैं, हालांकि , कि प्रक्रिया के दौरान, अन्य निर्भरता भी स्वतः स्थापित हो जाएगा और आपकी समस्या बस कुछ ही मिनटों में हल कर दिया जाएगा।
मेरे पास निम्नलिखित समाधान के साथ कोई समस्या नहीं है। यह काफी त्वरित और आसान है।
apt list --upgradable
sudo apt-get install package-name-here
apt list --upgradable
apt list --upgradable
प्रत्येक पैकेज स्थापित करने के बाद टाइप करें । इसे पूरा करने में केवल कुछ मिनट लगने चाहिए।
sudo apt-get autoclean
sudo apt-get update && sudo apt-get dist-upgrade
यदि यह समाधान आपके लिए काम करता है, तो कृपया इसे आगे बढ़ाना न भूलें ताकि सही समाधान दूसरों के लिए उपलब्ध हो और उत्तर की सूची में सबसे ऊपर हो।
यदि किसी कारण से यह समाधान आपके लिए काम नहीं करता है, तो कृपया नीचे उपयोगकर्ता GAD3R का उत्तर देखें। यह एक अच्छा उपाय भी है।
धन्यवाद।
इसका क्या मतलब है?
The following packages have been kept back:
जवाब यहाँ है
इसका मतलब है कि इन पैकेजों के नए संस्करण हैं जो किसी कारण से स्थापित नहीं होंगे। संभावित कारण टूटी हुई निर्भरताएं हैं (एक पैकेज जिस पर यह निर्भर करता है कि उसके पास डाउनलोड के लिए कोई संस्करण उपलब्ध नहीं है) या नई निर्भरताएं (पैकेज पिछले संस्करण से नए पैकेजों पर निर्भर होने के लिए आया है)।
क्या मुझे कार्रवाई करनी चाहिए?
आपको dist-upgrade
नई निर्भरताएं स्थापित करने और पैकेजों को अपग्रेड करने के लिए उपयोग करने की आवश्यकता है:
sudo apt-get dist-upgrade
समस्या को हल dist-upgrade
करने के लिए यदि आप की जरूरत नहीं है द्वारा हल किया जा सकता है :
टूटी हुई निर्भरता को ठीक करें
sudo apt-get -f install
कुछ संकुल निकालें जो अब आपके सिस्टम पर संस्थापित नहीं हैं:
sudo apt-get autoclean
वांछित पैकेज को होल्ड पर रखें:
echo "<package_name> hold" | dpkg --set-selections
नामित पैकेज को फिर से कॉन्फ़िगर करें:
dpkg-reconfigure <package_name>
से इस यूनिक्स एसई जवाब :
सबसे पहले जैसा कि ऊपर उल्लेख किया गया है, कृपया किसी भी उत्पादन प्रणाली को अपग्रेड न करें! जबकि जिले के अपग्रेड होने देगा "हल" वापस संकुल रखा यह निश्चित रूप से इस मुद्दे का हल नहीं है और होगा काफी संभावना आप अच्छे से अधिक दु: ख यदि आप इसे अपने सिस्टम पर प्रभाव जानने के बिना चलाने के कारण।
यदि पैकेज को अपग्रेड करने के लिए अतिरिक्त पैकेज स्थापित करने की आवश्यकता होती है, तो इसे चालू करते समय "वापस रखा जाएगा" sudo apt-get upgrade
।
जैसा कि ऊपर उल्लेख किया गया है कि आप इन "पैकेज को वापस" पैकेज को स्पष्ट रूप से चलाकर स्थापित कर सकते हैं, sudo apt-get install [paste kept back packages here]
लेकिन यह इन पैकेजों को "मैन्युअल रूप से स्थापित" के रूप में चिह्नित करेगा, जो अक्सर हम चाहते हैं।
स्वचालित रूप से "रन बैक" पैकेजों को चिह्नित नहीं करते हुए "रखे गए" पैकेज को अपग्रेड करने के लिए आवश्यक किसी भी अतिरिक्त पैकेज को स्वचालित रूप से स्थापित करने के लिए स्थापित करें sudo apt-get --with-new-pkgs upgrade
।
मैंने इस जवाब को अपने ब्लॉग में शामिल किया। अगर आप देखना चाहते हैं कि आप इस लिंक से वहां जा सकते हैं ।
उबंटू टर्मिनल में उपरोक्त त्रुटि बहुत आम है जब आप अपग्रेड करने की कोशिश करते हैं ( apt-get upgrade
)। यह आमतौर पर होता है क्योंकि आपके द्वारा स्थापित एक पैकेज की निर्भरता बदल गई है। अपग्रेड करने के लिए आपको उन्हें पहले अपग्रेड करना होगा। इसलिए इसका हल निकालना बहुत सीधा है। आप उन पैकेजों को देख पाएंगे जो इस त्रुटि संदेश के नीचे रखे थे। एक उदाहरण के रूप में मैं सूची में निम्नलिखित संकुल देख सकता हूँ:
gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
केवल टाइप न करें sudo apt-get dist-upgrade
यह बहुत खतरनाक है क्योंकि यह सभी लंबित अपडेट स्थापित करता है। यह आपके काम के माहौल को अत्यधिक अस्थिर स्थिति में ले जा सकता है।
इसलिए मेरा मत प्रसिद्ध का उपयोग करना है
sudo apt-get install [package]
[package]
त्रुटि संदेश में जो भी पैकेज है, उसे आप बदल सकते हैं । इसके अलावा, आप उन्हें एक सूची के रूप में रख सकते हैं (बस इसे कॉपी और पेस्ट करें)। मेरे मामले में एक उदाहरण के रूप में मैं प्रवेश कर सकता हूं
sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
अगर आप करना चाहते हैं
sudo apt-get dist-upgrade
किसी कारण से, बस अनुकरण विकल्प -s
( sudo apt-get -s dist-upgrade
) का उपयोग करके संकुल की सूची का निरीक्षण करना सुनिश्चित करें , या -s
विकल्प के बिना आप स्वीकार करने से पहले निष्पादन को समाप्त कर सकते हैं। (आप हमेशा विकल्प नहीं चुन सकते हैं)
हाल ही में एक डेबियन सुरक्षा अद्यतन ने कुछ नई निर्भरताएं पेश कीं। इस मामले में linux-image
पैकेज की आवश्यकता linux-firmware
कुछ अन्य लोगों के बीच शुरू हुई । इसलिए उन्हें वापस आयोजित किया गया था और उनके द्वारा स्थापित नहीं किया गया था unattended-upgrade
। कुछ परीक्षण और पुष्टि के बाद, मैं अन्य लंबित अद्यतनों को न छूते हुए केवल उन पैकेजों को चुनिंदा रूप से स्थापित करने में सक्षम था :
apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')
यह आलेख संक्षेप में बताता है कि ऐसा क्यों होता है:
यदि आपके द्वारा स्थापित पैकेजों में से एक पर निर्भरताएं बदल गई हैं, ताकि नवीनीकरण करने के लिए एक नया पैकेज स्थापित किया जाना चाहिए, तो उसे "रखे-वापस" के रूप में सूचीबद्ध किया जाएगा।
इसका समाधान उन्हें स्पष्ट रूप से स्थापित करना है
sudo apt install [packages]
आप शायद इन पैकेजों को स्वचालित रूप से स्थापित करना चाहते हैं, जब तक कि आप उनके बारे में खुद की परवाह न करें और केवल निर्भरता को संतुष्ट न करें।
sudo apt-mark auto [packages]
इसे पहली जगह में होने से रोकने के लिए, मैं उपयोग करने की सलाह देता हूं
sudo apt --with-new-pkgs upgrade
भविष्य में पैकेज को अपग्रेड करने के लिए, जो निर्भरता में परिवर्तन को संतुष्ट करने के लिए नए पैकेजों की स्थापना की अनुमति देता है।
--with-new-pkgs
! और मुझे फिर से इस बात पर जोर देने दें कि, " किसी भी उत्पादन प्रणाली को अपग्रेड न करें ! जबकि डिस्ट-अपग्रेड करने से पैकेज वापस रखा जाएगा" यह निश्चित रूप से इस मुद्दे का समाधान नहीं है और यदि आप अच्छे से ज्यादा दुःख का कारण बनेंगे। अपने सिस्टम पर निहितार्थ जाने बिना इसे चलाएं। "