त्रुटि :: आपको अपने source.list में कुछ 'source' URI डालने होंगे


107

मैं ubuntu पर एक अजगर मॉड्यूल पीआईएल स्थापित करने की कोशिश कर रहा हूँ

मुझे पहले निम्नलिखित कमांड का उपयोग करते हुए अजगर-इमेजिंग नामक पैकेज स्थापित करने की आवश्यकता है

sudo apt-get build-dep python-imaging

जब मैं कोशिश करता हूं और ऐसा करता हूं तो मुझे त्रुटि मिलती है

E: You must put some 'source' URIs in your sources.list

मैंने देखा कि यह प्रश्न व्हिच दिखाता है कि GUI के माध्यम से कैसे ठीक किया जाए लेकिन मैं कमांड लाइन का उपयोग कर रहा हूं। क्या किसी को पता है कि मैं इस त्रुटि को कैसे ठीक कर सकता हूं ..?

अद्यतन: नीचे दिए गए उत्तरों के आधार पर मैंने अपनी पैकेज सूची को अपडेट किया है लेकिन मुझे अब यह त्रुटि मिली है। यह सुनिश्चित नहीं है कि अगर यह संबंधित है, तो मैं एक नया सवाल शुरू नहीं करूंगा क्योंकि मुझे कहीं भी त्रुटि का संदर्भ नहीं मिल सकता है।

E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements  

पहली त्रुटि संदेश काफी भ्रामक है। यह दिखाता है कि फ़ाइल में कुछ स्रोत हैं जबकि संदेश का अर्थ है कि वहाँ कोई स्रोत नहीं हैं। संदेश क्या कहने की कोशिश करता है, आपको एक स्रोत जोड़ना होगा जिसमें जानकारी हो।
सॉरेन

जवाबों:


100

software-properties-gtk विकल्प "स्रोत कोड"

मैं इसे डेस्कटॉप के लिए सुझाता हूं:

software-properties-gtk

फिर "उबंटू सॉफ्टवेयर" टैब के तहत "सोर्स कोड" पर क्लिक करें:

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

इसने कुछ deb-srcलाइनों को जोड़ा है /etc/apt/sources.list, और अब मैं कर सकता हूं sudo apt-get build-dep <package>

मुझे एक साफ सीएलआई विधि नहीं मिली, इसलिए मैं इसके लिए यह बग रिपोर्ट बनाता हूं: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718

उबंटू 16.04 से 18.04 तक परीक्षण किया गया।

सीएलआई विधि

मैं इसे डोकर छवियों के लिए सुझाता हूं:

sudo cp /etc/apt/sources.list /etc/apt/sources.list~
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update

उबंटू 18.04 डॉकर छवि पर परीक्षण किया गया। इस परिवर्तन के बाद, मैं उदाहरण के लिए सफल हो सकता हूं:

sudo apt-get build-dep hello

और परिवर्तन से पहले यह त्रुटि के साथ विफल हो गया:

E: You must put some 'source' URIs in your sources.list

पहले बताया गया था: https://askubuntu.com/a/1011675/52975 पर जाएं और उस उत्तर को बढ़ाएं।

ध्यान दें कि /etc/apt/sources.listफ़ाइल में लाइनें हैं जैसे:

# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

जिसका अर्थ है कि उपरोक्त sedस्रोतों को सक्षम करेगा, लेकिन कुछ प्रकार के भंडार के लिए गैर-स्रोत नहीं। मुझे नहीं लगता कि यह बहुत मायने रखता है।


5
यह सिर्फ मेरे लिए ubuntu 16.04
या Duan

2
इसके अलावा उबंटू 18.04
kramer65

2
@kilgoretrout "स्वीकृत उत्तर कैसा है" क्योंकि Google खोज हिट सटीक प्रश्न शब्दार्थ को हरा देती है।
सिरो सेंटिल्ली 新疆 改造 iro i 事件 '

1
बहुत ही शांत! प्यार पालना होगा!
एबेन एखर्डट

1
19.04 में काम कर रहे हैं
हारिस

49

आप स्रोत सूची ( /etc/apt/sources.list) को सीधे संपादित कर सकते हैं। मुझे लगता है कि आपको इन पंक्तियों को जोड़ने / अनलोड करने की आवश्यकता है:

deb-src http://archive.ubuntu.com/ubuntu trusty main restricted #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #Added by software-properties
deb-src http://security.ubuntu.com/ubuntu trusty-security restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-proposed restricted main universe multiverse #Added by software-properties

मैंने स्रोत कोड विकल्प को अक्षम करके, और source.list फ़ाइल की एक प्रतिलिपि को सहेजकर, फिर स्रोत कोड विकल्प को सक्षम करने, किसी अन्य प्रतिलिपि को सहेजने, फिर diffदोनों पर चलने के द्वारा यह काम किया।

आप http://gb.अपनी सूची में अन्य स्रोतों के उपसर्ग को बदलना चाहते हैं (इसलिए यह आपके निकटतम रेपो दर्पण का उपयोग करता है), और आप भी अनदेखा कर सकते हैं #Added by software-properties

संपादन के बाद sources.list, sudo apt-get updateफिर से स्थापित करने का प्रयास करने से पहले चलाएं ।

पूर्ण यहाँdiff पाया जा सकता है


एक और तरीका है एक नया उत्पन्न करना। एक पूर्ण स्रोत प्राप्त करने के लिए एक तरीका है। इस साइट का उपयोग करना है: https://repogen.simplylinux.ch/


7
"Source.list को संपादित करने के बाद, फिर से इंस्टॉल करने का प्रयास करने से पहले sudo apt-get अपडेट चलाएँ।" - यही कुंजी थी, धन्यवाद!
कौशल मोदी

9
sudo sed -i -e's s / # deb-src / deb-src / '/etc/apt/sources.list
Vincent

1
धन्यवाद पाल के लिए मुझे याद है कि$ sudo apt update
christianbueno.1

@ विंसेंट की टिप्पणी मेरे लिए और सुपर क्लीन
किलगॉरेट्राउट

27

संपादित करें /etc/apt/sources.list

sudo nano /etc/apt/sources.list

फिर उदाहरण के लिए #लाइनों को हटाएं या जोड़ें deb-src $url:

deb http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted
deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted

या मौजूदा लाइनों से कॉपी करें, जैसे

deb blah blah
deb-src exact same blah blah

तो भागो:

sudo apt-get update

अतिरिक्त जानकारी के लिए https://help.ubuntu.com/community/Repositories/CommandLine देखें ।


17
कार्यकारी sudo apt-get updateसंपादन के बाद sources.listफ़ाइल
abidibo

4

यहाँ कमांड लाइन समाधान है

cat /etc/apt/sources.list | grep deb-src  #  see what will get changed

ऊपर cmd का विशिष्ट उत्पादन

# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://archive.canonical.com/ubuntu bionic partner
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://archive.ubuntu.com/ubuntu bionic main universe restricted multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse

यदि आप लाइनों के ऊपर अच्छी तरह से बदल रहे हैं, जो हमेशा एक ताजा ubuntu स्थापित पर सच है, तो मुद्दा:

sudo sed -i~orig -e 's/# deb-src/deb-src/' /etc/apt/sources.list   

जो इनपुट फ़ाइल का एक बैकअप करता है, फिर डिबेट-src के लिए एक खोज की खोज करता है, जहाँ यह उन पंक्तियों को सक्रिय करने के लिए टिप्पणी को हटाता है ... स्थानीय मेटाडेटा के ताज़ा करने से आपकी मशीन को ubuntu संकुल के नए कैटागिरीज़ के बारे में जागरूकता मिलेगी

sudo apt-get update

अब एक बार फिर से अपने मूल आदेश को जारी करें जो विफल रहा:

E: You must put some 'source' URIs in your sources.list

1
आप cp को छोड़ सकते हैं और -i~origsed के साथ उपयोग कर सकते हैं ताकि sed बैकअप बना सके।
मुरु

3

उबंटू 16.04 के लिए, मैंने सूत्रों के लिए ये अपडेट सफलतापूर्वक किए।

$ sudo diff /etc/apt/sources.list /etc/apt/sources.list.bkp 

6c6
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial main restricted
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial main restricted

19c19
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial universe
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial universe

39c9
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse

53c53
< deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
---
> # deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse

2

लिनक्स टकसाल (मैं संस्करण 18 पर हूं) में आप सॉफ़्टवेयर स्रोत पर जा सकते हैं (प्रारंभ मेनू में इसके लिए खोज करें या इसे टर्मिनल से खोलें software-sources)। वहां, पहले टैब पर, आपको एक चेकबॉक्स सक्षम होगा सोर्स कोड रिपॉजिटरी । यदि आप इसे सक्षम करते हैं तो प्रोग्राम आपकी /etc/apt/sources.list.d/official-source-repositories.listफ़ाइल में सही लाइनें डाल देगा । बस उसके बाद sudo apt-get update(या सॉ टवेयर सॉ टवेयर में अपडेट को हिट करना न भूलें )।

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