Kesalahan :: Anda harus memasukkan beberapa URI 'sumber' di sources.list Anda

107

Saya mencoba menginstal PIL modul python di ubuntu

Pertama-tama saya perlu menginstal paket yang disebut pencitraan python menggunakan perintah berikut

sudo apt-get build-dep python-imaging

Ketika saya mencoba dan melakukan ini, saya mendapatkan kesalahan

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

Saya melihat pertanyaan ini yang menunjukkan bagaimana cara memperbaikinya melalui GUI tapi saya menggunakan baris perintah. Adakah yang tahu bagaimana saya bisa memperbaiki kesalahan ini ..?

UPDATE: Berdasarkan jawaban di bawah ini saya telah memperbarui daftar paket saya tetapi saya sekarang mendapatkan kesalahan ini. Tidak yakin apakah itu terkait, jika tidak, saya akan memulai pertanyaan baru karena saya tidak dapat menemukan referensi ke kesalahan di mana pun.

E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements  
David
sumber
Pesan kesalahan pertama cukup membingungkan. Itu muncul meskipun ada beberapa sumber dalam file sementara pesan menyiratkan bahwa tidak ada sumber sama sekali. Pesan yang ingin disampaikan adalah Anda harus MENAMBAH sumber yang berisi info.
Sören

Jawaban:

100

software-properties-gtk opsi "kode sumber"

Saya merekomendasikan ini untuk desktop:

software-properties-gtk

lalu di bawah tab "Ubuntu Software" klik "Source code":

masukkan deskripsi gambar di sini

Ini telah menambahkan beberapa deb-srcbaris di bawah /etc/apt/sources.list, dan sekarang saya bisa melakukannya sudo apt-get build-dep <package>.

Saya tidak dapat menemukan metode CLI yang bersih sehingga saya membuat laporan bug untuknya: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718

Diuji pada Ubuntu 16.04 hingga 18.04.

Metode CLI

Saya merekomendasikan ini untuk gambar Docker:

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

Diuji pada gambar Docker Ubuntu 18.04. Setelah perubahan ini, saya bisa berhasil lakukan misalnya:

sudo apt-get build-dep hello

dan sebelum perubahan gagal dengan kesalahan:

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

Disebutkan sebelumnya di: https://askubuntu.com/a/1011675/52975 go dan upvote jawaban itu.

Perhatikan bahwa /etc/apt/sources.listfile tersebut berisi baris seperti:

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

yang berarti bahwa di atas sedakan memungkinkan sumber tetapi bukan sumber untuk beberapa jenis repo. Saya pikir itu tidak terlalu penting.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
sumber
5
Ini hanya bekerja untuk saya dengan ubuntu 16.04
Atau Duan
2
Juga menyelesaikannya untuk saya di Ubuntu 18.04
kramer65
2
@ siligetrout "bagaimana jawaban diterima" Karena pencarian Google hit mengalahkan semantik pertanyaan yang tepat.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
1
Sangat keren! Harus cinta sed!
Esben Eickhardt
1
bekerja di 19,04
Haris
50

Anda dapat mengedit daftar sumber ( /etc/apt/sources.list) secara langsung. Saya pikir Anda perlu menambahkan / menghapus komentar baris berikut ini:

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

Saya mengatasinya dengan menonaktifkan opsi kode sumber, dan menyimpan satu salinan file sources.list, lalu mengaktifkan opsi kode sumber, menyimpan salinan lain, kemudian menjalankan diffkeduanya.

Anda mungkin ingin mengubah awalan http://gb.ke awalan dari sumber lain dalam daftar Anda (jadi itu menggunakan mirror repo terdekat), dan Anda juga dapat mengabaikan #Added by software-properties.

Setelah mengedit sources.list, jalankan sudo apt-get updatesebelum mencoba menginstal lagi.

Lengkapnya diffdapat ditemukan di sini


Cara lain adalah dengan menghasilkan yang baru. Salah satu metode untuk mendapatkan sources.list lengkap adalah dengan menggunakan situs ini: https://repogen.simplylinux.ch/

Wilf
sumber
7
"Setelah mengedit sources.list, jalankan sudo apt-get pembaruan sebelum mencoba menginstal lagi." - Itu kuncinya, terima kasih!
Kaushal Modi
9
sudo sed -i -e / # deb-src / deb-src / '/etc/apt/sources.list
Vincent
1
terima kasih sobat untuk mengingat saya bahwa$ sudo apt update
christianbueno.1
Komentar @ Vincent cukup bagi saya dan sangat bersih
kilgoretrout
27

Sunting /etc/apt/sources.list

sudo nano /etc/apt/sources.list

Kemudian hapus #atau tambahkan baris dengan deb-src $url, misalnya:

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

Atau salin dari baris yang ada, mis

deb blah blah
deb-src exact same blah blah

Lalu lari:

sudo apt-get update

Lihat https://help.ubuntu.com/community/Repositories/CommandLine untuk informasi tambahan.

Harimau kumbang
sumber
17
exec sudo apt-get updatesetelah mengedit sources.listfile
abidibo
4

Berikut ini adalah solusi baris perintah

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

keluaran khas cmd di atas

# 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

jika Anda baik mengubah baris di atas, yang selalu benar pada instalasi ubuntu baru, maka terbitkan:

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

yang melakukan backup dari file input, kemudian pencarian untuk deb-src yang berkomentar di mana ia menghapus komentar untuk membuat baris-baris itu aktif ... mengikuti refresh metadata lokal akan memberikan mesin Anda kesadaran akan kategori baru dari paket-paket ubuntu

sudo apt-get update

sekarang berikan sekali lagi perintah asli Anda yang gagal dengan:

E: You must put some 'source' URIs in your sources.list
Scott Stensland
sumber
1
Anda dapat melewati cp dan menggunakannya -i~origdengan sed untuk membuat cadangan.
muru
3

Untuk Ubuntu 16.04, saya berhasil membuat pembaruan ini ke sources.list:

$ 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
pengguna3226232
sumber
2

Di Linux Mint (saya di versi 18) Anda dapat pergi ke Sumber Perangkat Lunak (mencarinya di menu mulai atau membukanya dari terminal dengan software-sources). Di sana, pada tab pertama, Anda akan menemukan kotak centang Aktifkan repositori kode sumber . Jika Anda mengaktifkan ini, program akan memasukkan baris yang benar ke dalam /etc/apt/sources.list.d/official-source-repositories.listfile Anda . Hanya saja jangan lupa untuk sudo apt-get update(atau tekan Perbarui cache di Sumber Perangkat Lunak) setelah itu.

naik opelet
sumber