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