त्रुटि निम्नलिखित पैकेजों में अनमेट डिपेंडेंसी हैं ने कुछ समय से उबंटू उपयोगकर्ताओं को परेशान किया है, और उबंटू के विभिन्न संस्करणों पर इस त्रुटि के अधिक से अधिक दर्शन हो रहे हैं। APT पैकेज प्रबंधन प्रणाली उपयोग में आसान है, लेकिन कुछ अवसरों पर, जैसे कि जब आप तृतीय-पक्ष डिपेंडेंसी मिला रहे हैं, तो आपको apt-get से यह त्रुटि मिल सकती है।
यह तब होता है जब आप टर्मिनल के माध्यम से apt सिस्टम के साथ कुछ इंस्टॉल करने का प्रयास करते हैं, और इंस्टॉलेशन बिना किसी स्पष्ट समस्या के विफल हो जाता है। यह मुद्दा किसी एक विशेष प्रोग्राम तक सीमित नहीं है, लेकिन यह उनमें से काफी कुछ के साथ हो सकता है। ऐसा इसलिए है क्योंकि समस्या apt सिस्टम में है, न कि उस प्रोग्राम में जिसे आप इंस्टॉल कर रहे हैं।
सौभाग्य से इसके लिए कई समाधान हैं, जिनमें से कुछ करना आसान है, और अन्य अधिक कठिन, लेकिन यदि आप नीचे दिए गए तरीकों में निर्देशों का पालन करते हैं, तो आप कुछ ही समय में त्रुटि से छुटकारा पा लेंगे।
नोट: किसी भी विधि के साथ आगे बढ़ने से पहले, यह सलाह दी जाती है कि आप कॉन्फ़िगरेशन फ़ाइलों का बैकअप लें ताकि आप कुछ गलत होने पर किसी भी बदलाव को वापस ला सकें। यह निम्न चरणों का उपयोग करके किया जाता है:
- अपने कीबोर्ड पर Alt, Ctrl और T को एक साथ दबाकर एक टर्मिनल खोलें।
- टाइप करें और एंटर दबाएं।
- पिछली कमांड समाप्त होने पर, sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original टाइप करें और फिर से एंटर दबाएं।
विधि 1: -f पैरामीटर का उपयोग करें
यह कोशिश करने में सबसे आसान है, और केवल उस कमांड में दो और अक्षर जोड़ने की आवश्यकता है जिसे आप टाइप कर रहे हैं। sudo apt-get install PACKAGENAME का उपयोग करने के बजाय, जहां PACKAGENAME वह पैकेज है जिसे आप apt सिस्टम के साथ इंस्टॉल करने का प्रयास कर रहे हैं, sudo apt-get install -f का उपयोग करें। -f पैरामीटर टूटी हुई डिपेंडेंसी वाले सिस्टम को सही करने का प्रयास करेगा, जिसके बाद आप प्रश्न में पैकेज को इंस्टॉल कर पाएंगे।
- Ctrl, Alt और T को एक साथ दबाकर एक टर्मिनल खोलें।
- sudo apt-get install -f टाइप करें और इसे निष्पादित करने के लिए एंटर दबाएं।
- एक बार यह हो जाने पर, sudo dpkg –configure -a टाइप करें, इसे चलाने के लिए एंटर दबाएं, और चरण 2 से कमांड को एक बार फिर चलाएं।
विधि 2: Aptitude का उपयोग करें
Aptitude apt-get का एक विकल्प है जिसका उपयोग आप उच्च-स्तरीय पैकेज प्रबंधक के रूप में कर सकते हैं। आप इसे अपने पैकेज को इसके साथ इंस्टॉल करने का प्रयास करने के लिए उपयोग कर सकते हैं, apt-get के बजाय, लेकिन पहले आपको aptitude इंस्टॉल करने की आवश्यकता है।
- अपने कीबोर्ड पर Ctrl, Alt, और T कुंजियों को एक साथ दबाकर एक खोलें
- sudo apt-get install aptitude टाइप करें और कमांड निष्पादित करने के लिए एंटर दबाएं।
- sudo aptitude install PACKAGENAME टाइप करें, जहां PACKAGENAME वह पैकेज है जिसे आप इंस्टॉल कर रहे हैं, और इसे निष्पादित करने के लिए एंटर दबाएं। यह apt-get के बजाय aptitude के माध्यम से पैकेज इंस्टॉल करने का प्रयास करेगा, जो संभावित रूप से अनमेट डिपेंडेंसी समस्या को ठीक कर देगा।
विधि 3: सुनिश्चित करें कि प्रतिबंधित और यूनिवर्स रिपॉजिटरी सक्षम हैं और एक बेहतर सर्वर आज़माएं
- अपने कंप्यूटर पर Alt और F2 को एक साथ दबाएं, software-properties-gtk टाइप करें और दबाएं
- उबंटू सॉफ़्टवेयर टैब में, सुनिश्चित करें कि सभी रिपॉजिटरी (मेन, यूनिवर्स, प्रतिबंधित, मल्टीवर्स) सक्षम हैं।
- सर्वर की सूची पर क्लिक करें जहां लिखा है डाउनलोड फ्रॉम, और चुनें
- सर्वश्रेष्ठ सर्वर चुनें पर क्लिक करें।
- Alt, Ctrl और T को एक साथ दबाकर एक टर्मिनल खोलें, और sudo apt-get update टाइप करें, फिर दबाएं एक बार यह समाप्त हो जाने पर, सॉफ़्टवेयर को फिर से इंस्टॉल करने का प्रयास करें।
विधि 4: पैकेज डेटाबेस साफ़ करें
एक दूषित पैकेज डेटाबेस अनमेट डिपेंडेंसी का एक संभावित कारण है, साथ ही पैकेज ठीक से इंस्टॉल नहीं हो रहे हैं। हालांकि, पैकेज डेटाबेस को साफ़ करने से यह ठीक हो सकता है, और आप इसे दो कमांड के साथ कर सकते हैं, जिनकी मैं नीचे व्याख्या करूंगा। सबसे पहले, हालांकि, एक टर्मिनल खोलने के लिए Ctrl, Alt और T दबाएं, और कमांड के बाद इसे चलाने के लिए एंटर दबाना न भूलें।
- sudo apt-get clean स्थानीय रिपॉजिटरी को सभी पुनर्प्राप्त पैकेज फ़ाइलों (.deb) से साफ़ करेगा। यह /var/cache/apt/archives, और /var/cache/apt/archives/partial/ से लॉक फ़ाइलों को छोड़कर सब कुछ हटा देगा।
- sudo apt-get autoclean भी पुनर्प्राप्त फ़ाइलों को साफ़ करेगा, लेकिन पिछली कमांड के विपरीत, यह केवल उन पैकेजों को हटाता है जिन्हें आप अब डाउनलोड नहीं कर सकते और जो बहुत अधिक बेकार हैं।
विधि 5: किसी भी होल्ड पैकेज को हटा दें
होल्ड पैकेज वास्तव में इसलिए रखे जाते हैं क्योंकि डिपेंडेंसी समस्याएं और संघर्ष हैं जिन्हें apt हल नहीं कर सकता। ऐसे पैकेज को हटाने का मतलब है कि ऐसा कोई संघर्ष नहीं होगा, और परिणामस्वरूप आपकी समस्या ठीक हो सकती है।
- Ctrl, Alt और T दबाकर एक टर्मिनल खोलें
- sudo apt-get -u dist-upgrade टाइप करें और दबाएं यदि कोई होल्ड पैकेज हैं, तो यह उन्हें दिखाएगा, और उन्हें हटाना आपका काम है।
- पहले चलाने का प्रयास करें
sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
और देखें कि क्या यह समस्या ठीक करता है। यदि यह अंत में X नॉट अपग्रेडेड के साथ निकलता है, जहां X होल्ड पैकेज की संख्या है, तो आपको उन्हें एक-एक करके हटाने की आवश्यकता होगी।
- एक होल्ड पैकेज को हटाने के लिए, sudo apt-get remove –dry-run PACKAGENAME का उपयोग करें (PACKAGENAME वह पैकेज है जिसे आप हटाने का प्रयास कर रहे हैं)। –dry-run पैरामीटर सुनिश्चित करता है कि आपको जो कुछ भी आगे होता है उसके बारे में सूचित किया जाता है। जब आप सभी पैकेज हटा देते हैं, तो उस पैकेज को इंस्टॉल करने का प्रयास करें जिसने पहली जगह में समस्या पैदा की थी, और देखें कि क्या होता है।
विधि 6: PPAs को शुद्ध/हटाएं/अक्षम करें
पर्सनल पैकेज आर्काइव ऐसे रिपॉजिटरी हैं जो Launchpad पर होस्ट किए गए हैं, और उन पैकेजों को अपग्रेड या इंस्टॉल करने के लिए उपयोग किए जाते हैं जो आमतौर पर उबंटू के आधिकारिक रिपॉजिटरी में उपलब्ध नहीं होते हैं। वे अनमेट डिपेंडेंसी का सबसे आम कारण हैं, खासकर जब उनका उपयोग उबंटू रिपॉजिटरी से मौजूदा पैकेज को अपग्रेड करने के लिए किया जाता है। आप या तो उन्हें अक्षम, हटा या शुद्ध कर सकते हैं।
अक्षम करें का अर्थ है कि उस PPA से इंस्टॉल किए गए पैकेज को अब अपडेट नहीं मिलेगा।
- Alt और F2 को एक साथ दबाएं, और software-properties-gtk चलाएं।
- अन्य सॉफ़्टवेयर टैब से, आपको प्रत्येक PPA के लिए दो लाइनें मिलेंगी, जहां एक स्रोत के लिए है, और दूसरा संकलित पैकेज के लिए। एक PPA को अक्षम करने के लिए, आपको दोनों लाइनों को अनचेक करना चाहिए।
शुद्ध करें का अर्थ है कि चयनित PPA में सभी पैकेज को आधिकारिक रिपॉजिटरी में संस्करण में डाउनग्रेड किया जाएगा, और PPA को भी अक्षम कर देगा। PPA Purge इंस्टॉल करने के लिए, आप sudo apt-get install ppa-purge का उपयोग कर सकते हैं, लेकिन यह देखते हुए कि apt टूटा हुआ है, आपको टर्मिनल में इस कमांड का उपयोग करना चाहिए (Alt, Ctrl और T एक साथ, फिर चलाने के लिए एंटर):
mkdir ppa-purge && cd ppa-purge && wget https://old-releases.ubuntu.com/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget https://ftp.u-picardie.fr/mirror/ubuntu/ubuntu/pool/main/a/aptitude/aptitude_0.8.10-6ubuntu1_i386.deb && sudo dpkg -i ./*.deb
अगला, चयनित PPA को शुद्ध करने के लिए sudo ppa-purge ppa:someppa/ppa चलाएं। हालांकि, चूंकि PPA Purge अभी भी एक PPA को नहीं हटाता है, आप नीचे दिए गए कमांड का उपयोग PPA को हटाने के लिए कर सकते हैं। पहले वाले को अनदेखा करें यदि आपके इरादों में इंस्टॉल किए गए पैकेज को हटाना शामिल नहीं है।
- sudo apt-get autoremove –purge PACKAGENAME
- sudo add-apt-repository –remove ppa:someppa/ppa
- sudo apt-get autoclean
आपको बाद में आवश्यक पैकेज इंस्टॉल करने में सक्षम होना चाहिए।
भले ही उपरोक्त कई विधियां हैं, आपको यह भी पता होना चाहिए कि ऐसे मुद्दों को रोकना हमेशा बेहतर होता है। आपको अपने सिस्टम को अप-टू-डेट रखना चाहिए, केवल विश्वसनीय PPAs का उपयोग करना चाहिए, और जब सब कुछ ठीक से काम कर रहा हो तो बैकअप लेना चाहिए ताकि आप बाद में पुनर्स्थापित कर सकें। हालांकि, यदि आप इन चीजों को करना भूल गए हैं, तो अपनी समस्या को ठीक करने के लिए उपरोक्त विधियों का उपयोग करें, और यह सुनिश्चित करने के लिए रोकथाम विधियों का उपयोग करें कि आप नहीं...