Error :: Debe poner algunos URI 'fuente' en su sources.list


107

Estoy tratando de instalar PIL un módulo de python en ubuntu

Primero necesito instalar un paquete llamado python-imaging usando el siguiente comando

sudo apt-get build-dep python-imaging

Cuando intento hacer esto me sale el error

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

Vi esta pregunta que muestra cómo solucionarlo a través de la GUI pero estoy usando la línea de comando. ¿Alguien sabe cómo puedo solucionar este error ...?

ACTUALIZACIÓN: según las respuestas a continuación, actualicé mi lista de paquetes pero ahora recibo este error. No estoy seguro de si está relacionado, si no, comenzaré una nueva pregunta, ya que no puedo encontrar ninguna referencia al error en ninguna parte.

E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements  

El primer mensaje de error es bastante confuso. Aparece aunque hay ALGUNAS fuentes en el archivo, mientras que el mensaje implica que no hay ninguna fuente. Lo que el mensaje intenta decir es que debe AGREGAR una fuente que contenga la información.
Sören

Respuestas:


102

software-properties-gtk opción "Código fuente"

Recomiendo esto para el escritorio:

software-properties-gtk

luego, en la pestaña "Software de Ubuntu", haga clic en "Código fuente":

ingrese la descripción de la imagen aquí

Esto ha agregado algunas deb-srclíneas debajo /etc/apt/sources.list, y ahora puedo hacerlo sudo apt-get build-dep <package>.

No pude encontrar un método CLI limpio, así que creo este informe de error: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718

Probado en Ubuntu 16.04 a 18.04.

Método CLI

Recomiendo esto para las imágenes de 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

Probado en la imagen Docker de Ubuntu 18.04. Después de este cambio, puedo hacer con éxito, por ejemplo:

sudo apt-get build-dep hello

y antes del cambio falló con el error:

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

Anteriormente mencionado en: https://askubuntu.com/a/1011675/52975 ve y vota esa respuesta.

Sin embargo, tenga en cuenta que el /etc/apt/sources.listarchivo contiene líneas como:

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

lo que significa que lo anterior sedhabilitaría fuentes pero no fuentes para algunos tipos de repositorios. Sin embargo, no creo que importe mucho.


55
Esto me funcionó con ubuntu 16.04
O Duan el

2
También lo resolvió para mí en Ubuntu 18.04
kramer65

2
@kilgoretrout "cómo es la respuesta aceptada" Debido a que los resultados de búsqueda de Google superan la semántica de preguntas exactas.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

1
¡Muy genial! Tengo que amar sed!
Esben Eickhardt

1
trabajando en 19.04
Haris

50

Puede editar la lista fuente ( /etc/apt/sources.list) directamente. Creo que necesita agregar / descomentar estas líneas:

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

Resolví esto deshabilitando la opción de código fuente y guardando una copia del archivo sources.list, luego habilitando la opción de código fuente, guardando otra copia y luego ejecutándome diffen ambos.

Es posible que desee cambiar el prefijo http://gb.al prefijo de las otras fuentes en su lista (para que use su espejo de repositorio más cercano), y también puede ignorar el #Added by software-properties.

Después de editar sources.list, ejecute sudo apt-get updateantes de intentar instalar nuevamente.

El completo diffse puede encontrar aquí


Otra forma es generar uno nuevo. Un método para obtener una fuente.list completa es utilizar este sitio: https://repogen.simplylinux.ch/


77
"Después de editar sources.list, ejecute sudo apt-get update antes de intentar instalar nuevamente". - Esa fue la clave, gracias!
Kaushal Modi

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

1
gracias amigo por recordarme eso$ sudo apt update
christianbueno.1

El comentario de @ Vincent fue suficiente para mí y super limpio
kilgoretrout

27

Editar /etc/apt/sources.list

sudo nano /etc/apt/sources.list

Luego elimine #o agregue líneas con deb-src $url, por ejemplo:

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

O copie de las líneas existentes, por ejemplo

deb blah blah
deb-src exact same blah blah

Entonces corre:

sudo apt-get update

Consulte https://help.ubuntu.com/community/Repositories/CommandLine para obtener información adicional.


17
ejecutivo sudo apt-get updatedespués de editar el sources.listarchivo
abidibo

4

Aquí está la solución de línea de comando

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

salida típica de cmd anterior

# 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

si eres bueno cambiando las líneas anteriores, lo cual siempre es cierto en una nueva instalación de ubuntu, entonces emite:

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

que hace una copia de seguridad del archivo de entrada, luego una búsqueda de deb-src comentado donde elimina el comentario para activar esas líneas ... después de actualizar los metadatos locales le dará a su máquina conocimiento de nuevas categorías de paquetes de ubuntu

sudo apt-get update

ahora emita una vez más su comando original que falló con:

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

1
Puede omitir el cp y usarlo -i~origcon sed para que sed realice la copia de seguridad.
Muru

3

Para Ubuntu 16.04, realicé con éxito estas actualizaciones en 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

2

En Linux Mint (estoy en la versión 18) puede ir a Fuentes de software (búsquelo en el menú de inicio o ábralo desde un terminal con software-sources). Allí, en la primera pestaña, encontrará una casilla de verificación Habilitar repositorios de código fuente . Si habilita esto, el programa colocará las líneas correctas en su /etc/apt/sources.list.d/official-source-repositories.listarchivo. Simplemente no olvide sudo apt-get update(o presione Actualizar la caché en las Fuentes de software) después de eso.


0

Con la versión 14.04 y posteriores, hay una forma más limpia y rápida de activar los repositorios de código fuente:

sudo add-apt-repository -s

Referencia: man add-apt-repository

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.