Ihre sources.list enthält wirklich doppelte Einträge.
Zuerst sehen wir uns die korrekte Form einer Repository- oder Quellzeile an:
Das korrekte Format der Quellzeile des Repositorys lautet
<type of repository> <location> <dist-name> <components>
Eine Repo-Linie kann beispielsweise so aussehen
deb http://archive.ubuntu.com/ubuntu precise main
Hier bedeutet dies, dass das Repository für Binärpakete ist, die unter http://archive.ubuntu.com/ubuntu gehostet werden, und dieses Repository ist für Ubuntu exact (12.04) und dieses Repository enthält das Hauptverzeichnis (Software, die offiziell von unterstützt wird) Canonical) Komponente.
Typ: Der Typ kann deb
und sein deb-src
. deb
bedeutet ein binäres Repository, wobei deb-src
ein Quellrepository bedeutet
http://archive.ubuntu.com/ubuntu
Speicherort : Speicherort des Repositorys.
Dist-Name: Der Distributionsname der Ubuntu-Version. Für Ubuntu 12.04 ist es das precise
, für 11.10 ist es das oneiric
.
Sie können das Ubuntu-Wiki besuchen, um eine aktualisierte Liste der Ubuntu-Versionen und ihrer Codenamen anzuzeigen .
Komponente: Es kann sein main
, universe
, multiverse
und restricted
. Diese Wörter geben die Unterstützungsstufe für die Pakete und den Lizenzstatus an.
Weitere Informationen finden Sie auf dieser Seite .
Bitte beachten Sie, dass Sie eine oder mehrere Komponenten in eine Zeile einfügen können, sodass "main", "universe", "restricted" und "multiverse" in einer einzelnen Zeile stehen können. Beachten Sie auch: Obwohl Sie mehr als eine Komponente in eine einzelne Zeile einfügen, betrachtet das APT-System diese als separate Zeile, die nur eine Komponente enthält.
Also, wenn du sources.list
eine Zeile wie diese hast
deb http://archive.ubuntu.com/ubuntu precise universe
Dann kann es keine weitere Zeile wie die folgende geben (welche Ihre Dateien haben)
deb http://archive.ubuntu.com/ubuntu precise main universe
Das ist gleichbedeutend mit diesen beiden Zeilen
deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe
Da Sie das Universum zweimal duplizieren , tritt für dieses Duplikat ein Fehler auf. Für jedes gefundene Duplikat wird ein Fehler ausgegeben.
Lösung:
Nach der Analyse Ihrer sources.list
Datei habe ich festgestellt, dass es sich um eine grundlegende Datei handelt, die standardmäßig von Ubuntu bereitgestellt wird. Sie können eine Standarddatei wie folgt erstellen:
Öffnen Sie ein Terminal und benennen Sie zuerst die vorhandene sources.list
Datei in sources.list.bak
Datei um. (Wir können das sicher entfernen, aber Vorsicht ist gut).
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
Dann öffnen Sie software-properties-gtk
, um ein neues zu bauen. Geben Sie den folgenden Befehl in ein Terminal oder in eine Bindestrich-Eingabeaufforderung ein, indem Sie Alt+ drückenF2
software-properties-gtk
Beachten Sie, dass Sie für Ubuntu Version 11.10 oder früher gksu
vor dem software-properties-gtk
Befehl verwenden müssen
Nachdem das Fenster geöffnet ist,
- Wählen Sie auf der Registerkarte Ubuntu-Software alle vier Kategorien aus
- Wählen Sie auf der Registerkarte " Updates" die Kategorie " Präzise Sicherheit" , " Präzise Updates" und " Präzise Backports " aus .
- Wählen Sie auf der Registerkarte " Andere Software" die Kategorie " Canonical Partner" und " Unabhängig " aus .
Das ist es. Sie haben jetzt eine Standarddatei sources.list
ohne Fehler. Vergleichen Sie diese Datei mit der vorherigen, wenn Sie möchten.
Aktualisieren Sie, um mit sources.list.d
den Dateien von dir umzugehen
Manchmal kann sich ein doppelter Eintrag in einer Datei im /etc/apt/sources.list.d
Verzeichnis befinden, die auch von APT verwendet wird. Sie sollten also in diesem Verzeichnis nachsehen, ob sich in diesen Dateien Duplikate befinden. Es ist nicht erforderlich, dass sich Duplikate in derselben Datei befinden.
Beispielfall:
Bei einem Benutzer wurde diese Fehlermeldung angezeigt 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
Es gab aber keinen Eintrag mit http://dl.google.com
in der Hauptdatei /etc/apt/sources.list
. Beim Betrachten des /etc/apt/sources.list.d/
Verzeichnisses haben wir folgende Dateien gefunden:
Ausgabe von 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
Die Dateien google-chrome.list
und google.list
waren gute Kandidaten für die Aufnahme von Duplikaten. Daher war es notwendig, den Inhalt beider Dateien zu überprüfen.
Ausgabe von cat /etc/apt/sources.list.d/google-chrome.list
:
deb http://dl.google.com/linux/chrome/deb/ stable main
und von cat /etc/apt/sources.list.d/google.list
deb http://dl.google.com/linux/chrome/deb/ stable main
Es gab also doppelte Einträge in den Quellen von Apt. Da google-chrome.list
nur eine einzige apt-Zeile enthalten ist und diese auch in der google.list
Datei aufgeführt ist, können wir diese Datei mit dem Befehl sicher entfernen
sudo rm /etc/apt/sources.list.d/google-chrome.list
Dann war das Problem gelöst.
Für Ubuntu 12.04
Grafisch:
Drücken Sie Alt+ F2und fügen Sie es ein
software-properties-gtk
(oder öffnen Sie "Software Center" und gehen Sie zu "Bearbeiten"> "Softwarequellen"). Gehen Sie zur Registerkarte "Andere Software", wählen Sie den doppelten Eintrag aus und klicken Sie auf die Schaltfläche "Entfernen".Wenn Sie eine Befehlszeilenoption benötigen, ist dies hier:
Der Befehl führt Folgendes aus:
cat
Liest die Datei und übergibt den Inhalt, anperl
den die doppelten Zeilen entfernt werden. Das Ergebnis wird dann>
in einer temporären Datei gespeichert, die dann verschoben wird, um die ursprüngliche/etc/apt/sources.list
Datei zu ersetzen .quelle
sudo apt-get update
beklage mich aber immer noch über doppelte Einträge, als ob sich nichts geändert hätte. Wenn es darauf ankommt, bin ich am 12.04 (genauer gesagt, elementares OS Luna).cat
ist nutzlos und verhindert, dass Siesudo perl -i
Wie schlimm sind doppelte Einträge in sources.list?
Ich weiß nicht, wie schlimm es ist, aber ich mag es nicht, wenn sudo apt-get update mir doppelte Einträge anzeigt.
Übrigens ist es nicht so schlimm, es zeigt Ihnen nur, dass Sie doppelte Einträge haben.
SourcesList
Die Datei sources.list ist ein Schlüsselfaktor beim Hinzufügen oder Aktualisieren von Anwendungen zu Ihrer Ubuntu-Installation. Dies wird auch von Ihrem System für Systemaktualisierungen verwendet. Die Datei ist im Grunde genommen die Roadmap für Ihr System, um zu wissen, wo es Programme zur Installation oder Aktualisierung herunterladen kann.
Es ist genau wie Windows Update
Öffnen Sie das y-ppa-manager Formular Dash
quelle
Das Partner-Repository wird in
/etc/apt/sources.list
und dupliziert/etc/apt/sources.list.d/precise-partner.list
.Entfernen Sie einfach diese "Partner-genauen" Dateien, da das Partner-Repository bereits in vorhanden ist
sources.list
.quelle
rm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
sudo rm /etc/apt/sources.list.d/*partner*
. Überprüfen Sie auch Ihre /etc/apt/sources.list und suchen Sie nach doppelten Zeilen./etc/apt/sources.list
enthält laut keine Duplikateuniq
.Erstellen Sie eine Sicherungskopie Ihrer sources.list:
Entfernen Sie nun das Original und aktualisieren Sie:
quelle
sources.list
Datei aktualisieren ?Ich hatte das gleiche Problem, offene Softwarequellen. Deaktiviert "Canonical Partners". Der Konflikt besteht zwischen "Canonical Partners" und "Canonical Partners Added by Software Center"
quelle
Wenn Sie es in Ihrem nicht herausfinden konnten
source.list
, dann tun Sie dies:sudo apt-get update
.quelle
10.10 und früher
Anwendungen> Ubuntu Software Center> Bearbeiten> Softwarequellen> Andere Software
ODER
System> Administration> Synaptic Packet Manager> Einstellungen> Repositorys
Doppelte Einträge auswählen und entfernen.
quelle
Für Ubuntu 9.10 - 12.04
Es gibt eine App namens Y-PPA-Manager, die das und vieles mehr kann.
Sie können es wie folgt von einem Terminal aus installieren:
Starten Sie danach einfach die Anwendung und gehen Sie zum Menü Erweitert.
Wählen Sie dann "Doppelte PPAs scannen und entfernen" und klicken Sie auf "OK".
quelle
Es hört sich so an, als hätten Sie zwei identische Zeilen in Ihrer
/etc/apt/sources.list
Datei.Gehen Sie zum Terminal und geben
sudo editor /etc/apt/sources.list
Sie ein. Suchen Sie dann nach identischen Zeilen in dieser Datei. Wenn Sie sie finden, löschen Sie sie. Wenn Sie fertig sind, speichern undsudo apt-get update
beenden Sie das Programm. Damit sollte das Problem behoben sein.Wenn das Ihr Problem nicht löst, müssen Sie einen Versuch-und-Irrtum-Ansatz verwenden. Erstellen Sie zunächst eine Sicherungskopie Ihrer
sources.list
Datei. Gehen Sie dann in der eigentlichen Datei durch und kommentieren Sie jede Zeile aus oder löschen Sie sie. Speichern undapt-get update
-en Sie sie, nachdem jede Zeile auskommentiert oder gelöscht wurde. Wenn Sie diese Datei Zeile für Zeile durchgehen und verschiedene Zeilen auskommentieren, erfahren Sie schließlich, welche Zeile die überflüssige ist. Vergessen Sie nicht, alle von Ihnen kommentierten Zeilen aus dem Kommentar zu entfernen, wennapt-get update
immer noch dieselbe Eingabeaufforderung angezeigt wird. Andernfalls verbleiben in Ihrersources.list
Datei keine Quellen .quelle
Ich habe nach einem solchen Werkzeug gesucht, aber keines gefunden ...
Also habe ich selbst eines programmiert
PHP
.Entschuldigung für den schmutzigen unorganisierten Quellcode.
chkdup - Screenshot:
Autor
Mubarak Alrashidi (DeaDSouL)
Bedarf:
Installation:
sudo apt-get install php5 php5-cli
.sudo sh install.sh
.Deinstallation:
sudo sh uninstall.sh
.Wie man es benutzt:
Öffnen Sie einfach das Terminal und tippen Sie
sudo chkdup
.FAQs:
Was macht die install.sh?
chkdup.php
nach und erstellt/opt/
dann einen symbolischen Link in/usr/bin/
.Was ist mit der uninstall.sh?
Das Deinstallationsprogramm entfernt die folgenden Dateien:
install.sh
/opt/chkdup.php
/usr/bin/chkdup
uninstall.sh
Ist es sicher, chkdup zu benutzen?
Lizenz
GNU General Public License
quelle
Hast du nachgesehen
ls /etc/apt/sources.list.d/
? Vielleicht haben Sie einige "zusätzliche" Repositorys?quelle
Installiere ubuntu-tweak und entferne die doppelten Einträge von dort.
quelle
Nein, es gibt keine einzige Befehlszeile, um doppelte Einträge in der
/etc/apt/sources.list
Datei zu finden und zu löschen .Dies liegt daran, dass die vorgeschlagenen Befehlszeilen, die lediglich die Funktion des viel einfacheren integrierten
uniq
Befehls duplizieren , nur für eine SORTED-Datei funktionieren und nur ADJACENT-Zeilen entfernen. Außerdem werden mit diesen Befehlen nur Zeilen entfernt, die aus einer identischen Zeichenfolge bestehen .Doppelte Einträge berichtet von
apt-get update
wird von doppelten bestehen Funktion Einträge, wie ein Repository wird in seinen beiden enthalteni386
undamd64
Varianten. Die einfache und effektive Möglichkeit, diese zu entfernen, besteht darin, zu notieren, welche Repositorys von apt-get update als Duplikate gemeldet werden, und sie über das Software Center zu entfernen . Öffnen Sie es und wählen Sie Bearbeiten -> Softwarequellen -> Andere Software . Suchen Sie einfach nach den doppelten Einträgen und deaktivieren Sie sie. (Dies ist auch eine Möglichkeit,source-code
Repositorys zu entfernen, wenn Sie die Pakete nicht kompilieren).Es ist jedoch zu beachten, dass
apt-get update
nicht nur doppelte Einträge über gefunden werdensources.list
, sondern auch Repository-Dateien, die sich in befinden/var/lib/apt/lists/
. Wenn Sie doppelte Einträge von dort löschen, werden dieapt-get update
Fehlermeldungen nur vorübergehend entfernt , wenn Ubuntu dies für erforderlich hält, da die Dateien automatisch neu installiert werden. Die Tatsache, dassapt-get update
einige Repositorys als Duplikate gemeldet werden und dass Sie sichapt-get update
selbst ausführen , um sie zu reparieren, ist ein Hinweis darauf, dass Sie sich über diese Fehlermeldung wirklich keine Gedanken machen müssen.quelle
In meinem Fall waren die Duplikate in der
prerequists-sources.list
Datei. Ich konnte das Upgrade fortsetzen, indem ich die folgenden Befehle im Terminal ausführte:Gehen Sie dann zu
Update Manager
und installieren Sie die Updates.quelle
.list
reicht ausNun, ich habe das Problem mit doppelten Einträgen selbst gelöst, indem ich
/etc/apt/sources.d
(als root) etwas anderes benannt habe und ausgeführt habesudo apt-get update
, um das Verzeichnis und seinen Inhalt wiederherzustellen.quelle
Ging
/etc/apt/sources.list
manuell durchsudo nano /etc/apt/sources.list
und entfernte die Duplikate. Danachapt-get update
wurde das Problem gelöst.quelle
In
/etc/apt/sources.list
müssen Sie#
den doppelten Repository-Eintrag kommentieren ( am Zeilenanfang hinzufügen ) und die Änderungen speichern. Danach wiederholensudo apt-get update
.quelle
Verwenden Sie den Ubuntu Sources List Generator .
sudo -H nautilus
im Terminal/etc/apt/sources.list
sources.list
und speichern.Google scheint ein Problem zu haben, daher würde ich vorschlagen, das wegzulassen. Ich habe dies unter Ubuntu 12.10 getan (Studio-Version mit hinzugefügtem Ubuntu-Desktop und Unity für eine andere Desktop-Anmeldung).
quelle
Bearbeiten Sie einfach die Datei
/etc/apt/sources.list
(zum Beispiel verwendensudo -H gedit /etc/apt/sources.list
) und entfernen Sie die doppelte Zeile oder setzen Sie ein#
an den Anfang der Zeile.quelle
Ich versuche, die von anderen Nutzern angebotenen Möglichkeiten mit Hilfe des Terminals zu vervollständigen, da Sie hauptsächlich danach gefragt haben:
Melden Sie sich an, wenn Sie eine textbasierte Installation verwenden, oder drücken Sie Alt+ F2und geben Sie gnome-terminal ein, wenn Sie eine grafische Benutzeroberfläche verwenden
Dann tippe
(Zum besseren Verständnis: Im Verzeichnis
/etc
finden Sie (fast) alle Konfigurationsdateien Ihres Computers und imapt
Verzeichnis diesouces.list
Datei, die alle Repositorys enthält, die APT zum Aktualisieren oder Installieren und Aktualisieren von Software verwendet.)Bearbeiten Sie die Datei, indem Sie
#
am Zeilenanfang doppelte Zeilen entfernen oder kommentieren .Drücken Sie Ctrl+ , Xum zu beenden , und drücken Sie ydie Datei zu speichern (oder nzu beenden , ohne zu speichern).
Dann aktualisieren Sie, um zu sehen, ob Sie es behoben haben:
Habe Spaß!
quelle
* Zeilenumbrüche zur besseren Lesbarkeit eingefügt.
quelle
Führen Sie Folgendes aus, um die Duplikate zu entfernen
quelle
Im Falle des
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)
Öffnen:
sources.list.d
rm google.list
so
google-chrome.list
bleibt nurquelle
Es ist ein geeigneter Job, bei
uniq
dem doppelte Zeilen weggelassen werden und nur eindeutige Einträge gedruckt werden. Daher können wir die Ausgabe deruniq
alten Datei übernehmen und durch die Ausgabe der alten Datei ersetzenuniq
:quelle
uniq
benötigt sortierte Eingabe.sort -u
macht den gleichen Job =)