आपके स्रोतों.सूची में वास्तव में डुप्लिकेट प्रविष्टियाँ हैं।
पहले एक रिपॉजिटरी लाइन या सोर्स लाइन का सही रूप देखते हैं:
रिपॉजिटरी सोर्स लाइन का सही प्रारूप है
<type of repository> <location> <dist-name> <components>
उदाहरण के लिए, रेपो लाइन इस तरह हो सकती है
deb http://archive.ubuntu.com/ubuntu precise main
यहाँ, इसका मतलब है, रिपॉजिटरी बाइनरी पैकेज के लिए है, जिसे http://archive.ubuntu.com/ubuntu में होस्ट किया गया है और यह रिपॉजिटरी उबंटू सटीक (12.04) के लिए है और इस रिपॉजिटरी में मुख्य (सॉफ्टवेयर है जो आधिकारिक रूप से समर्थित हैं) विहित) घटक।
प्रकार: प्रकार deb
और हो सकता है deb-src
। deb
बाइनरी रिपॉजिटरी का deb-src
अर्थ है जहां स्रोत रिपॉजिटरी का मतलब है
स्थान: http://archive.ubuntu.com/ubuntu
रिपॉजिटरी का स्थान।
Dist-name: Ubuntu रिलीज का वितरण नाम। उबंटू 12.04 के लिए यह precise
11.10 के लिए है oneiric
।
आप उबंटू रिलीज़ की अद्यतन सूची और उनके कोड नामों को देखने के लिए उबंटू विकी पर जा सकते हैं ।
घटक: यह हो सकता है main
, universe
, multiverse
और restricted
। ये शब्द पैकेज और लाइसेंस की स्थिति के लिए समर्थन के स्तर को इंगित करते हैं।
देखें इस पेज में अधिक जानकारी के लिए।
कृपया ध्यान दें कि, आप एक पंक्ति में एक या अधिक घटक जोड़ सकते हैं, इसलिए "मुख्य", "ब्रह्मांड", "प्रतिबंधित" और "मल्टीवर्स" एक ही पंक्ति में हो सकते हैं। यह भी ध्यान दें, यद्यपि आप एक पंक्ति में एक से अधिक घटक जोड़ते हैं, APT सिस्टम उन्हें केवल एक घटक युक्त अलग पंक्ति मानता है।
तो, अगर आपकी sources.list
लाइन इस तरह है
deb http://archive.ubuntu.com/ubuntu precise universe
फिर इसमें नीचे की तरह दूसरी पंक्ति नहीं हो सकती है (जो आपकी फ़ाइलें हैं)
deb http://archive.ubuntu.com/ubuntu precise main universe
जो इन दो लाइनों के बराबर है
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
क्योंकि, आप दो बार ब्रह्मांड की नकल कर रहे हैं , इसलिए उस डुप्लिकेट के लिए एक त्रुटि होगी। पाया गया प्रत्येक डुप्लिकेट के लिए एक त्रुटि दी जाएगी।
उपाय:
आपकी sources.list
फ़ाइल का विश्लेषण करने के बाद , मैंने पाया कि, यह एक बुनियादी एक है जो उबंटू द्वारा डिफ़ॉल्ट रूप से आपूर्ति की जाती है। आप प्रक्रिया के बाद एक डिफ़ॉल्ट फ़ाइल बना सकते हैं:
एक टर्मिनल खोलें और पहले sources.list
फ़ाइल में मौजूदा फ़ाइल का नाम बदलें sources.list.bak
। (हम सुरक्षित रूप से इसे हटा सकते हैं, लेकिन सावधानी अच्छी है)।
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
फिर software-properties-gtk
एक नया निर्माण करने के लिए खोलें । एक टर्मिनल में या डैश कमांड प्रॉम्प्ट में नीचे कमांड टाइप करें Alt+ दबाने के साथF2
software-properties-gtk
ध्यान दें, Ubuntu संस्करण 11.10 के लिए या पहले आपको कमांड gksu
से पहले उपयोग करना होगाsoftware-properties-gtk
खिड़की खुली होने के बाद,
- Ubuntu सॉफ्टवेयर टैब में सभी चार श्रेणियों का चयन करें
- अपडेट टैब में सटीक-सुरक्षा , सटीक-अपडेट और सटीक-बैकस्पोर्ट श्रेणी का चयन करें ।
- अन्य सॉफ्टवेयर टैब से कैनोनिकल पार्टनर और स्वतंत्र श्रेणी का चयन करें ।
बस। अब आपके पास sources.list
त्रुटि के बिना एक डिफ़ॉल्ट फ़ाइल है। यदि आप चाहें तो इस फ़ाइल की तुलना पिछले वाले से करें।
sources.list.d
Dir की फ़ाइलों से निपटने के लिए अद्यतन करें
कभी-कभी डुप्लिकेट प्रविष्टि /etc/apt/sources.list.d
निर्देशिका में एक फ़ाइल में हो सकती है , जिसका उपयोग एपीटी द्वारा भी किया जाता है। तो, आपको उस निर्देशिका को देखना चाहिए और देखना चाहिए कि क्या उन फ़ाइलों में कोई डुप्लिकेट है। यह डुप्लिकेट उसी फ़ाइल में होने के लिए आवश्यक नहीं है।
उदाहरण का मामला:
एक उपयोगकर्ता के पास यह त्रुटि संदेश दिखा रहा था sudo apt-get update
।
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
लेकिन http://dl.google.com
मुख्य /etc/apt/sources.list
फ़ाइल में कोई प्रविष्टि नहीं थी । /etc/apt/sources.list.d/
निर्देशिका को देखते हुए हमें ये फाइलें मिलीं:
का आउटपुट ls /etc/apt/sources.list.d/
:
aims-sagemath-precise.list
aims-sagemath-precise.list.save
dropbox.list
dropbox.list.save
fossfreedom-packagefixes-precise.list
fossfreedom-packagefixes-precise.list.save
google-chrome.list
google-chrome.list.save
google.list
google.list.save
sagemath-monolithic-precise.list
sagemath-monolithic-precise.list.save
फ़ाइलें google-chrome.list
और google.list
डुप्लिकेट वाले अच्छे उम्मीदवार थे। इसलिए, दोनों फ़ाइलों की सामग्री की जाँच करना आवश्यक था।
का आउटपुट cat /etc/apt/sources.list.d/google-chrome.list
:
deb http://dl.google.com/linux/chrome/deb/ stable main
और का cat /etc/apt/sources.list.d/google.list
deb http://dl.google.com/linux/chrome/deb/ stable main
तो, Apt के स्रोतों में एक डुप्लिकेट प्रविष्टियाँ थीं। चूंकि google-chrome.list
केवल एक एकल पंक्ति होती है और इसे google.list
फ़ाइल में सूचीबद्ध किया गया था इसलिए हम इस फ़ाइल को कमांड से सुरक्षित रूप से हटा सकते हैं
sudo rm /etc/apt/sources.list.d/google-chrome.list
तब समस्या हल हुई।