APT के साथ संकुल स्थापित करने का प्रयास करते समय "पैकेज का पता लगाने में असमर्थ"


209

जब मैं कमांड लाइन के माध्यम से किसी भी पैकेज को स्थापित करने की कोशिश करता हूं, तो मुझे एक त्रुटि मिलती है।

$ sudo apt-get install <package>
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package <package>

क्या कोई इस पर मेरी मदद कर सकता है?


5
यह हाल ही में बहुत अधिक आ रहा है क्योंकि 18.04 सर्वर में डिफ़ॉल्ट रूप से अक्षम ब्रह्मांड, मल्टीवर्स, और बैकपोर्ट हैं।
wjandrea

1
क्या कोई कमांड दर्ज नहीं करने पर दिए गए सहायक संकेत को बेहतर बनाने के लिए लॉन्चपैड मुद्दा है? (बस संकेत है कि यह एक भंडार में है सक्षम नहीं बहुत उपयोगी होगा)
Thorbjørn रेवन एंडरसन

यह कुछ ऐसा है जब मैं कंटेनर बना रहा हूं, आमतौर पर डॉकटर और विलक्षणता दोनों के साथ। विलक्षणता वाले कंटेनरों में आपके पास अलग बूटस्ट्रैप विकल्प होते हैं, उनमें से debootstrapऔर docker। किसी कारण के लिए, यदि मैं debootstrapएक आधार उबंटू छवि (जैसे xenial) के साथ शुरू करने के लिए उपयोग करता हूं, तो मैंने इस त्रुटि को मारा जहां कुछ पैकेज नहीं मिल सकते हैं apt-get। समाधान dockerबूटस्ट्रैप पर स्विच करने के लिए समाप्त होता है , फिर यह फिर से कार्य करता है।
user5359531

यह पिछले कुछ दिनों से मेरी प्रगति को रोक रहा है, और यह ब्रह्मांड, मल्टीवर्स, या बैकपोर्ट के निष्क्रिय होने के कारण नहीं है, जैसा कि वेजेंड्रिया बताती है।
जैकलोपे

@ जैकलोप तब शायद पैकेज का नाम गलत है या आपको चलाने की आवश्यकता है sudo apt updateapt-cache searchसही पैकेज नाम की खोज करने के लिए खोज शब्द का उपयोग करें ।
mchid

जवाबों:


155

सबसे पहले, जांचें कि क्या पैकेज वास्तव में मौजूद है:

  1. वेब ब्राउजर के साथ package.ubuntu.com पर जाएं ।
  2. "खोज पैकेज निर्देशिकाओं" के लिए नीचे स्क्रॉल करें
  3. वह पैकेज दर्ज करें जिसे आप "कीवर्ड" फ़ील्ड में स्थापित करने का प्रयास कर रहे हैं।

    "केवल सटीक मिलान दिखाएं:" सक्षम करें

    "वितरण" को बदलें जो आप उपयोग कर रहे हैं उबंटू के किस संस्करण में।

    यहां छवि विवरण दर्ज करें

यदि कोई परिणाम नहीं हैं , तो आप जिस पैकेज की तलाश कर रहे हैं वह मौजूद नहीं है और अगले चरण काम नहीं करेंगे। इसके लिए थर्ड पार्टी पीपीए या वैकल्पिक इंस्टॉलेशन विधि की आवश्यकता हो सकती है।

यदि परिणाम मिलते हैं , तो पैकेज मौजूद है और आप इन चरणों के साथ जारी रख सकते हैं:

  1. डैश में खोज करके ओपन सोर्स (या सॉफ्टवेयर और अपडेट 13.04+ में)।
  2. "उबंटू सॉफ्टवेयर" टैब खोलें।
  3. सुनिश्चित करें कि इस टैब पर पहले 4 चेक बॉक्स सक्षम हैं:

    यहां छवि विवरण दर्ज करें

  4. पैकेज सूचियों को अपडेट करें, फिर इन कमांड के साथ परीक्षण करें:

    sudo apt-get update
    sudo apt-get install <TEST_PACKAGE>
    

44
मैंने पाया कि एक साधारण sudo apt-get updateमेरे लिए इसे ठीक करने के लिए पर्याप्त था। आपकी माइलेज भिन्न हो सकती है।
एडवर्ड फॉक

1
sudo apt-get updateविंडोज 10 पर उबंटू में मेरे लिए भी काम किया (यह महत्वपूर्ण है क्योंकि इस उत्तर के उत्तरार्द्ध में संदर्भित यूआई उस सिस्टम पर मौजूद नहीं है)।
जेम्स

1
सॉफ्टवेयर और अद्यतन स्क्रीनशॉट मुझे बचाया !!
कल्पेश सोनी

लॉन्चपैड के साथ ही खोज करने के लिए मत भूलना !
जोनाथन

1
मैं अपने सर्वर को शेल से चला रहा हूं, और GUI नहीं खोल सकता। क्या इसे केवल कमांड लाइन के साथ हल करना संभव है?
यूलिसिस

81

इस विषय में कई प्रश्न हैं। यहां मैं एक बुनियादी / सामान्य उत्तर प्रदान करता हूं।

जब apt-get installआप पैकेज का पता लगाने में असमर्थ होते हैं, तो जिस पैकेज को आप इंस्टॉल करना चाहते हैं वह रिपॉजिटरी के भीतर नहीं पाया जा सकता है जिसे आपने जोड़ा है (उन में /etc/apt/sources.listऔर उसके नीचे /etc/apt/sources.list.d/)।

निम्नलिखित (सामान्य) प्रक्रिया इसे हल करने में मदद करती है:

  1. सुनिश्चित करें कि आपने उबंटू रिपॉजिटरी को सक्षम किया है:

    सभी खजाने (सक्षम करने के लिए main, universe, restricted, multiverse), निम्न कमांड का उपयोग करें:

    sudo add-apt-repository main
    sudo add-apt-repository universe
    sudo add-apt-repository restricted
    sudo add-apt-repository multiverse
    

    अधिक जानकारी के लिए मदद पर जाएं ।

  2. अधिक पैकेज के लिए पीपीए खोजने के लिए:

  3. PPA जोड़ें (कमांड-लाइन द्वारा) :

    इस कमांड का उपयोग करें:

    sudo add-apt-repository ppa:<repository-name>
    

    अधिक जानकारी के लिए उबंटू समुदाय की मदद पर जाएँ ।

  4. अपडेट करना न भूलें (अपने परिवर्तनों से अवगत कराएं):

    किसी भी रिपॉजिटरी को बदलने के बाद इस कमांड को चलाना आवश्यक है:

    sudo apt-get update
    

    सर्वश्रेष्ठ डाउनलोड सर्वर का चयन करने से अद्यतन को गति देने में मदद मिल सकती है।

  5. अंत में पैकेज स्थापित करें:

    sudo apt-get install <package>
    

    कमांडलाइन द्वारा पैकेज प्रबंधन का संदर्भ लें ।

    अतिरिक्त / युक्ति : आप सही पैकेज-नाम (यानी रिपॉजिटरी में नाम) का उपयोग करके पा सकते हैं apt-cache search <package-name>



नोट : यदि पैकेज किसी भी तरह से रिपॉजिटरी पर उपलब्ध नहीं है, तो आपको उपलब्ध होने तक इंतजार करना होगा (नए / अपडेट किए गए संस्करणों के मामले में) या apt-getस्रोत से संकलन, निष्पादन योग्य बाइनरी डाउनलोड करने आदि की तुलना में अन्य इंस्टॉलेशन प्रक्रियाओं का उपयोग करें ।


3
यह भी हो सकता है कि उपयोगकर्ता खोज रहा हो libname, जब वह libname2डेबियन / उबंटू में हो।
सियारकोट Jun५

3
सबसे पहले, पैकेज पर निर्भर करता है और आप कई तरह की धारणाएं बना रहे हैं। सबसे पहले, आप मान रहे हैं कि ओपी ने सही पैकेज नाम की पहचान की है, जैसा कि saiarcot895 द्वारा बताया गया है। दूसरा आप मान रहे हैं कि पैकेज उपलब्ध है। सामान्य तौर पर, सबसे पहले समस्या की पहचान करना सबसे अच्छा है। फिर अगर सभी संभव रिपॉजिटरी से स्थापित हो। जब तक कोई विशिष्ट आवश्यकता नहीं है, ppa एक दूसरी पसंद है। यदि पैकेज रिपॉजिटरी या पीपीए में नहीं है, तो इसे स्रोत से संकलित करने की आवश्यकता हो सकती है। आपके पास वास्तव में पर्याप्त जानकारी नहीं है।
पैंथर

@ saiarcot895 @ bodhi.zazen: apt-cache searchरिपॉजिटरी से सही पैकेज-नाम खोजने के लिए प्रदान करने के साथ संशोधित उत्तर ।
पंड्या

भयानक जवाब आदमी, उर एक है जो विजेता होना चाहिए
sdream

9

xbmc केवल ब्रह्मांड भंडार में उपलब्ध है , केवल Ubuntu 12.04 (सटीक) के बाद से। यदि आपके पास उबंटू का पुराना रिलीज है, तो आपको दूसरी जगह से अपग्रेड या xbmc प्राप्त करने की आवश्यकता होगी।

यदि आपके पास Ubuntu 12.04 है, तो सुनिश्चित करें कि आपने ब्रह्मांड भंडार को चालू कर दिया है । आप देख सकते हैं कि आपने फाइल में /etc/apt/sources.list(और डायरेक्टरी में फाइलों में /etc/apt/sources.list.d) क्या रिपॉजिटरी की है । जाँच करें कि इस फ़ाइल में एक पंक्ति है जैसे

deb http://al.archive.ubuntu.com/ubuntu/ precise universe

या

deb http://zw.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

अगर आपको केवल एक लाइन पसंद है

deb http://mn.archive.ubuntu.com/ubuntu/ precise main restricted

और इसके साथ कोई रेखा नहीं universe, universeउस रेखा के अंत में, या precise universeऊपर बताए अनुसार एक अलग रेखा जोड़ें ।

यदि आपको संशोधित करने /etc/apt/sources.list, sudo apt-get updateबाद में चलाने की आवश्यकता है , तो फिर से स्थापित करने का प्रयास करें। यदि पैकेज अभी भी नहीं मिला है, की पूरी सामग्री पोस्ट /etc/apt/sources.listऔर के उत्पादन में sudo apt-get update


@ एलियाकगन ने नहीं सोचा था कि मेरा जवाब इस तरह से समझा जा सकता है, मैंने स्पष्ट करने की कोशिश की। क्यों alऔर zwक्या नहीं ? (मैं एक सुराग देने के लिए ओपी के लिए एक उपयुक्त दर्पण का चयन करने की कोशिश करता हूं, लेकिन यहां मुझे कोई पता नहीं है।)
गाइल्स

5

मैं उबंटू के लिए नया हूं लेकिन मैं इसे लिख रहा हूं क्योंकि मैंने इस "पैकेज को खोजने में असमर्थ" त्रुटियों से बचने के लिए कुछ समाधान खोजे हैं। ऐसी तीन परिस्थितियां हैं जहां यह झटका लग सकता है।

  1. उबंटू स्थापित करने के बाद यदि आप इसे अपग्रेड करने के बाद अपडेट नहीं करते हैं, तो यह हो सकता है।
  2. यदि भविष्य में बहुत सारे सॉफ़्टवेयर अपडेट होने हैं, तो सुनिश्चित करें कि सभी महत्वपूर्ण सुरक्षा अपडेट / अनुशंसित अपडेट " अपडेट मैनेजर " को दबाकर Alt+ लिखकर बंद कर दिए गए हैं F2
  3. इश्यू वन और टू सभी अपडेट्स को अपडेट या क्लियर करने के बाद भी हो सकता है। लेकिन शाश्वत समाधान यह है: बिंदु 1 और 2 को आज़माएं, फिर टाइप करें sudo apt-get killmanager, यदि काम नहीं कर रहा है तो कोई समस्या नहीं है sudo apt-get update, तो टाइप करें sudo apt-get upgrade

अब आपको टर्मिनल के माध्यम से किसी भी सॉफ़्टवेयर को स्थापित करने में सक्षम होना चाहिए।


यदि आपको अभी भी "sudo apt-get update" लाइन पर त्रुटि मिलती है, तो "sudo apt-get upgrade" का उपयोग करके देखें। ये काम करेगा .. दोस्तों !! चूंकि लिनक्स अत्यधिक संवेदनशील है, कृपया सुनिश्चित करें कि आप "सूडो" के बजाय "सुडो" जैसे छोटे अक्षरों में सभी कमांड का उपयोग करें
शान सुंदर

5

उस स्थिति में जहां एक फ़ाइल को स्थापित करने का प्रयास किया गया है:

sudo apt-get install libstdc++.so.6

एक पैकेज के बजाय। आपको त्रुटि संदेश मिलता है:

E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'

क्योंकि आपने एक फ़ाइल स्थापित करने का प्रयास किया है libstdc++.so.6जिसे आप स्थापित नहीं कर सकते, क्योंकि यह एक डेबियन पैकेज में स्थित है।

आप apt-fileउस फ़ाइल के पैकेज को खोजने के लिए उपयोग कर सकते हैं । इसे स्थापित करने के लिए, टाइप करें:

sudo apt-get install apt-file

फिर आपको इंडेक्स अपडेट करना होगा।

sudo apt-file update

उसके बाद, आप उस पैकेज को खोज सकते हैं जिसमें फ़ाइल है libstdc++.so.6:

sudo apt-file find libstdc++.so.6

फिर आपको बहुत सारे पैकेज मिलते हैं जिनमें खोजा गया फ़ाइल होता है। इस उदाहरण के लिए मैं केवल एक खोज परिणाम चिपकाता हूं:

libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

तब आप आवश्यक पैकेज स्थापित कर सकते हैं libstdc++6:

sudo apt-get install libstdc++6
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.