मैं उपयुक्त त्रुटि को कैसे ठीक कर सकता हूं "डब्ल्यू: लक्ष्य पैकेज ... कई बार कॉन्फ़िगर किया गया है"?


127

मैंने अभी Ubuntu Gnome 16.04 स्थापित किया है। मैंने इसे अपने दस्तावेजों को बचाने के लिए कहा - जो काम किया। कुछ सॉफ़्टवेयर को फिर से इंस्टॉल करना पड़ा। अब जब मैं दौड़ता sudo apt-get updateहूं तो मैं यह देखता हूं:

W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (main/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (main/i18n/Translation-en_GB) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11 (main/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11-icons (main/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (restricted/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (restricted/i18n/Translation-en_GB) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (restricted/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11 (restricted/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11-icons (restricted/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (multiverse/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (multiverse/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (multiverse/i18n/Translation-en_GB) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (multiverse/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11 (multiverse/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11-icons (multiverse/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: The repository 'http://extras.ubuntu.com/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: http://dl.google.com/linux/chrome/deb/dists/stable/Release.gpg: Signature by key 4CCA1EAF950CEE4AB83976DCA040830F7FAC5991 uses weak digest algorithm (SHA1)
W: http://repo.sinew.in/dists/stable/InRelease: Signature by key B6DA722E2E65721AF54B93966F7565879798C2FC uses weak digest algorithm (SHA1)
E: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/xenial/main/source/Sources  404  Not Found [IP: 91.189.92.152 80]
E: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found [IP: 91.189.92.152 80]
E: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/xenial/main/binary-i386/Packages  404  Not Found [IP: 91.189.92.152 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (main/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (main/i18n/Translation-en_GB) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (main/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11 (main/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11-icons (main/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (restricted/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (restricted/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (restricted/i18n/Translation-en_GB) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (restricted/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11 (restricted/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11-icons (restricted/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (multiverse/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (multiverse/binary-i386/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Packages (multiverse/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (multiverse/i18n/Translation-en_GB) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target Translations (multiverse/i18n/Translation-en) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11 (multiverse/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87
W: Target DEP-11-icons (multiverse/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list:33 and /etc/apt/sources.list:87

क्या इसे ठीक करने का कोई स्वचालित तरीका है?

जवाबों:


160

हाल ही में, अप-टू-डेट समाधान

मैंने इस कार्य को स्वचालित करने के लिए एक पायथन स्क्रिप्ट लिखी। आप यहां सबसे हालिया संस्करण पा सकते हैं ।

स्थापना:

  1. आवश्यकताएँ स्थापित करें:

    sudo apt install python3-apt
    
  2. डाउनलोड ज़िप बंडल ( aptsources-cleanup.zip) नवीनतम रिलीज से

उपयोग:

  1. जिप बंडल के डाउनलोड स्थान से (ऊपर चरण 2 देखें) चलाएँ:

    sudo python3 -OEs aptsources-cleanup.zip
    
  2. स्क्रीन पर दिखाई देने वाले निर्देशों का पालन करें।


ऐतिहासिक, पुराना समाधान

यह एक अधिक पुराना, छोटा और सरल संस्करण है जो अधिक उपयुक्त इनलाइन उद्धरण है:

#!/usr/bin/env python3
"""
Detects and interactively deactivates duplicate Apt source entries.

Usage: sudo python3 apt-remove-duplicate-source-entries.py
"""

from __future__ import print_function
import aptsources.sourceslist

EMPTY_COMPONENT_LIST = (None,)

def get_duplicates(sourceslist):
    """
    Detects and returns duplicate Apt source entries.
    """

    sentry_map = dict()
    duplicates = list()
    for se in sourceslist.list:
        if not se.invalid and not se.disabled:
            for c in (se.comps or EMPTY_COMPONENT_LIST):
                key = (se.type, se.uri, se.dist, c)
                previous_se = sentry_map.setdefault(key, se)
                if previous_se is not se:
                    duplicates.append((se, previous_se))
                    break

    return duplicates


if __name__ == '__main__':
    try:
        input = raw_input
    except NameError:
        pass

    sourceslist = aptsources.sourceslist.SourcesList(False)
    duplicates = get_duplicates(sourceslist)

    if duplicates:
        for dupe, orig in duplicates:
            print(
                'Overlapping source entries:\n'
                '  1. {0}: {1}\n'
                '  2. {2}: {3}\n'
                'I disabled the latter entry.'.format(
                    orig.file, orig, dupe.file, dupe),
                end='\n\n')
            dupe.disabled = True

        print('\n{0} source entries were disabled:'.format(len(duplicates)),
            *[dupe for dupe, orig in duplicates], sep='\n  ', end='\n\n')
        if input('Do you want to save these changes? (y/N) ').upper() == 'Y':
            sourceslist.save()

    else:
        print('No duplicated entries were found.')

यह कोई पैरामीटर नहीं लेता है और पैकेज /etc/apt/sources.list*की मदद से सभी पर काम करता है python3-apt। लाइनों का सटीक डुप्लिकेट (सामान्य होने के बाद भी) होना जरूरी नहीं है, लेकिन यदि पर्याप्त प्रकार, यूआरआई, सूट और कम से कम एक घटक ओवरलैप हो।

मुझे यकीन नहीं है कि सभी कोने के मामलों में समानता परीक्षण सही है (उदाहरण के लिए "विभिन्न विकल्प" तार)। GitHub पर अपनी टिप्पणी और कांटे छोड़ दें ।


टर्मिनल से आप इसे कमांड wget " github.com/davidfoerster/aptsources-cleanup/releases/download/… " पर डाउनलोड कर सकते हैं
सामी

@Sami: इस समय हाँ, लेकिन जब मैं कोई और रिलीज़ करता हूँ तो यह नवीनतम रिलीज़ को इंगित नहीं करेगी।
डेविड फ़ॉस्टर

ubuntu 18.04 उपयोगकर्ता: एक आकर्षण की तरह काम करता है। धन्यवाद दोस्त।
अली

osboxes @ osboxes: /etc/apt/source.list.d$ sudo python3 -OEs aptsources-cleanup.zip python3: 'aptsources-clupup.zip' फ़ाइल नहीं खोल सकता: [Errno 2] ऐसी कोई फ़ाइल या निर्देशिका
Toolkit नहीं है

@ टूलकिट: मैंने उपयोग निर्देशों को संशोधित किया। कृपया उन्हें पढ़ें और पुनः प्रयास करें। स्पष्टता की कमी के लिए क्षमा करें।
डेविड फ़ॉस्टर 01

79

मेरे लिए (16.04 LTS) जा रहे हैं

सिस्टम सेटिंग्स >> सॉफ्टवेयर और अपडेट >> अन्य सॉफ्टवेयर और सूची से प्रत्येक डुप्लिकेट प्रविष्टि को हटाकर ठीक काम किया।


6
मैं एक स्वचालित विधि का अनुरोध कर रहा था।
टिम

17
यह निष्पादित करने से पहले विदेशी पायथन 3 स्क्रिप्ट को पढ़ने से बेहतर उपाय है ... पूरी तरह से काम किया
मैक्स

2
क्या आप "डुप्लिकेट" को हटा सकते हैं जिसमें एक अलग प्रकार है? उदाहरण के लिए मेरे पास http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial mainऔर है http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main (source code)। क्या यह स्रोत (स्रोत कोड) को हटाने के लिए सहेजा गया है (यह एक या तो चेक नहीं किया गया है, अन्य एक के विपरीत)?
डेरूइज़र

1
@ सच, ​​लेकिन शायद इसीलिए ज्यादातर लोग इस सवाल पर नहीं आते हैं
जोएल बर्कले

2
@Deruijter "सोर्स कोड" कहने वाले को दूसरे का डुप्लिकेट नहीं माना जाता है। हालाँकि, आपको "स्रोत कोड" कहने वाले की आवश्यकता नहीं है, जब तक कि आप कुछ संकुल के लिए स्रोत कोड को अपने दम पर उन्हें संकलित करने के लिए डाउनलोड नहीं करना चाहते।
mchid

31

अपनी रिपॉजिटरी को इस तरह रीसेट करें

  1. sudo rm /etc/apt/sources.list
  2. sudo software-properties-gtk
  3. अपने विकल्प चुनें
  4. सहेजें

(PS मुझे उबंटू 15.10 को Ubuntu 16.04 में अपडेट करने के बाद आज भी यही समस्या थी।)


खबरदार करें कि जांच के बाद ही आपको यह करना चाहिए और सुनिश्चित करें कि आपने वास्तव में software-properties-gtkअपने सिस्टम पर स्थापित किया है। मुझसे यह मत पूछिए कि मुझे यह लिखने के लिए क्या बना।
मिलोस Milakonović

5

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

आपके मामले में, sudo या रूट के रूप में, टेक्स्ट एडिटर में /etc/apt/source.list खोलें। या तो लाइन 33 या लाइन 87 को हटाएं। आप नेत्रहीन जांच कर सकते हैं कि वे पहले डुप्लिकेट हैं।

यदि आपको विम पसंद है ...

$ sudo vim /etc/apt/sources.list
33 [Shift]+g    # to goto line 33
87 [Shift]+g    # to goto line 87, don't need a duplicate of line 33
dd              # to delete the line you're on
:wq             # to write the file and quit

या, अगर आप गलती करते हैं तो बाहर निकलने के लिए ...

:q!             # to quit without saving any changes

4

लिनक्स टकसाल के साथ उबंटू-आधारित प्रणालियों के लिए, सॉफ्टवेयर स्रोत> रखरखाव> डुप्लिकेट पैकेज निकालें


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