"लेकिन एक और पैकेज से संदर्भित है।" - उस पैकेज को खोजना


24

यह उबंटू के लिए असामान्य नहीं है (या उपयुक्त पैकेज प्रबंधन के साथ अन्य डिस्ट्रो) उपयोगकर्ता को त्रुटि का सामना करने के लिए:

user@box ~ $ sudo apt-get install x
[sudo] password for user: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package x is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'x' has no installation candidate

वहाँ कई सवाल उदाहरण के लिए विभिन्न StackExchange साइटों पर इस विषय में कहा गया है, OpenVPN AskUbuntu पर है, लेकिन इन आम तौर पर त्रुटि के बावजूद विशिष्ट पैकेज प्राप्त करने के तरीके के बारे में हैं।

मुझे ऐसा कोई पैकेज नहीं मिला है, जो यह निर्धारित करने के लिए कि वह अभी भी वितरित नहीं हुआ है, बस यह निर्धारित करके कि वह (और हमेशा आसानी से नहीं) पाया जाता है, और जिसके तहत रिपॉजिटरी ऐसा है, और यह सुनिश्चित करना कि रिपॉजिटरी apt.sources में है, या सबसे खराब डाउनलोड करने के लिए सबसे खराब आता है। संकलन करने के लिए .deb या स्रोत

इसलिए मेरा प्रश्न अधिक सामान्य है, और यद्यपि मैं अनुमान लगा रहा हूं कि यह एक सरल और इसलिए गैर-रोमांचक उत्तर है, मैं यह नहीं सोच सकता कि पारंपरिक खोज इंजन विधियों द्वारा इसे कैसे पाया जाए, इसलिए मैं AskUbuntu की ओर मुड़ता हूं: क्या कोई आदेश या विकल्प है जो मैं कर सकता हूं यह निर्धारित करने के लिए कि कौन सा पैकेज / कौन सा पैकेज लापता पैकेज को संदर्भित करता है?

जवाबों:


13

आप apt-cache वाले पैकेज की खोज कर सकते हैं:

apt-cache search x

यह उन सभी पैकेजों को आउटपुट करेगा जो एक तरह से या किसी अन्य में x का संदर्भ देते हैं।


2
खैर, यह उचित लगता है ... सिवाय इसके कि यह मेरे लिए काम नहीं कर रहा है। apt-get install libtinfo6रिपोर्ट अनुपलब्ध है लेकिन किसी अन्य पैकेज द्वारा संदर्भित है, लेकिन apt-cache search libtinfo6कोई परिणाम नहीं देता है। क्या इसी तरह का काम करने का कोई और तरीका है?
एरहानिस

@ अर्हानिस 'टर्मोफ़' क्या कुछ भी लाता है? मुझे लगता है कि कभी-कभी यह त्रुटि तब सामने आती है जब किसी पैकेज का नाम बदल दिया जाता है।
अरलो जेम्स बार्न्स

मुझे यकीन नहीं है। मैंने डेबियन के अगले संस्करण में अपग्रेड किया, और यह पैकेज स्पष्ट रूप से अब वह त्रुटि नहीं देता है। मैं terminfoअगली बार ऐसा होने पर कोशिश करूँगा ; यह पहले भी हुआ है और यह फिर से होगा।
एरहानिस

23

कभी-कभी ऐसा होता है क्योंकि APT सिर्फ इस बारे में कुछ नहीं जानता कि आप किस बारे में बात कर रहे हैं, लेकिन इसे हल करके हल किया जा सकता है:

sudo apt-get update

इस चलाने के बाद, आम तौर पर त्रुटि दूर चला जाता है क्योंकि aptऔर apt-getजानते हैं कि कैसे क्या मैं अब पूछना करने के लिए।


4
आप शायद इसका मतलब apt-get updateहै apt-get upgrade -yक्योंकि -yउपयोगकर्ता की पुष्टि को बायपास करता है। इसके साथ इसका उपयोग करने का कोई मतलब नहीं है apt-get update। फिर भी, यह सवाल का जवाब नहीं देता है, बिल्कुल नहीं।

4
@CelticWarrior: मैं सिद्धांत रूप में इस उत्तर से सहमत हूं क्योंकि पैकेज रिपॉजिटरी जानकारी को अपडेट करने से यह समस्या हल हो सकती है यदि कोई हाल ही में जोड़े गए पीपीए से पैकेज स्थापित करने की कोशिश करता है और चलाना भूल गया है apt-get update
डेविड फ़ॉस्टर

7
@ user589808 मुझे नहीं लगता कि यह बहुत अच्छी सलाह है। उपयुक्त-अप उन्नयन आवश्यक नहीं है, और आंखें मूंद कर सब कुछ ठीक होने से ज्यादा चीजें टूट सकती हैं। इसलिए हाय सिंटैक्स में वेन सही था।
क्रेजी कूल

1
apt-get updateएबी सवाल (पैकेज रेपो में मौजूद है, लेकिन उत्तर देता है apt-get installऔर apt-cache। इसके बारे में पता नहीं है)
dcorking

1
बाद के आगमन के लिए, उपरोक्त टिप्पणियां इस उत्तर के पुराने संस्करण पर चर्चा करती हैं। वर्तमान उत्तर सिर्फ sudo apt-get updateविवाद से मुक्त है और मेरे लिए सही समाधान था।
दरियास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.