使用同一包的多个版本创建 deb 存储库

bes*_*bov 19 package-management repository deb

我想创建自己的 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.
Run Code Online (Sandbox Code Playgroud)

boh*_*rax 11

据我了解,mini-dinstall 在添加软件包时需要 debian .changes 文件。由于我只有.deb软件包可我发现,恰如其分地支持多个版本也是如此。

另一个更轻量级的选项是运费,它是一组用于维护 debian 存储库的 shell 脚本。我现在(2017 年)已经使用了三年的货运来维护一个小型但积极更新的存储库,并取得了良好的效果。一个关键特性是能够保留一个包的多个版本。

编辑:更新了新货运回购的链接,因为自 2014 年以来没有更新过。


bes*_*bov 10

解决方案是使用mini-dinstall来管理 deb 存储库。它不会从存储库中删除先前版本的包。

  • 这似乎只有在 mini-dinstall.conf 中设置了“keep_old = 1”时才成立。默认(根据手册页和最近的经验)是删除旧版本。使用 0.6.29ubuntu1 版本测试。 (2认同)