A solução é usar o mini-dinstall para gerenciar os repositórios deb. Não exclui a versão anterior do pacote do repositório.
Eu quero criar meu próprio repositório deb para armazenar alguns pacotes. eu tentei reprepro e funciona bem, exceto por um recurso fundamental. Reprepro não pode armazenar várias versões do mesmo pacote no repositório.
A capacidade de armazenar várias versões do mesmo pacote é essencial para Eu estou perguntando o que o software pode fazer.
Aqui está uma parte da FAQ do reprepro que mostra que não é possível:
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.
A solução é usar o mini-dinstall para gerenciar os repositórios deb. Não exclui a versão anterior do pacote do repositório.
Tanto quanto eu entendo, mini-dinstall requer arquivos debian .changes ao adicionar pacotes. Como eu só tinha arquivos .deb disponíveis, descobri que habilmente também suporta várias versões.
Outra opção mais leve é o frete que é um conjunto de scripts de shell para manter um repositório debian. Eu tenho (2017) usando frete por três anos para manter um repositório pequeno, mas ativamente atualizado, com bons resultados. Uma característica fundamental foi a capacidade de manter várias versões de um pacote.
Editar: link atualizado para novo repositório de frete, visto que o anterior não foi atualizado desde 2014.
Se você estiver disposto a escrever o arquivo Packages você mesmo (por exemplo, com um script personalizado), você pode colocar várias versões do mesmo pacote lá e o apt-get permitirá que você instale uma versão específica com a sintaxe
apt-get install packagename=version
Você pode obter todas as informações necessárias para escrever este pacote com
dpkg-deb --info package.deb
e
md5sum package.deb
O apt-get upgrade também irá escolher o maior número de versão (no meu teste limitado, pelo menos).
Como o software informa, os mais antigos são removidos quando um novo é enviado. Geralmente, isso é feito com várias reposições. Assim como o Ubuntu e o Debian têm vários repositórios para estáveis e instáveis, ou o Natty, o Oneiric,…, você precisará ter vários repositórios.
Normalmente, os gerenciadores de pacotes selecionam a versão mais recente de um pacote, por isso seria difícil para os usuários escolherem também.