Comment réparer "W: Duplicate sources.list entry"?

185

Je continue à recevoir 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

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

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?

    
posée hsinxh 10.04.2012 - 08:31
la source

25 réponses

223

Votre sources.list contient réellement des doublons.

Premier 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 destiné aux paquets binaires, qui sont hébergés dans lien et que ce dépôt est destiné à Ubuntu precise (12.04) et ce dépôt contient les principaux composants (logiciels officiellement supportés par Canonical).

  • Tapez: 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.

  • Dist-name : nom de la distribution de la version Ubuntu. Pour Ubuntu 12.04, il s'agit de precise , pour 11.10, il s'agit de 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 s'agir de main , universe , multiverse et restricted . Ces mots indiquent le niveau de prise en charge des packages et le statut de la licence.

Consultez 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, bien que vous ajoutiez plusieurs composants sur une seule ligne, le système APT les considère comme une ligne distincte contenant un seul composant.

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

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

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

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

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 deux fois universe , 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 fichier sources.list , j'ai trouvé que, c'est un fichier de base 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 d'abord le fichier sources.list existant en fichier sources.list.bak . (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. Ouvrez ensuite software-properties-gtk pour en créer un nouveau. Tapez la commande ci-dessous dans un terminal ou dans une invite de commande à l'aide de Alt + F2

    software-properties-gtk
    

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

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

    • Sélectionnez les quatre catégories dans l'onglet Logiciel Ubuntu
    • Dans la catégorie Mises à jour , sélectionnez la catégorie Sécurité précise , précises-mises à jour et précision-backports . li>
    • Sélectionnez l'onglet Partenaire Canonical et Independent dans l'onglet Autres logiciels .

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

Mise à jour pour gérer les fichiers de sources.list.d dir

Parfois, une entrée en double peut se trouver dans un fichier du répertoire /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 affichait ce message d'erreur lors de l'exécution de 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 dans le fichier /etc/apt/sources.list principal. En regardant le répertoire /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 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 doublons dans les sources d'Apt. Puisque google-chrome.list ne contient qu'une seule ligne apt et qu'il est également répertorié dans le fichier 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 a été résolu.

    
réponse donnée Anwar 05.09.2012 - 19:33
la source
77

Pour Ubuntu 12.04

Graphiquement:

Appuyez sur Alt + F2 et collez software-properties-gtk (ou vous pouvez ouvrir "Software Center" puis allez dans "Modifier" & gt; "Sources de logiciels"). Allez à l'onglet "Autres logiciels", choisissez l'entrée en double et appuyez sur le bouton "Supprimer".

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 , ce 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 /etc/apt/sources.list d'origine.

    
réponse donnée desgua 05.05.2012 - 00:27
la source
22

Dans quelle mesure les entrées en double dans sources.list sont-elles mauvaises?

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

Au fait, ce n’est pas si mal que ça, cela montre simplement que vous avez des doublons.

Liste de sources

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 d’installation ou de mise à niveau.

C'est comme la mise à jour de Windows

  

Vous pouvez supprimer les entrées en double en quelques étapes simples 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 le formulaire y-ppa-manager Dash

  

Entrez votre mot de passe administrateur

  

Double-cliquez sur Avancé

  

Scan & amp; Supprimer les fichiers PPA et amp; Cliquez sur OK

  

Cela prendra du temps (1 ou 2 Mint) Supprimer les PPA en double

    
réponse donnée Qasim 08.05.2013 - 07:36
la source
16

Le référentiel partenaire est dupliqué dans /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.*
    
réponse donnée Eric Carvalho 01.09.2012 - 21:20
la source
10

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
    
réponse donnée wojox 04.07.2012 - 07:16
la source
8

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"

    
réponse donnée Amjed 11.04.2012 - 07:11
la source
7

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

  1. Cliquez avec le bouton gauche de la souris sur l'icône des paramètres (située 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écochez l'un des logiciels «Partenaires Canonical (code source) fournis par Canonical pour les fichiers de leurs partenaires et l'un des logiciels« Partenaires Canonical »fournis par Canonical pour les fichiers de leurs partenaires, puis cliquez sur Fermer pour partir.
  4. Appuyez simultanément sur les touches CTRL + ALT + T pour ouvrir le terminal et tapez sudo apt-get update .
réponse donnée all4naija 11.04.2012 - 08:15
la source
5

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

Ensuite, lancez l'application et accédez au menu Avancé.

Ensuite, sélectionnez "Analyser et supprimer les PPA en double" et appuyez sur OK.

    
réponse donnée rearlight 06.05.2012 - 15:25
la source
5

10.10 et plus tôt

Applications & gt; Ubuntu Software Center & gt; Modifier & gt; Sources de logiciels & gt; Autres logiciels

OU

Système & gt; Administration & gt; Synaptic Packet Manager & gt; Paramètres & gt; Référentiels

Sélectionnez et supprimez les entrées en double.

    
réponse donnée Sid 18.11.2010 - 16:43
la source
4

Il semble que vous ayez deux lignes identiques dans votre fichier /etc/apt/sources.list .

Accédez au terminal et entrez sudo editor /etc/apt/sources.list , puis recherchez des lignes identiques dans ce fichier et, si vous les trouvez, supprimez-les. Après avoir terminé, enregistrez et quittez, puis faites sudo apt-get update et cela devrait résoudre votre problème.

Si cela ne résout pas votre problème, vous devrez utiliser une approche par essais et erreurs. Commencez par créer une sauvegarde de votre fichier sources.list , puis, dans le fichier actuel, passez en revue et supprimez ou supprimez chaque ligne, sauvegardez et apt-get update -ing après chaque commentaire ou suppression de chaque ligne. En parcourant ce fichier ligne par ligne en commentant différentes lignes, vous finirez par vous dire quelle ligne est la plus superficielle. N'oubliez pas de décommenter toutes les lignes que vous avez commentées si apt-get update affiche toujours la même invite, sinon vous ne disposerez d'aucune source dans votre fichier sources.list .

    
réponse donnée Jeff Welling 10.04.2012 - 17:01
la source
4

J'ai cherché un tel outil, mais je n'ai trouvé aucun ...
Donc, j'ai fini par en coder une moi-même avec PHP .

Désolé pour le code source non organisé sale.

chkdup - Capture d'écran:

Auteur

Mubarak Alrashidi (DeaDSouL)

Exigences:

  1. PHP.
  2. sudo.

Installation:

  1. Ouvrez le terminal.
  2. Pour installer PHP si vous ne l’avez pas, tapez: sudo apt-get install php5 php5-cli .
  3. Téléchargez le chkdup .
  4. Extrayez le fichier où bon vous semble.
  5. Tapez: sudo sh install.sh .

Désinstaller:

  1. Ouvrez le terminal.
  2. Accédez au chemin dans lequel vous avez extrait l'outil.
  3. Tapez: sudo sh uninstall.sh .

Comment l'utiliser:

Ouvrez simplement le terminal et tapez sudo chkdup .

FAQ:

Que fait le fichier install.sh?

  • Le programme d’installation déplacera chkdup.php à /opt/ puis créera un lien symbolique dans /usr/bin/ .

Qu'en est-il du fichier uninstall.sh?

  • Le programme de désinstallation supprime les fichiers suivants:

    1. install.sh
    2. /opt/chkdup.php
    3. /usr/bin/chkdup
    4. lui-même uninstall.sh

L'utilisation de chkdup est-elle sûre?

  • Oui, car il effectue une sauvegarde des sources.list actuelles avant de tenter de faire quoi que ce soit. Mais je ne suis pas responsable si quelque chose est arrivé. La pleine responsabilité sera à vous.

Licence

Licence publique générale GNU

    
réponse donnée DeaDSouL 17.03.2011 - 01:19
la source
3

Avez-vous vérifié ls /etc/apt/sources.list.d/ ? Peut-être y a-t-il des référentiels "supplémentaires"?

    
réponse donnée koni_raid 11.04.2012 - 13:41
la source
2

Installez ubuntu-tweak et supprimez les entrées en double.

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

    
réponse donnée karthick87 18.11.2010 - 16:43
la source
1

Non, il n’existe pas une seule ligne de commande pour rechercher et supprimer les entrées en double dans le fichier /etc/apt/sources.list .

Cela est dû au fait que les lignes de commande suggérées, qui ne font que dupliquer la fonction de la commande uniq beaucoup plus simple, ne fonctionnent que sur un fichier SORTED et ne suppriment que les lignes ADJACENT. De plus, ces commandes ne supprimeront que les lignes composées d'une chaîne de caractères identique .

Les entrées en double signalées par apt-get update seront composées de doublons function , par exemple un référentiel inclus dans ses variantes i386 et amd64 . Le moyen le plus simple et le plus efficace de les supprimer est de noter quels sont les référentiels signalés en tant que doublons par apt-get update et de les supprimer via le Software Center . Ouvrez-le et choisissez Modifier - & gt; Sources de logiciels - & gt; onglet Autres logiciels . Recherchez simplement les entrées en double et décochez-les. (C'est aussi une opportunité de supprimer tous les référentiels source-code si vous ne compilez pas les packages).

Cependant, il convient de noter que apt-get update ne trouve pas seulement les entrées en double via sources.list , mais inclut les fichiers de référentiel situés dans /var/lib/apt/lists/ . La suppression des doublons ne supprimera que temporairement les messages d'erreur apt-get update si Ubuntu pense en avoir besoin, car les fichiers seront automatiquement réinstallés. Le fait que apt-get update signalera certains référentiels comme des doublons, puis suggère que vous exécutiez apt-get update lui-même pour les réparer, est un indice que vous n'avez vraiment pas besoin de vous soucier de ce message d'erreur.

    
réponse donnée Smarteralec 08.05.2012 - 00:00
la source
1

Dans mon cas, les doublons étaient dans le fichier prerequists-sources.list . J'ai pu continuer la mise à niveau en exécutant les commandes suivantes dans le terminal:

sudo mv /etc/apt/sources.list.d/prerequists-sources.list /tmp
sudo apt-get update

Ensuite, accédez à Update Manager et installez les mises à jour.

    
réponse donnée Mathijs Sterk 15.06.2012 - 10:18
la source
1

Eh bien, j'ai résolu le problème de l'entrée en double en renommant /etc/apt/sources.d (en tant que root) et en exécutant sudo apt-get update pour rétablir le répertoire et son contenu.

    
réponse donnée Seann 25.04.2013 - 21:36
la source
1

Nous avons parcouru /etc/apt/sources.list manuellement sudo nano /etc/apt/sources.list et supprimé les doublons. Après apt-get update , le problème a été résolu.

    
réponse donnée Anderverhaal 03.09.2013 - 14:01
la source
1

Dans /etc/apt/sources.list , vous devez commenter (ajouter # au début de la ligne) l'entrée du référentiel dupliqué et enregistrer les modifications. Après cela, répétez sudo apt-get update .

    
réponse donnée Snorri 28.05.2013 - 11:07
la source
1

Utilisez le générateur de listes de sources Ubuntu .

  • Exécutez sudo -H nautilus dans le terminal
  • Rechercher /etc/apt/sources.list
  • Cliquez avec le bouton droit de la souris et ouvrez le fichier avec un éditeur de texte (si vous cliquez dessus, cela ouvrira l'interface graphique du logiciel)
  • Copiez et collez simplement dans le sources.list et enregistrez.
  • Quittez le terminal et vous avez terminé.

Google semble avoir un problème, alors je suggère de laisser cela de côté. Je l'ai fait sur Ubuntu 12.10 (version Studio avec le bureau Ubuntu ajouté et Unity pour une autre connexion au bureau).

    
réponse donnée studiofreak 05.01.2013 - 15:29
la source
1

Modifiez simplement le fichier /etc/apt/sources.list (par exemple, utilisez sudo -H gedit /etc/apt/sources.list ) et supprimez la ligne en double ou mettez un # au début de la ligne.

    
réponse donnée Micha 14.12.2012 - 19:41
la source
1

J'essaie de compléter les possibilités offertes par d'autres utilisateurs utilisant un terminal, car c'est ce que vous avez demandé, principalement:

connectez-vous si vous utilisez une installation textuelle ou appuyez sur Alt + F2 et tapez gnome-terminal si vous utilisez une interface graphique

Puis tapez

sudo nano /etc/apt/sources.list

(pour mieux comprendre: dans le répertoire /etc , vous pouvez trouver (presque) tous les fichiers de configuration de votre ordinateur et dans le répertoire apt , vous trouvez le fichier souces.list qui contient tous les référentiels utilisés par APT ou installer et mettre à niveau le logiciel)

Modifiez le fichier en supprimant ou en commentant avec # au début de la ligne les lignes dupliquées.

Appuyez sur Ctrl + X pour quitter et appuyez sur y pour enregistrer le fichier (ou n pour quitter sans épargne).

Puis mettez à jour pour voir si vous l’avez corrigé:

sudo apt-get update

Amusez-vous bien!

    
réponse donnée Pitto 18.11.2010 - 18:12
la source
0
S="/etc/apt/sources.list" ;
S2="$S ${S}.d/*.list" ;
grep -b "^deb\'cat $S2 |
    grep -i "^deb[[:space:]]http" |
    sort |
    uniq -dc |
    sed -e 's;[[:space:]]\+[[:digit:]]\+[[:space:]]\+deb\(.\+$\);\1;g'\'$" $S2

* Interruptions de ligne insérées pour la lisibilité.

    
réponse donnée Tony Saratonev 04.07.2012 - 01:59
la source
0

Exécutez les opérations suivantes pour supprimer les doublons

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  
    
réponse donnée Stormvirux 14.09.2013 - 12:46
la source
0

Dans le cas de 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)

Ouvrir: sources.list.d

rm google.list

alors seulement google-chrome.list reste

    
réponse donnée Stevie G 25.05.2015 - 10:38
la source
0

C'est un travail approprié pour uniq qui omet les lignes en double et n'imprime que des entrées uniques, nous pouvons donc prendre la sortie de uniq et remplacer l'ancien fichier par la sortie de uniq :

 sort /etc/apt/sources.list | uniq > /tmp/sources && sudo mv /tmp/sources  /etc/apt/sources.list
    
réponse donnée Sergiy Kolodyazhnyy 24.11.2015 - 01:38
la source

Lire d'autres questions sur les étiquettes