여러 버전을 지원할 수있는 개인용 apt 저장소를 어떻게 설정합니까?


10

여러 버전을 지원할 수있는 개인용 apt 저장소 (10.04 LTS)를 설정하는 방법을 찾고 있습니다.

서버에 여러 버전의 패키지를 설치할 수 없음을 이해합니다. 이것은 순수하게 프로덕션 apt 저장소에 릴리스하기 전에 여러 버전을 테스트 할 수있는 개발 환경을위한 것입니다.

패키지 이름에 버전 번호를 넣어 여러 버전을 가질 수 있다는 것을 알고 있지만 그 반대의 경우 동일한 패키지 이름의 여러 버전을 지원하고 싶습니다.

예 : packagename-1.0_1.0_all.deb 및 packagename-2.0_2.0_all.deb 대신 packagename_1.0_all.deb 및 packagename_2.0_all.deb

Puppet 자동 배포에 익숙한 사용자의 경우 서버에서 원하는 패키지 버전을 지정할 수 있습니다 (같은 패키지 이름을 사용하는 ensure 태그 사용).

http://wiki.debian.org/HowToSetupADebianRepository에 설명 된 Google의 debmarshal을 시도했지만 문서 부족으로 인해 작동하지 못했습니다.

답변:


9

나는 당신과 같은 이유로 여러 버전의 저장소가 필요했으며 이것이 내가 끝낸 것입니다.

apt-get install apache2 dpkg-dev
mkdir -p /var/www/repo/binary

그런 다음 update-repo.sh패키지 정보로 리포지를 업데이트하는 생성

#!/bin/bash
cd /var/www/repo
dpkg-scanpackages -m binary /dev/null | gzip -9c > /var/www/repo/binary/Packages.gz

.deb 파일을 / var / www / repo / binary에 넣고 update-repo.sh를 실행하십시오.

나머지 머신에서 :

echo "deb http://myserver/repo binary" > /etc/apt/sources.list.d/myrepo.list
apt-get update

등 ...

마술은 -mdpkg-scanpackages를 실행할 때 발생합니다 . 이 없으면 -mPackages.gz에 하나의 버전 만 나열됩니다.

나는 그것을 시도하지는 않았지만 hbdgaf가 제안한 것처럼 별도의 하위 저장소에 대해 동일한 작업을 수행하는 것은 쉽지 않습니다.


1
나는 -m스위치로 당신의 대답을 만날 때까지 많은 것을 검색했습니다 . 정말 고마워!
Mario Tacke

3

다른 배포 이름으로 호스팅하십시오. 예를 들어 명료하고 테스트합니다. 그런 다음 테스트 상자에 항목을 변경
에서 : deb http://homegrown.local/ubuntu lucid main
에 : deb http://homegrown.local/ubuntu testing main

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.