Fehler :: Sie müssen einige 'Quell'-URIs in Ihre sources.list einfügen

107

Ich versuche, PIL ein Python-Modul auf Ubuntu zu installieren

Ich muss zuerst ein Paket namens Python-Imaging mit dem folgenden Befehl installieren

sudo apt-get build-dep python-imaging

Wenn ich dies versuche, erhalte ich den Fehler

E: You must put some 'source' URIs in your sources.list

Ich habe diese Frage gesehen, die zeigt, wie man das Problem über die GUI behebt, aber ich benutze die Befehlszeile. Weiß jemand, wie ich diesen Fehler beheben kann ..?

UPDATE: Aufgrund der folgenden Antworten habe ich meine Paketliste aktualisiert, aber jetzt erhalte ich diesen Fehler. Ich bin nicht sicher, ob es damit zusammenhängt. Andernfalls starte ich eine neue Frage, da ich nirgendwo einen Verweis auf den Fehler finden kann.

E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements  
David
quelle
Die erste Fehlermeldung ist ziemlich verwirrend. Es wird angezeigt, obwohl einige Quellen in der Datei vorhanden sind, während die Meldung impliziert, dass überhaupt keine Quellen vorhanden sind. Was die Nachricht zu sagen versucht, ist, dass Sie eine Quelle HINZUFÜGEN müssen, die die Informationen enthält.
Sören

Antworten:

100

software-properties-gtk Option "Quellcode"

Ich empfehle dies für den Desktop:

software-properties-gtk

Klicken Sie dann auf der Registerkarte "Ubuntu-Software" auf "Quellcode":

Bildbeschreibung hier eingeben

Dies hat einige deb-srcZeilen unter hinzugefügt /etc/apt/sources.list, und jetzt kann ich tun sudo apt-get build-dep <package>.

Ich habe keine saubere CLI-Methode gefunden und daher diesen Fehlerbericht erstellt: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718

Getestet unter Ubuntu 16.04 bis 18.04.

CLI-Methode

Ich empfehle dies für Docker-Images:

sudo cp /etc/apt/sources.list /etc/apt/sources.list~
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update

Getestet auf dem Ubuntu 18.04 Docker-Image. Nach dieser Änderung kann ich zum Beispiel erfolgreich machen:

sudo apt-get build-dep hello

und vor der Änderung schlug es mit dem Fehler fehl:

E: You must put some 'source' URIs in your sources.list

Vorhergehend erwähnt unter: https://askubuntu.com/a/1011675/52975 Gehen Sie und stimmen Sie dieser Antwort zu.

Beachten Sie jedoch, dass die /etc/apt/sources.listDatei folgende Zeilen enthält:

# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

Dies bedeutet, dass die oben genannten sedQuellen für einige Arten von Repos aktiviert werden, jedoch keine Quellen. Ich denke aber nicht, dass es wichtig ist.

Ciro Santilli ist ein Schauspieler
quelle
5
Dies funktionierte nur für mich mit Ubuntu 16.04
oder Duan
2
Auch für mich gelöst auf Ubuntu 18.04
kramer65
2
@kilgoretrout "Wie lautet die akzeptierte Antwort?" Weil Google-Suchtreffer die genaue Fragensemantik schlagen.
Ciro Santilli新疆改造中心法轮功六四事件
1
Sehr cool! Muss ich lieben sed!
Esben Eickhardt
1
Arbeiten in 19.04
Haris
50

Sie können die Quellenliste ( /etc/apt/sources.list) direkt bearbeiten . Ich denke, Sie müssen diese Zeilen hinzufügen / auskommentieren:

deb-src http://archive.ubuntu.com/ubuntu trusty main restricted #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #Added by software-properties
deb-src http://security.ubuntu.com/ubuntu trusty-security restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-proposed restricted main universe multiverse #Added by software-properties

Ich habe das durch Deaktivieren der Quellcode-Option und Speichern einer Kopie der Datei sources.list, Aktivieren der Quellcode-Option, Speichern einer weiteren Kopie und Ausführen diffbeider Optionen gelöst .

Möglicherweise möchten Sie das Präfix http://gb.in das Präfix der anderen Quellen in Ihrer Liste ändern (sodass der nächstgelegene Repo-Spiegel verwendet wird). Sie können das auch ignorieren #Added by software-properties.

sources.listFühren Sie das sudo apt-get updateProgramm nach dem Bearbeiten aus , bevor Sie erneut versuchen, es zu installieren.

Das vollständige diffkann hier gefunden werden


Ein anderer Weg ist, einen neuen zu generieren. Eine Methode, um eine vollständige sources.list zu erhalten, ist die Verwendung dieser Site: https://repogen.simplylinux.ch/

Wilf
quelle
7
"Führen Sie nach dem Bearbeiten von sources.list sudo apt-get update aus, bevor Sie erneut versuchen, es zu installieren." - Das war der Schlüssel, danke!
Kaushal Modi
9
sudo sed -i-es / # deb-src / deb-src / '/etc/apt/sources.list
Vincent
1
danke Kumpel für mich daran erinnern, dass$ sudo apt update
Christianbueno.1
@Vincents
27

Bearbeiten /etc/apt/sources.list

sudo nano /etc/apt/sources.list

Entfernen #oder fügen Sie dann Zeilen hinzu deb-src $url, zum Beispiel mit:

deb http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted
deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted

Oder kopieren Sie aus den vorhandenen Zeilen, z

deb blah blah
deb-src exact same blah blah

Dann renne:

sudo apt-get update

Weitere Informationen finden Sie unter https://help.ubuntu.com/community/Repositories/CommandLine .

Panther
quelle
17
exec sudo apt-get updatenach der Bearbeitung der sources.listDatei
abidibo
4

Hier ist die Befehlszeilenlösung

cat /etc/apt/sources.list | grep deb-src  #  see what will get changed

typische Ausgabe von über cmd

# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://archive.canonical.com/ubuntu bionic partner
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://archive.ubuntu.com/ubuntu bionic main universe restricted multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse

Wenn Sie gut über die Zeilen wechseln, was bei einer neuen Ubuntu-Installation immer der Fall ist, stellen Sie Folgendes sicher:

sudo sed -i~orig -e 's/# deb-src/deb-src/' /etc/apt/sources.list   

Dabei wird eine Sicherungskopie der Eingabedatei erstellt und anschließend nach auskommentiertem deb-src gesucht, in dem der Kommentar entfernt wird, um diese Zeilen zu aktivieren. Nach dem Aktualisieren der lokalen Metadaten wird Ihr Computer auf neue Kategorien von Ubuntu-Paketen aufmerksam gemacht

sudo apt-get update

Geben Sie jetzt noch einmal Ihren ursprünglichen Befehl ein, der fehlgeschlagen ist mit:

E: You must put some 'source' URIs in your sources.list
Scott Stensland
quelle
1
Sie können den cp überspringen und -i~origmit sed das Backup erstellen lassen.
muru
3

Für Ubuntu 16.04 habe ich diese Updates erfolgreich in sources.list vorgenommen:

$ sudo diff /etc/apt/sources.list /etc/apt/sources.list.bkp 

6c6
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial main restricted
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial main restricted

19c19
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial universe
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial universe

39c9
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse

53c53
< deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
---
> # deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
user3226232
quelle
2

In Linux Mint (ich bin auf Version 18) können Sie zu Software Sources gehen (suchen Sie es im Startmenü oder öffnen Sie es von einem Terminal mit software-sources). Dort finden Sie auf der ersten Registerkarte ein Kontrollkästchen Quellcode-Repositorys aktivieren . Wenn Sie dies aktivieren, fügt das Programm die richtigen Zeilen in Ihre /etc/apt/sources.list.d/official-source-repositories.listDatei ein. Vergessen Sie aber nicht sudo apt-get update(oder drücken Sie aktualisieren den Cache in den Softwarequellen) danach.

Jitter
quelle