오류 :: 귀하의 sources.list에 ‘source’URI를 넣어야합니다 사용하고 있습니다. 누구든지이 오류를 어떻게 해결할 수

우분투에 파이썬 모듈 PIL을 설치하려고합니다.

먼저 다음 명령을 사용하여 python-imaging이라는 패키지를 설치해야합니다.

sudo apt-get build-dep python-imaging

시도하고 이것을 할 때 오류가 발생합니다

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

나는 질문을 통해 GUI를 통해 수정하는 방법을 보여 주지만 명령 줄을 사용하고 있습니다. 누구든지이 오류를 어떻게 해결할 수 있는지 알고 있습니까?

업데이트 : 아래 답변에 따라 패키지 목록을 업데이트했지만 이제이 오류가 발생합니다. 관련이 있는지 확실하지 않은 경우에는 오류에 대한 참조를 찾을 수 없으므로 새 질문을 시작합니다.

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


답변

software-properties-gtk “소스 코드”옵션

나는 이것을 데스크탑에 추천한다 :

software-properties-gtk

그런 다음 “Ubuntu Software”탭에서 “Source code”를 클릭하십시오.

이것은 deb-src아래 에 몇 줄 을 추가 /etc/apt/sources.list했으며 이제는 할 수 있습니다 sudo apt-get build-dep <package>.

클린 CLI 메소드를 찾을 수 없으므로이 버그 보고서를 작성하십시오. https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718

우분투 16.04에서 18.04에서 테스트되었습니다.

CLI 방법

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

Ubuntu 18.04 Docker 이미지에서 테스트되었습니다. 이 변경 후 예를 들어 다음과 같이 수행 할 수 있습니다.

sudo apt-get build-dep hello

변경하기 전에 오류와 함께 실패했습니다.

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

https://askubuntu.com/a/1011675/52975 에서 이전에 언급했으며 해당 답변을 찬성 투표 하십시오 .

그러나 /etc/apt/sources.list파일에는 다음과 같은 행이 포함되어 있습니다.

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

위의 내용 sed은 일부 유형의 저장소에 대해서는 소스를 사용할 수 있지만 소스는 아닌 것을 가능하게합니다. 나는 그것이 중요하다고 생각하지 않습니다.


답변

소스 목록 ( /etc/apt/sources.list)을 직접 편집 할 수 있습니다 . 다음 줄을 추가 / 주석 해제해야한다고 생각합니다.

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

소스 코드 옵션을 비활성화하고 sources.list 파일의 복사본 하나를 저장 한 다음 소스 코드 옵션을 활성화하고 다른 복사본을 저장 한 다음 diff둘 다에서 실행하여이 문제를 해결했습니다 .

http://gb.목록에서 다른 소스의 접두사로 접두사를 변경하고 (가장 가까운 리포 미러를 사용)를 무시할 수도 있습니다 #Added by software-properties.

편집 후 다시 설치하기 전에 sources.list실행 sudo apt-get update하십시오.

전체 diff여기 에서 찾을 수 있습니다


또 다른 방법은 새로운 것을 생성하는 것입니다. 완전한 sources.list를 얻는 한 가지 방법은 다음 사이트를 사용하는 것입니다 : https://repogen.simplylinux.ch/


답변

편집하다 /etc/apt/sources.list

sudo nano /etc/apt/sources.list

그런 다음 #과 같이 줄을 제거 하거나 추가하십시오 deb-src $url.

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

또는 기존 줄에서 복사하십시오. 예 :

deb blah blah
deb-src exact same blah blah

그런 다음 다음을 실행하십시오.

sudo apt-get update

자세한 내용은 https://help.ubuntu.com/community/Repositories/CommandLine 을 참조 하십시오 .


답변

커맨드 라인 솔루션은 다음과 같습니다.

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

위의 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

새로운 우분투 설치에서 항상 위의 행을 변경하는 것이 좋으면 다음을 발행하십시오.

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

입력 파일의 백업을 수행 한 다음 주석 처리 된 주석을 제거하여 주석 처리 된 주석을 제거합니다. 로컬 메타 데이터를 새로 고친 후 우분투 패키지의 새로운 범주에 대한 정보를 시스템에 제공합니다

sudo apt-get update

이제 실패한 원래 명령을 다시 한 번 발행하십시오.

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

답변

Ubuntu 16.04의 경우 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

답변

Linux Mint (버전 18에 있음)에서 소프트웨어 소스 (시작 메뉴에서 검색하거나로 터미널에서 열 수 있음)로 이동할 수 있습니다 software-sources. 첫 번째 탭에는 소스 코드 리포지토리 활성화 확인란이 있습니다. 이 기능을 활성화하면 프로그램이 /etc/apt/sources.list.d/official-source-repositories.list파일에 올바른 줄을 넣습니다 . 그 후에는 잊지 마십시오 sudo apt-get update(또는 소프트웨어 소스에서 캐시 업데이트를 누르 십시오 ).