저는 현재 Ubuntu를 사용하고 있으며 가상 머신에 Debian 시스템을 설치하려고 합니다. 이는 패키지를 처리해야 함을 의미합니다. 저는 처음 접했기 때문에 온라인, 특히 데비안 위키(우분투 위키도 유용합니다)에서 이에 대해 많이 읽었습니다. 특히 로컬 저장소를 생성하는 방법과 source.list 파일을 올바르게 편집하는 방법을 배웠습니다.
그러나 작동 방식에 대해 여전히 몇 가지 질문이 있으며 온라인에서 자세한 내용을 찾을 수 없습니다.
첫째, 온라인 저장소를 사용할 때입니다. 나는 apt-get이 source.list 파일에 작성한 링크를 따라가서 Packages.gz 아카이브를 검색한다는 것을 알고 있습니다. 내가 이해하지 못하는 것은 이 간단한 아카이브입니다(단지 목록인 것 같습니다).설치 가능한 패키지) 이 패키지를 설치할 수 있습니까? Packages.gz는 .deb 파일을 찾고 설치를 진행하는 방법에 대한 적절한 정보를 제공합니까? 또는 다른 것?
둘째, Sources.gz 아카이브에 관한 것입니다. Packages.gz에 나열된 패키지의 소스 코드라는 것을 읽었지만 대부분의 경우에는 필요하지 않습니다. 그렇다면 내 source.list 파일의 Sources.gz에 이 링크를 추가하면 정확히 무엇을 얻을 수 있을까요? 점은 무엇인가?
3. 현지 창고에 관해서는 이전 질문과 관련이 있습니다. .deb 파일을 사용하여 로컬 저장소를 생성하는 방법을 알고 있지만 이 Packages.gz 아카이브만 있다고 가정해 보겠습니다. 충분하지 않습니까? Sources.gz 아카이브가 있으면 작동합니까?
마지막으로, 나는 데비안 저장소에서 dist 저장소 외에도 많은 수의 .debs를 포함하는 풀 저장소가 있다는 것을 보았습니다. 설치 방법을 알고 있지만(.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
각 단어 에는 자체 파일이 있습니다. 일부를 활성화해야 할 수도 있습니다. 예를 들어 데비안은 기본적으로 이를 비활성화합니다. 그러나 일부 패키지는 여전히 사용할 수 없습니다(풀에서도 사용할 수 없음). 신뢰할 수 없는 저장소(예: Ubuntu의 PPA)를 추가하거나, 누락된 프로그램을 직접 패키지하거나(귀하와 다른 사람들이 패키지 관리자를 사용하여 프로그램을 관리할 수 있도록) 직접 빌드하고 설치할 수 있습니다(접두사는 다음과 같아야 함). 패키지 관리자와의 충돌을 피하기 위해 사용됩니다 ).
deb http://archive.ubuntu.com/ubuntu precise main universe multiverse
main
universe
multiverse
Packages.gz
non-free
/usr/local
- 새(버전이 지정된) 패키지를 사용할 수 있게 되면
Release
배포된 파일이 업데이트됩니다. 이를 통해apt update
다시 다운로드해야 함을 알 수 있습니다Packages.gz
.