Votre sources.list a vraiment des entrées en double.
Voyons d'abord 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 prise en pension peut être comme 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 référentiel est pour Ubuntu precise (12.04) et ce référentiel contient les principaux (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.
Dist-name: nom de la distribution de la version Ubuntu. Pour Ubuntu 12.04, il en est ainsi que precise
pour 11.10 oneiric
.
Vous pouvez visiter le wiki d'Ubuntu pour afficher une liste mise à jour des versions d'Ubuntu et leurs noms de code .
Composant: Il 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, de sorte que "principal", "univers", "restreint" et "multivers" puissent figurer 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 ne contenant qu'un seul composant.
Donc, si vous sources.list
avez une ligne comme celle-ci
deb http://archive.ubuntu.com/ubuntu precise universe
Ensuite, il ne peut pas y avoir une autre ligne comme celle ci-dessous (qui contient vos fichiers)
deb http://archive.ubuntu.com/ubuntu precise main universe
qui est é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 un univers deux fois, il y aura donc une erreur pour ce duplicata. Une erreur sera donnée pour chaque duplicata trouvé.
Solution:
Après analyse de votre sources.list
fichier, 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 suivante:
Ouvrez un terminal et renommez d'abord le sources.list
fichier existant en 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
Ensuite, ouvrez- software-properties-gtk
en un nouveau. Tapez la commande ci-dessous dans une invite de commande de terminal ou au tiret en appuyant sur Alt+F2
software-properties-gtk
Remarque: pour Ubuntu version 11.10 ou antérieure, vous devez utiliser gksu
avant la software-properties-gtk
commande
Une fois la fenêtre ouverte,
- Sélectionnez les quatre catégories dans l' onglet Logiciel Ubuntu
- Sélectionnez -sécurité précises , précises-mises à jour et précises backports- catégorie dans les mises à jour onglet.
- Sélectionnez le partenaire Canonical et la catégorie indépendante dans l' onglet Autres logiciels .
C'est ça. Vous avez maintenant un sources.list
fichier par défaut sans erreur. Comparez ce fichier avec le précédent, si vous voulez.
Mise à jour pour traiter sources.list.d
les fichiers de dir
Parfois, une entrée en double peut se trouver dans un fichier du /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 se trouvent dans le même fichier.
Exemple de cas:
Un utilisateur avait ce message d'erreur affiché en faisant 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 aucune entrée avec http://dl.google.com
dans le /etc/apt/sources.list
fichier principal . 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
Donc, il y avait un doublon d'entrées dans les sources d'Apt. Comme il google-chrome.list
ne contient qu'une seule ligne apt et que celle-ci était également répertoriée dans un google.list
fichier, vous pouvez 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.
Pour Ubuntu 12.04
Graphiquement:
Appuyez sur Alt+ F2et collez
software-properties-gtk
(ou vous pouvez ouvrir "Centre logiciel" puis aller dans "Edition"> "Sources logicielles"). 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:
La commande fait ceci:
cat
lit le fichier et passe le contenuperl
auquel supprime les lignes en double. Le résultat est ensuite enregistré>
dans un fichier temporaire qui est ensuite déplacé pour remplacer le/etc/apt/sources.list
fichier d' origine .la source
sudo apt-get update
plains toujours des doublons, comme si rien ne changeait. Si cela compte, je suis sur 12.04 (plus précisément, OS Luna élémentaire).cat
est inutile et vous empêche d'utilisersudo perl -i
Quelle est la gravité des entrées en double dans sources.list?
Je ne sais pas à quel point c'est mauvais, mais je n'aime pas sudo apt-get update me montrant les entrées en double.
Soit dit en passant, ce n’est pas si grave, il vous montre simplement que vous avez des entrées en double.
SourcesList
Le fichier sources.list est un facteur clé lors de l'ajout ou de la mise à niveau d'applications à 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ù il peut télécharger des programmes pour l’installation ou la mise à niveau.
C'est comme la mise à jour Windows
Ouvert y-ppa-manager forme Dash
la source
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 "partenaire précis" car le référentiel partenaire est déjà présent dans
sources.list
.la source
rm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
sudo rm /etc/apt/sources.list.d/*partner*
. Vérifiez également votre /etc/apt/sources.list, recherchez les lignes en double./etc/apt/sources.list
ne contient pas de doublons selonuniq
.Faites une copie de sauvegarde de votre sources.list:
Maintenant, supprimez l'original et mettez à jour:
la source
sources.list
fichier?J'ai eu le même problème, les sources de logiciels ouverts. décoché "Partenaires Canoniques". Le conflit est entre "partenaires Canonical" et "partenaires Canonical Ajouté par logiciel Center"
la source
Si vous ne parvenez pas à le comprendre
source.list
, faites ceci:sudo apt-get update
.la source
10.10 et plus tôt
Applications> Centre de logiciel Ubuntu> Édition> Sources de logiciels> Autres logiciels
OU
Système> Administration> Synaptic Packet Manager> Paramètres> Référentiels
Sélectionnez et supprimez les entrées en double.
la source
Pour Ubuntu 9.10 - 12.04
Il existe une application appelée Y-PPA-Manager qui peut le faire et bien plus encore.
Vous pouvez l'installer comme ça depuis un terminal:
Après cela, lancez simplement l’application et accédez au menu Avancé.
Puis sélectionnez "Analyser et supprimer les PPA en double" et cliquez sur OK.
la source
On dirait que vous avez deux lignes identiques dans votre
/etc/apt/sources.list
fichier.Allez au terminal, entrez
sudo editor /etc/apt/sources.list
, puis recherchez les lignes identiques dans ce fichier et, si vous les trouvez, supprimez-les. Une fois que vous avez terminé, enregistrez et quittez, puis faitessudo 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. Tout d’abord, créez une sauvegarde de votre
sources.list
fichier, puis dans le fichier réel, mettez en commentaire ou supprimez chaque ligne, enregistrez-la et supprimez-la uneapt-get update
fois que chaque ligne a été commentée ou supprimée. En parcourant ce fichier ligne par ligne en commentant différentes lignes, vous pourrez éventuellement savoir quelle ligne est la plus superflue. N'oubliez pas de ne pas commenter les lignes que vous avez commentées si vous voyezapt-get update
toujours la même invite, sinon vous ne disposerez d'aucune source dans votresources.list
fichier.la source
J'ai cherché un tel outil, mais je n'en ai trouvé aucun ...
Alors, j'ai fini par en coder un moi-même
PHP
.Désolé pour le code source non organisé sale.
chkdup - Capture d'écran:
Auteur
Mubarak Alrashidi (DeaDSouL)
Exigences:
Installation:
sudo apt-get install php5 php5-cli
.sudo sh install.sh
.Désinstaller:
sudo sh uninstall.sh
.Comment l'utiliser:
Ouvrez simplement le terminal et tapez
sudo chkdup
.FAQ:
Que fait l'install.sh?
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 supprimera les fichiers suivants:
install.sh
/opt/chkdup.php
/usr/bin/chkdup
uninstall.sh
Est-ce sécuritaire d'utiliser chkdup?
Licence
Licence publique générale GNU
la source
Avez-vous vérifié
ls /etc/apt/sources.list.d/
? Peut-être que vous avez des dépôts "supplémentaires"?la source
Installez ubuntu-tweak et supprimez les entrées en double.
la source
Non, il n'y a pas une seule ligne de commande pour rechercher et supprimer les entrées dupliquées dans le
/etc/apt/sources.list
fichier.En effet, les lignes de commande suggérées, qui ne font que dupliquer la fonction de la
uniq
commande intégrée beaucoup plus simple , ne fonctionneront que sur un fichier SORTED et ne supprimeront 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 dupliquées rapportées par
apt-get update
consistera en double fonction des entrées, comme un dépôt étant inclus dans ses deuxi386
etamd64
variantes. Le moyen le plus simple et le plus efficace de les supprimer est de noter quels référentiels sont signalés comme des doublons par apt-get update et de les supprimer via le Centre de logiciel . Ouvrez-le et choisissez Edition -> Sources de logiciels -> onglet Autres logiciels . Il suffit de rechercher les entrées en double et de les décocher. (C’est aussi l’occasion de supprimer tous lessource-code
référentiels si vous ne compilez pas les packages).Cependant, notez que
apt-get update
non seulement les entrées en double sont trouvéessources.list
, mais inclut les fichiers de référentiel situés dans/var/lib/apt/lists/
. Supprimer les entrées en double à partir de là ne supprimera temporairement lesapt-get update
messages d'erreur que si Ubuntu pense en avoir besoin, car les fichiers seront automatiquement réinstallés. Le fait deapt-get update
signaler que certains référentiels sont des doublons, puis de suggérer que vous vous exécutiez vous-apt-get update
même pour les réparer, est un indice que vous n'avez vraiment pas besoin de vous inquiéter de ce message d'erreur.la source
Dans mon cas, les doublons étaient dans le
prerequists-sources.list
fichier. J'ai pu poursuivre la mise à niveau en exécutant les commandes suivantes dans le terminal:Ensuite, allez dans
Update Manager
et installez les mises à jour.la source
.list
est suffisantEh bien, j'ai moi-même résolu le problème de l'entrée en double en renommant
/etc/apt/sources.d
(en tant que root) un autre nom et en exécutantsudo apt-get update
pour rétablir le répertoire et son contenu.la source
Passé
/etc/apt/sources.list
manuellementsudo nano /etc/apt/sources.list
et enlevé les doublons. Aprèsapt-get update
, le problème a été résolu.la source
Dans
/etc/apt/sources.list
vous devez commenter (ajouter#
au début de la ligne) l'entrée de référentiel dupliquée et enregistrer les modifications. Après cette répétitionsudo apt-get update
.la source
Utilisez le générateur de liste de sources Ubuntu .
sudo -H nautilus
in terminal/etc/apt/sources.list
sources.list
et sauvegarder.Google semble avoir un problème, alors je suggérerais de le laisser de côté. Je l’ai fait sous Ubuntu 12.10 (version Studio avec bureau Ubuntu ajouté et Unity pour un autre bureau connecté).
la source
Il suffit de modifier le fichier
/etc/apt/sources.list
(par exemple utilisersudo -H gedit /etc/apt/sources.list
) et supprimer la ligne en double ou mettre un#
au début de la ligne.la source
J'essaie de compléter les possibilités offertes par d'autres utilisateurs utilisant un terminal, puisque c'est ce que vous avez demandé, principalement:
connectez-vous si vous utilisez une installation textuelle ou appuyez sur Alt+ F2et tapez gnome-terminal si vous utilisez l'interface graphique
Puis tapez
(Pour mieux comprendre: dans le répertoire,
/etc
vous pouvez trouver (presque) tous les fichiers de configuration de votre ordinateur et dans leapt
répertoire, vous trouverez lesouces.list
fichier contenant tous les référentiels utilisés par APT pour mettre à jour ou installer et mettre à niveau les logiciels)Editez le fichier en supprimant ou en commentant avec
#
au début de la ligne les lignes dupliquées.Appuyez sur Ctrl+ Xpour quitter et appuyez sur ypour enregistrer le fichier (ou npour quitter sans enregistrer).
Puis mettez à jour pour voir si vous l'avez corrigé:
S'amuser!
la source
* Les sauts de ligne insérés pour la lisibilité.
la source
Exécutez ce qui suit pour supprimer les doublons
la source
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)
Ouvert:
sources.list.d
rm google.list
donc seulement
google-chrome.list
restela source
C'est un travail approprié pour
uniq
lequel omet les doublons et n'imprime que des entrées uniques. Nous pouvons donc extraireuniq
et remplacer l'ancien fichier paruniq
:la source
uniq
a besoin d'entrées triées.sort -u
fait le même travail =)