193 votes

Comment corriger "W : Duplicate sources.list entry" ?

Je reçois cet avertissement à chaque fois que j'essaie d'exécuter 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

Voici le résultat 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 puis-je le réparer ?

233voto

Anwar Points 72431

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

Voyons d'abord la forme correcte d'une ligne de dépôt ou d'une ligne de source :

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

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

Par exemple, une ligne de repo peut être comme celle-ci

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

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

  • Type : Le type peut être deb y deb-src . deb signifie un dépôt binaire où deb-src désigne un référentiel de sources

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

  • Dist-name : Le nom de la 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 : Il peut être main , universe , multiverse y restricted . Ces mots indiquent le niveau de support pour les paquets 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, ainsi "main", "universe", "restricted" et "multiverse" peuvent être dans une seule ligne. Notez également que si vous ajoutez plus d'un composant sur une seule ligne, le système APT les considère comme des lignes distinctes ne contenant qu'un seul composant.

Donc, si votre sources.list avoir une ligne comme celle-ci

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

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

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

qui est l'équivalent de 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 doublon trouvé.

Solution :

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

  1. Ouvrez un terminal et renommez d'abord le fichier existant sources.list pour sources.list.bak fichier. (nous pouvons le supprimer sans risque, mais la prudence est de mise).

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
  2. Ensuite, ouvrez software-properties-gtk pour en construire un nouveau. Tapez la commande suivante dans un terminal ou dans l'invite de commande dash en appuyant sur Alt + F2

    software-properties-gtk

    Note, pour Ubuntu version 11.10 ou antérieure vous devez utiliser gksu avant le software-properties-gtk comando

  3. Après l'ouverture de la fenêtre,

    • Sélectionnez les quatre catégories dans Logiciel Ubuntu onglet
    • Sélectionnez sécurité précise , mises à jour précises y les backports précis catégorie en Mises à jour onglet.
    • Sélectionnez Partenaire de Canonical y Indépendant catégorie de Autres logiciels onglet.

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


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

Il arrive parfois qu'une entrée en double se trouve dans un fichier de la section /etc/apt/sources.list.d 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 a reçu ce message d'erreur pendant qu'il faisait 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 pour l'essentiel /etc/apt/sources.list fichier. En regardant le /etc/apt/sources.list.d/ 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 dossiers google-chrome.list y google.list étaient de bons candidats pour contenir des doublons. Il était donc nécessaire de vérifier le contenu des deux fichiers.

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 a donc eu un doublon dans les sources de l'Apt. Depuis google-chrome.list ne contient qu'une seule ligne d'apt et il était également répertorié dans google.list nous pouvons supprimer ce fichier en toute sécurité avec la commande

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

Le problème était alors résolu.

82voto

Bill K Points 32115

Pour Ubuntu 12.04

Graphiquement :

Appuyez sur Alt + F2 et coller software-properties-gtk (ou vous pouvez ouvrir "Software Center" puis aller à "Edit" > "Software Sources"). Allez dans 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 ensuite enregistré > dans un fichier temporaire qui est ensuite déplacé pour remplacer le fichier original. /etc/apt/sources.list fichier.

24voto

Qasim Points 21792

Quelle est la gravité des doublons dans le fichier sources.list ?

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

D'ailleurs, ce n'est pas si grave, il vous montre simplement que vous avez des entrées en double.

Liste des sources

Le fichier sources.list est un facteur clé pour l'ajout ou la mise à jour d'applications dans votre installation Ubuntu. Il est également utilisé par votre système pour les mises à jour du système. Ce fichier est essentiellement la feuille de route de votre système pour savoir où il peut télécharger des programmes pour l'installation ou la mise à niveau.

C'est comme la mise à jour de Windows

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

 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 formulaire Dash

Entrez votre mot de passe d'administrateur

enter image description here

Double-cliquez sur Advanced

enter image description here

Analyser et supprimer les PPA en double et cliquer sur Ok.

enter image description here

Cela prendra un certain temps (1 ou 2 minutes) pour analyser et supprimer les PPA en double.

16voto

Eric Carvalho Points 51571

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

Il suffit de supprimer ces fichiers "precise-partner" car le référentiel des partenaires est déjà présent dans sources.list .

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

10voto

Mats Fredriksson Points 7136

Faites une copie de sauvegarde de votre sources.list :

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

Maintenant, enlevez l'original et mettez à jour :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X