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.