创建包含同一软件包的多个版本的 deb 存储库

创建包含同一软件包的多个版本的 deb 存储库

我想创建自己的 deb 存储库来存储一些软件包。我尝试过 reprepro,除了一个基本功能外,它运行良好。Reprepro 无法在存储库中存储同一软件包的多个版本。

存储同一个包的多个版本的能力对我来说至关重要,所以我想问什么软件可以做到这一点。

下面是一份 reprepro 常见问题解答,表明它无法做到这一点:

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.

答案1

据我所知,mini-dinstall 在添加软件包时需要 debian .changes 文件。由于我只有 .deb 文件可用,我发现恰当地也支持多个版本。

另一个更轻量级的选择是货运这是一组用于维护 Debian 存储库的 shell 脚本。我现在 (2017) 已经使用 freight 三年了,用于维护一个小型但经常更新的存储库,效果很好。一个关键特性是能够保留一个软件包的多个版本。

编辑:更新了指向新货运仓库的链接,因为之前的链接自 2014 年以来就没有更新过。

答案2

解决方案是使用迷你安装用于管理 deb 存储库。它不会从存储库中删除软件包的先前版本。

答案3

我听到了关于货运的替代方案的好消息:

https://github.com/rcrowley/freight

HTH,神秘

答案4

我意识到我迟到了 :D

但当我偶然发现这个问题时,我觉得还是值得回答一下的,以防有人看到它

答案是不,reprepro 不能在单个 repo 中拥有同一个包的多个版本(例如 focal-stable)

这对于像我这样负责管理存储库的人来说非常棒,因为它消除了“清理它们”或让客户感到困惑的需要。

相关内容