
저는 현재 Ubuntu를 사용하여 작업하고 있으며 VM에 Debian 시스템을 설치하려고 합니다. 이는 패키지를 처리해야 함을 의미합니다. 저는 처음 접했기 때문에 웹, 특히 데비안 위키(우분투 위키도 유용합니다)에서 이에 대해 많이 읽었습니다. 특히 로컬 저장소를 만드는 방법과 source.list 파일을 올바르게 편집하는 방법을 배웠습니다.
그러나 작동 방식에 대해 여전히 몇 가지 질문이 있으며 웹에서 찾을 수 없는 세부 정보가 있습니다.
첫째, 온라인 저장소를 사용할 때입니다. 나는 apt-get이 source.list 파일에 작성한 링크를 따라가서 Packages.gz 아카이브를 검색한다는 것을 이해했습니다. 내가 이해하지 못하는 것은 이 간단한 아카이브(단지 목록일 뿐인 것 같음)입니다.설치 가능한 패키지) 패키지 설치를 허용하시겠습니까? Packages.gz는 .deb 파일을 찾고 설치를 진행하는 방법에 대한 적절한 정보를 제공합니까? 아니면 다른 것입니까?
둘째, Sources.gz 아카이브에 관한 것입니다. Packages.gz에 나열된 패키지의 소스 코드를 읽었지만 대부분의 경우에는 필요하지 않습니다. 따라서 내 source.list 파일에 이 Sources.gz에 대한 링크를 추가하면 실제로 나에게 무엇을 제공합니까? 그것의 요점은 무엇입니까?
셋째, 로컬 저장소에 관한 것입니다. 이것은 이전 질문과 관련이 있습니다. .deb 파일로 로컬 저장소를 만드는 방법을 알고 있지만 이 Packages.gz 아카이브만 있다고 가정해 보겠습니다. 충분하지 않습니까? Sources.gz 아카이브가 있으면 작동하나요?
마지막으로 Debian 저장소에서 dist 저장소 외에도 많은 .deb가 포함된 pool 저장소가 있다는 것을 보았습니다. 이를 설치하는 방법을 알고 있지만(.deb 및 해당 종속성을 다운로드하고 dpkg -i를 사용하여 설치) 더 쉬운 방법이 있습니까? 온라인에서 .deb를 찾고, 종속성을 찾고, 모든 것을 설치할 수 있는 좀 더 자동화된 기능이 있을까요? (apt-get과 비슷하지만 내가 이해한 한 apt-get은 Packages.gz 및 Sources.gz 아카이브에서만 작동하며 .deb에서는 직접 작동하지 않습니다)
죄송합니다. 이것은 실제로 질문이 아니라 질문 목록입니다 ^^ 하지만 온라인에서 찾은 모든 것은 대부분 "온라인 저장소에서 패키지 및 해당 종속성을 apt-get 검색하고 dpkg를 통해 설치하는 것"이었습니다. 그것에 대한 자세한 내용을 좋아합니다.
답변1
Packages.gz 에는
Filename
.pool/main/n/name-of-package/name-of-package_version_amd64.deb
이는 패키지 관리자에게 해당 URL을 보라고 지시합니다.
예를 들어, source.list(.d)에 다음 줄이 있으면
deb https://some-domain.com/some-url some-distribution main
다음과 같은 파일이 생성됩니다.https://some-domain.com/some-url/dists/some-distribution/main/binary-amd64/Packages.gz
해당 파일은 을 참조pool/main/n/name-of-package/name-of-package_version_amd64.deb
하므로 패키지 관리자는https://some-domain.com/some-url/pool/main/n/name-of-package/name-of-package_version_amd64.deb
.Sources.gz는 동일한 방식으로 작동하지만 선택 사항입니다.
apt source
이는 미리 빌드된 바이너리를 사용하는 대신 소스를 직접 컴파일하려는 경우 소스를 가져오는 와 함께 작동합니다 .
이는 프로젝트 홈페이지에 가서 빌드 지침을 따르는 기여자/호기심 많은 사람들보다는 배포판에서 사용되는 패키지의 정확한 버전을 패치하려는 시스템 관리자에게 주로 유용합니다.패키지가 배포판의 풀 디렉토리에 있지만 에는 없으면
Packages.gz
다른 에 있을 가능성이 높습니다Package.gz
. 일반적인 줄에 여러 단어가 어떻게 있는지 확인하세요sources.list
:
deb http://archive.ubuntu.com/ubuntu precise main universe multiverse
main
,universe
각각multiverse
고유한Packages.gz
파일이 있습니다. 예를 들어 데비안은non-free
기본적으로 비활성화되어 있으므로 일부를 활성화해야 할 수도 있습니다 . 그러나 일부 패키지는 여전히 사용할 수 없습니다(풀에서도 사용할 수 없음). 신뢰할 수 없는 저장소(예: Ubuntu의 PPA)를 추가하거나, 누락된 프로그램을 직접 패키지하거나(귀하와 다른 사람들이 패키지 관리자를 사용하여 해당 프로그램을 관리할 수 있도록), 간단히 직접 빌드하고 설치할 수 있습니다(접두사를 사용/usr/local
하여 패키지 관리자와의 충돌을 피하세요).- 새 패키지 버전이 나타나면
Release
배포용 파일이 업데이트됩니다. 이를 통해apt update
다시 다운로드해야 함을 알 수 있습니다Packages.gz
.