동일한 패키지의 여러 버전으로 deb 저장소 만들기


16

일부 패키지를 저장하기 위해 자체 deb 저장소를 만들고 싶습니다. 나는 reprepro를 시도했지만 하나의 기본 기능을 제외하고는 잘 작동합니다. Reprepro는 동일한 패키지의 여러 버전을 저장소에 저장할 수 없습니다.

동일한 패키지의 여러 버전을 저장하는 기능은 필자에게 필수적이므로 어떤 소프트웨어가이를 수행 할 수 있는지 묻고 있습니다.

다음은이를 수행 할 수 없음을 나타내는 reprepro FAQ입니다.

3.1) Can I have two versions of a package in the same distribution?
-------------------------------------------------------------------
Sorry, this is not possible right now, as reprepro heavily optimizes
at only having one version of a package in a suite-type-component-architecture
quadruple.
You can have different versions in different architectures and/or components
within the same suite. (Even different versions of a architecture all package
in different architectures of the same suite). But within the same
architecture and the same component of a distribution it is not possible.

답변:


11

내가 이해하는 한 mini-dinstall에는 패키지를 추가 할 때 debian .changes 파일이 필요합니다. .deb 파일 만 사용할 수 있었으므로 여러 버전도 적절하게 지원 한다는 것을 알았 습니다.

또 다른 더 경량 옵션은 화물 데비안 저장소를 유지하기위한 쉘 스크립트의 집합입니다. 나는 작지만 적극적으로 업데이트 된 저장소를 유지하기 위해 3 년 동안화물을 사용 해 왔으며 좋은 결과를 얻었습니다. 주요 기능 중 하나는 여러 버전의 패키지를 유지하는 기능이었습니다.

편집 : 2014 년 이후 이전이 업데이트되지 않았으므로 새로운화물 저장소에 대한 링크가 업데이트되었습니다.


1
Downvoter : 정교하게 관리 하시겠습니까?
bohrax

1
freight포크되었으며, 현재 유지되고있는 github.com/freight-team/freight - 원래 버전은 2014 년 이후 업데이트되지 않은
볼프강

@WolfgangThanks는 답변의 링크를 업데이트했습니다!
bohrax

9

해결책은 managin deb repos에 mini-dinstall 을 사용하는 것입니다 . 리포지토리에서 이전 버전의 패키지는 삭제하지 않습니다.


2
mini-dinstall.conf에 "keep_old = 1"이 설정되어있는 경우에만 해당됩니다. 맨 페이지 및 최근 경험에 따라 기본값은 이전 버전을 제거하는 것입니다. 버전 0.6.29ubuntu1로 테스트되었습니다.
pendor

2

대체화물에 대한 좋은 소식을 들었습니다.

https://github.com/rcrowley/freight

HTH, 미스티 지


세부 정보가 부족하지 않은 한이 답변이 왜 다운 투표되었는지 확실하지 않습니다. 나는 내가 OP와 같은 필요성이 있기 때문에 시도하려는 것을 실행 가능한 대안이 하나를 reprepro에 같은화물은 참으로 보인다
killthrush

나는 downvoter가 아니지만 아마도 1 년 전 내 대답에서화물이 이미 언급 되었기 때문일 것입니다. 어쨌든, 나는 그것을 실용적인 옵션으로 보증 할 수 있습니다. 작지만 적극적으로 업데이트 된 저장소에 1 년 이상 사용했습니다. : 우리는이 문제를 생각 물린 된 github.com/rcrowley/freight/pull/65
bohrax

1
@ bohrax : freight포크 된 것으로 보이며 이제 github.com/freight-team/freight 에서 유지 관리되고 있습니다.
Wolfgang

-1

패키지 파일을 직접 작성하려는 경우 (예 : 사용자 정의 스크립트를 사용하여) 동일한 패키지의 여러 버전을 거기에 넣을 수 있으며 apt-get을 사용하면 구문을 사용하여 특정 버전을 설치할 수 있습니다

apt-get install packagename=version

이 패키지를 작성하는 데 필요한 모든 정보를 얻을 수 있습니다

dpkg-deb --info package.deb

md5sum package.deb

apt-get upgrade는 또한 최소한 제한된 테스트에서 가장 높은 버전 번호를 선택합니다.


답변 주셔서 감사하지만 패키지 파일을 생성하는 일부 시스템을 사용하는 것이 좋습니다.
bessarabov

동일한 패키지의 여러 버전으로 패키지 리포지토리 를 만드는 것에 대한 질문에는 대답하지 않습니다 . 다른 질문에 대한 답변입니다.
gertvdijk

-2

소프트웨어에서 알 수 있듯이 이전 소프트웨어는 새 소프트웨어가 들어 오면 제거됩니다. 일반적으로이 작업은 다중 저장소로 수행됩니다. 우분투와 데비안이 안정적이고 불안정하거나 Natty, Oneiric에 대해 여러 개의 repos를 가지고 있듯이… 여러 개의 repos가 필요합니다.

일반적으로 패키지 관리자는 최신 버전의 패키지를 선택하므로 사용자가 선택하기도 어렵습니다.


1
여러 개의 repos를 작성해도 문제가 해결되지 않습니다. 같은 저장소에 여러 패키지의 동일한 패키지가 필요합니다. : 관심있는 사람들을 위해 내가 왜 여기 내 설명이있는 주제입니다 필요합니까 answers.launchpad.net/launchpad/+question/171452
bessarabov

일반적인 데비안 저장소는 여러 버전을 지원하지 않기 때문에 문제를 다른 각도에서 봐야 할까 걱정됩니다.
Martin Ueding

2
당신이 옳지 않습니다. 일반 debian repo ftp.us.debian.org/debian/pool/main/p/perl 을 참조하고 동일한 아키텍쳐에 대해 동일한 패키지의 여러 버전이 있는지 확인하십시오.
bessarabov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.