Question Comment réparer “W: Duplicate sources.list entry”?


Je continue à recevoir cet avertissement chaque fois que j'essaie de courir sudo apt-get update.

W: Duplicate sources.list entry http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise-updates_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems

Ci-dessous la sortie de /etc/apt/sources.list fichier:

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

deb http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted

deb http://archive.ubuntu.com/ubuntu precise universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu precise-updates universe

deb http://archive.ubuntu.com/ubuntu precise multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse

deb http://archive.ubuntu.com/ubuntu precise-security main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted
deb http://archive.ubuntu.com/ubuntu precise-security universe
deb-src http://archive.ubuntu.com/ubuntu precise-security universe
deb http://archive.ubuntu.com/ubuntu precise-security multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-security multiverse

Comment je le répare?


186
2018-04-10 06:31


origine




Réponses:


Votre sources.list a vraiment des entrées en double.

Tout d'abord, voyons la forme correcte d'une ligne de référentiel ou d'une ligne source:

Le format correct de la ligne source du référentiel est

<type of repository>  <location>  <dist-name> <components> 

Par exemple, une ligne de repo peut ressembler à celle-ci

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

Ici, cela signifie que le référentiel est pour les paquets binaires, qui sont hébergés dans http://archive.ubuntu.com/ubuntu et ce dépôt est pour Ubuntu précis (12.04) et ce dépôt contient les principaux composants (logiciels officiellement supportés par Canonical).

  • Type: Le type peut être deb et deb-src. deb signifie un référentiel binaire où deb-src signifie un référentiel source

  • Emplacement:  http://archive.ubuntu.com/ubuntu emplacement du référentiel.

  • Nom de la dist Le nom de distribution de la version Ubuntu. Pour Ubuntu 12.04 c'est precise, pour 11.10 c'est oneiric.
    Vous pouvez visiter le wiki Ubuntu pour voir une mise à jour liste des versions d'Ubuntu et de leurs noms de code.

  • Composant: Ça peut être main, universe, multiverse et restricted. Ces mots indiquent le niveau de prise en charge des packages et le statut de la licence.

Voir cette page pour plus d'informations.

Veuillez noter que vous pouvez ajouter un ou plusieurs composants dans une ligne, afin que "main", "universe", "restricted" et "multivers" puissent être sur une seule ligne. Notez également que, même si vous ajoutez plusieurs composants sur une seule ligne, le système APT les considère comme une ligne distincte ne contenant qu'un seul composant.

Donc, si votre sources.list avoir une ligne comme ça

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

Ensuite, il ne peut pas avoir une autre ligne comme ci-dessous (que vos fichiers ont)

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

ce qui est équivalent à ces deux lignes

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

Parce que vous dupliquez univers deux fois, il y aura donc une erreur pour ce doublon. Une erreur sera donnée pour chaque copie trouvée.

Solution:

Après avoir analysé votre sources.list fichier, j'ai trouvé que, c'est un élément de base qui est fourni par Ubuntu par défaut. Vous pouvez créer un fichier par défaut en suivant la procédure:

  1. Ouvrez un terminal et renommez-le d'abord sources.list fichier à sources.list.bak fichier. (nous pouvons le supprimer en toute sécurité, mais la prudence est de mise).

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. Ensuite ouvert software-properties-gtk pour en construire un nouveau Tapez la commande ci-dessous dans un terminal ou dans l'invite de commande de tableau de bord en appuyant sur Alt+F2

    software-properties-gtk
    

    Remarque: pour Ubuntu version 11.10 ou antérieure, vous devez utiliser gksu avant le software-properties-gtk commander

  3. Une fois la fenêtre ouverte,

    • Sélectionnez les quatre catégories dans Logiciel Ubuntu languette
    • Sélectionner sécurité précise, mises à jour précises et backports précis catégorie dans Mises à jour languette.
    • Sélectionner Partenaire canonique et Indépendant catégorie de Autre logiciel languette.

C'est tout. Vous avez maintenant un défaut sources.listfichier sans erreur. Comparez ce fichier avec le précédent, si vous le souhaitez.


Mise à jour pour traiter sources.list.d fichiers de dir

Parfois, une entrée en double peut être dans un fichier dans le /etc/apt/sources.list.d répertoire, qui est également utilisé par APT. Donc, vous devriez regarder ce répertoire et voir s'il y a des doublons dans ces fichiers. Il n'est pas nécessaire que les doublons soient dans le même fichier.

Exemple de cas:

Un utilisateur avait ce message d'erreur en cours d'exécution 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

Mais il n'y avait pas d'entrée avec http://dl.google.com en général /etc/apt/sources.list fichier. En regardant le /etc/apt/sources.list.d/ répertoire nous avons trouvé ces fichiers:

sortie de 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

Les fichiers google-chrome.list et google.list étaient de bons candidats pour contenir des doublons. Donc, vérifier le contenu des deux fichiers était nécessaire.

Sortie de cat /etc/apt/sources.list.d/google-chrome.list:

deb http://dl.google.com/linux/chrome/deb/ stable main  

et de cat /etc/apt/sources.list.d/google.list

deb http://dl.google.com/linux/chrome/deb/ stable main

Il y avait donc des entrées en double dans les sources d'Apt. Depuis google-chrome.list ne contient qu'une seule ligne d'aptitude et il est également répertorié dans google.list fichier nous pouvons supprimer ce fichier en toute sécurité avec la commande

sudo rm /etc/apt/sources.list.d/google-chrome.list

Ensuite, le problème a été résolu.


225
2017-09-05 17:33



+1 C'est une excellente réponse. Correction du problème et explication complète de la raison de ce problème. - akmad
Qu'est-ce que j'ai fait pour que je crée des doublons dans mes sources.list.d? - Seanny123
Merci beaucoup. Je me demandais combien d'heures les doublons se produisaient. Enfin vous avez montré sources.list.d - Isura Manchanayake
Réponse agréable et approfondie. Dans ton Mise à jour pour gérer les fichiers de sources.list.d dir vous expliquez quels sont les fichiers / lignes donnant les doublons. Pourriez-vous expliquer de la même manière quelles sont les 6 paires de lignes (puisque vous dites "votre fichier contient 6 doublons") dans l'OP qui donne des doublons? - sancho.s
Le conseil pour vérifier mes sources.list.d était ce qui m'a aidé à résoudre ce problème. - lcarsos


Pour Ubuntu 12.04 

Graphiquement:

presse Alt + F2 et coller software-properties-gtk (ou vous pouvez ouvrir "Software Center" puis allez dans "Edit"> "Software Sources"). Allez à l'onglet "Autres logiciels", choisissez l'entrée en double et appuyez sur le bouton "Supprimer".

enter image description here


Si vous avez besoin d'une option de ligne de commande, la voici:

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  

La commande fait cela:

cat lit le fichier et transmet le contenu à perl qui supprime les lignes en double. Le résultat est alors enregistré > dans un fichier temporaire qui est ensuite déplacé pour remplacer l'original /etc/apt/sources.list fichier.


77
2018-05-04 22:27



Votre script a parfaitement fonctionné. - Lucio
Juste comment le réparer, sans confusion et tous les détails trop profonds. Je vous remercie! - P.M
Cela a fonctionné! Pour une raison quelconque, n'a pas pu installer git sur un 12.04 non plus. Au lieu de supprimer, je viens de vérifier les "partenaires canoniques" dupliqués. - davidkonrad
J'ai couru le one-liner, mais sudo apt-get update se plaint toujours des doublons comme si rien ne changeait. Si c'est important, je suis sur 12.04 (en particulier, OS élémentaire Luna). - waldyrious
le cat est inutile et vous empêche d'utiliser sudo perl -i - tripleee


Quelle est la gravité des entrées en double dans sources.list?

Je ne sais pas à quel point c'est grave, mais je n’aime pas sudo apt-get update en me montrant des entrées en double.

Au fait, ce n'est pas si grave, c'est juste pour vous montrer que vous avez des entrées en double.

SourcesList

Le fichier sources.list est un facteur clé pour ajouter ou mettre à niveau des applications sur votre installation Ubuntu. Ceci est également utilisé par votre système pour les mises à jour du système. Le fichier est essentiellement la feuille de route de votre système pour savoir où télécharger des programmes pour l’installation ou la mise à niveau.

C'est juste comme la mise à jour de Windows

Vous pouvez supprimer les entrées en double en quelques étapes faciles avec Y PPA Manager

 sudo add-apt-repository ppa:webupd8team/y-ppa-manager -y
 sudo apt-get update
 sudo apt-get install y-ppa-manager -y

Ouvrir y-ppa-manager forme Tiret

Entrez votre mot de passe administrateur

enter image description here

Double-cliquez sur Avancé

enter image description here

Numérisez et supprimez les PPA en double et cliquez sur OK

enter image description here

Cela prendra du temps (1 ou 2 Mints) Pour analyser et supprimer des PPA en double


22
2018-05-08 05:36



Dans mon cas, Y PPA n'arrêtait pas de dire qu'il n'y avait pas de doublons. J'ai fait une sauvegarde de la source.list enlevée, et j'ai lancé sudo apt-get update pour recréer la liste des sources (Ubuntu 12.04). Cela a fonctionné pour moi. - michel.iamit
Travaillé pour moi à la Monnaie 17, merci mec! - spences10
Travaillé pour moi sur Ubuntu 14.04 .. Merci mon pote .. :) - Rahul Singh
travaillé comme un charme - vector
Dans mon cas le 14.04, il continue à dire Aucun duplicata trouvé - Muhammad Omer Aslam


Le référentiel partenaire est dupliqué à l'intérieur /etc/apt/sources.list et /etc/apt/sources.list.d/precise-partner.list.

Supprimez simplement ces fichiers "partenaires précis" car le référentiel partenaire est déjà présent dans sources.list.

sudo rm /etc/apt/sources.list.d/precise-partner.*

16
2017-09-01 19:20



Je suis en train rm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory - Dennis
Essayer sudo rm /etc/apt/sources.list.d/*partner*. Vérifiez également votre /etc/apt/sources.list, recherchez les lignes en double. - Eric Carvalho
Pas de chance, je n'ai aucun fichier avec "partenaire" dans le nom de ce répertoire. Et /etc/apt/sources.list ne contient pas de doublons selon uniq. - Dennis


Faites une copie de sauvegarde de vos sources.list:

sudo cp /etc/apt/sources.list{,.backup}

Maintenant, supprimez l'original et mettez à jour:

sudo rm /etc/apt/sources.list && sudo apt-get update

10
2017-07-04 05:16



Comment peut-il mettre à jour sans sources.list fichier? - Anwar
Il repeuplera. =) - wojox
@wojox Cela fonctionne, merci. - quantme
le mien n'a pas repeuplé - conman253
Revenez à celui que vous avez sauvegardé - wojox


J'ai eu le même problème, ouvrir des sources de logiciels. non cochée "Partenaires Canonical". Le conflit est entre "Partenaires Canonical" et "Partenaires Canonical Ajouté par Software Center"


8
2018-04-11 05:11





Si vous ne pouviez pas le comprendre dans votre source.list, alors faites ceci:

  1. Cliquez avec le bouton gauche de la souris sur l'icône des paramètres (dans le coin supérieur de votre écran) et sélectionnez Paramètres système.
  2. Cliquez sur Sources de logiciels et passez à Autres logiciels.
  3. Désélectionnez l'un des logiciels «Canonical Partners (Code source) fournis par Canonical pour les fichiers de leurs partenaires et l'un des logiciels« Canonical Partners »fournis par Canonical pour les fichiers de leurs partenaires, puis cliquez sur Fermer pour quitter.
  4. Appuyez simultanément sur CTRL + ALT + T touches pour ouvrir le terminal et taper sudo apt-get update.

7
2018-04-11 06:15



J'ai suivi vos suggestions, mais je reçois toujours cette erreur. - hsinxh
S'il vous plaît, postez l'image de vos sources de logiciels ici pour connaître le coupable. - all4naija
S'il vous plaît, postez l'image de votre "Autre logiciel" ici. - all4naija


Pour Ubuntu 9.10 - 12.04

Il existe une application appelée Y-PPA-Manager qui peut faire cela et bien plus encore.

Vous pouvez l'installer comme ça depuis un terminal:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get upgrade
sudo apt-get install y-ppa-manager

Après cela, lancez simplement l'application et allez dans le menu Avancé.

enter image description here

Puis sélectionnez "Analyser et supprimer les PPA en double" et cliquez sur OK.

enter image description here


5
2018-05-06 13:25



C'est un outil génial mais ça ne résout pas le problème. J'ai fait ce choix et après cela, j'ai les mêmes avertissements. - nazar_art