apt 저장소에 동일한 패키지의 두 가지 버전을 가질 수 있습니까?


19

전체 환경에서 Ubuntu 10.04를 실행하고 있습니다. 코드 배포를보다 쉽게하기 위해 코드 빌드를 배포 할 수있는 개인용 apt 저장소를 구현하고 있습니다.

이 리포지토리의 요구 사항 중 하나는 QA 부서가 언제든지 모든 버전의 응용 프로그램을 설치할 수 있어야한다는 것입니다.

동일한 패키지의 여러 버전을 apt-repository (바람직하게는 같은 배포판)에 저장할 수 있습니까? 그렇지 않은 경우 위에서 설명한 동작을 얻는 데 사용할 수있는 해결 방법은 무엇입니까?

답변:


19

예, 가능하며 특별한 조치를 취할 필요가 없습니다. 사실, 일반적인 데비안 및 우분투 리포지토리에는 일반적으로 각 패키지의 여러 버전이 있습니다 (oldstable / stable / testing / stable 또는 dapper / hardy / lucid / maverick / natty). 배포판에는 각 버전의 색인 파일 ( Packages파일)에 단일 패키지 만 있지만, 따로 따를 필요는 없습니다.

물론, apt-get install myapp최신 버전 만 설치합니다 (달리 구성하지 않는 한). apt-get install myapp=1.42버전 1.42를 강제로 설치하기 위해 실행할 수 있습니다 .

주의 사항 : 모든 버전의 패키지 이름이 동일한 경우 동시에 둘 이상의 패키지를 설치할 수 없습니다. 이것이 중요하다면, 각 버전에 다른 패키지 이름을 지정하십시오 : myapp-1.42, myapp-1.43등. 데비안과 우분투는 주요 라이브러리 버전에 대해 이것을합니다. 여기서 다른 라이브러리 (예 : libcap1libcap2) 와 연결된 실행 파일이있는 경우 둘 이상의 버전이 필요할 수 있습니다. 커널과 같은 다른 패키지도 마찬가지입니다.


1
훌륭한 설명 감사합니다. 후속 조치로, 패키지에 버전 번호를 추가하는 경로를 따라 가면 "apt-get upgrade"가 중단됩니까? 내 앱을 업그레이드 할 때마다 새로 설치 된 것으로 취급되어 구성이 손실되는 것으로 보입니다. 이 문제를 해결할 수는 있지만 결정을 내리기 전에 한계가 무엇인지 파악하고 싶습니다. 감사.
GregB

2
이 경우 일반적인 방법은 것입니다 myapp-1.42등등하고, 플러스 패키지 myapp그것은 단지 현재에 따라 달라집니다 myapp-VERSION(또는 myapp-stable, myapp-beta등등).
Gilles 'SO- 악마 그만해'

1
주의 사항 : 리포지토리 인덱스를 빌드하기 위해 -m실행할 때 잊지 마십시오 dpkg-scanpackages. 그렇지 않으면 Packages파일 에 여러 패키지 버전이 제공되지 않습니다 .
bruno nery
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.