나는 팔로우했다이 가이드Ubuntu 12.04에서 마우스 가운데 버튼 붙여넣기를 비활성화합니다.
기적적으로 작동합니다.
이제 저는 Linux Mint 17에서 동일한 목표를 달성하려고 합니다. 내가 시도할 때
sudo apt-get build-dep libgtk2.0-0
그것은 나에게 다음과 같은 결과를 제공합니다.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'
E: Unable to find a source package for gtk+2.0
나에게는 apt-get이 어떻게든 "해결" 'libgtk2.0-0'
되는 것처럼 보이지만 'gtk+2.0'
비슷한 이름을 가진 패키지는 찾지 못합니다.
Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'
편집: 이제 프로그램을 컴파일할 수 있지만(내 답변 참조) 여전히 그것이 무엇을 의미하는지 모르겠습니다 . 이에 대한 통찰력을 주시면 대단히 감사하겠습니다. 감사합니다!
답변1
다른 사람들이 이미 지적했듯이 deb …
합계의 모든 항목에 대해 일치하는 항목이 있는지 확인하십시오. 나머지 줄은 동일해야 합니다./etc/apt/sources.list
/etc/apt/sources.list.d/*
deb-src …
이 deb
항목은 바이너리 패키지(즉, 설치 준비 완료)용이고, 이 deb-src
항목은 소스 패키지(즉, 컴파일 준비 완료)용입니다. 두 패키지는 매우 다르게 관리되기 때문에 분리됩니다. 바이너리 패키지에는 종속성 추적 메커니즘과 현재 설치 목록이 있는 반면, 소스 패키지는 쉽게 다운로드할 수 있도록 추적만 됩니다. 패키지 저장소를 논의할 때 다음 용어에 유의하십시오.원천서로 관련이 없는 두 가지를 의미합니다. 하나는 패키지가 다운로드된 위치의 소스이고 다른 하나는 바이너리 패키지가 아닌 소스 패키지입니다.
libgtk2.0-0
바이너리 패키지의 이름입니다. 이라는 소스 패키지로 구축되었습니다 gtk+2.0
. 소스 패키지 이름과 바이너리 패키지 이름이 항상 일치하지 않는 이유는 소스 패키지를 빌드하면 여러 바이너리 패키지가 생성될 수 있기 때문입니다. 예를 들어 gtk+2.0
14개 패키지의 소스 코드는 두 개의 라이브러리( libgtk2.0
, libgail
)로 분할되어 해당 패키지를 사용합니다. 라이브러리 빌더( …-dev
), 개발자 문서( …-doc
), 컴패니언 프로그램( libgtk2.0-bin
) 등
(패키지가 설치된 경우) 또는 Source: …
의 출력에서 해당 행을 검사하여 바이너리 패키지가 어떤 소스 패키지 이름에 해당하는지 확인할 수 있습니다.dpkg -s BINARY_PACKAGE_NAME
apt-cache show BINARY_PACKAGE_NAME
소스 패키지에서 생성된 바이너리 패키지를 나열할 수 있습니다 aptitude search '?source-package(^SOURCE_PACKAGE_NAME$)
.
이 명령은 apt-get source
소스 코드 패키지를 다운로드합니다. 제공한 인수가 알려진 소스 패키지가 아닌 경우 설치 가능한 바이너리 패키지 데이터베이스에서 이를 찾아 해당 소스 패키지를 다운로드하려고 시도합니다.
이 명령은 apt-get build-dep
소스 패키지의 이름을 파생시키는 것과 동일한 방법을 따른 다음 소스 패키지 데이터베이스에서 바이너리 패키지 목록(필드의 목록 Build-Dep:
)을 쿼리하고 해당 바이너리 패키지를 설치합니다.
소프트웨어 소스 GUI에는 공식 리포지토리에 대한 "소스 코드로 리포지토리 활성화" 확인란이 있으므로 선택되어 있는지 확인하세요. 타사 저장소를 수동으로 추가하는 경우 deb-src
및 deb
줄을 모두 추가해야 합니다.
답변2
명령줄 모드
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
software-properties-gtk
옵션 "소스 코드"
GUI에서 다음을 실행할 수 있습니다.
software-properties-gtk
그런 다음 "Ubuntu 소프트웨어" 탭에서 "소스 코드"를 클릭하세요.
deb-src
이로 인해 몇 줄이 추가되었으며 /etc/apt/sources.list
이제 할 수 있습니다 sudo apt-get build-dep <package>
.
Ubuntu 16.04~18.04에서 테스트되었습니다.
답변3
@steeldriver 덕분에 무엇을 해야할지 알고 있습니다.
방금 내 항목에 다음 링을 추가했습니다 /etc/apt/sources.list
.
deb-src ftp://ftp.de.debian.org/debian/ stable main contrib
deb-src 저장소에는 컴파일에 필요한 소스 패키지가 포함되어 있습니다(바이너리, 바로 설치 가능한 패키지 아님).
편집: 이것을 추가한 후 해야 할 일sudo apt-get update