![如何在 Reprepro 中启用多个包版本的发布?](https://linux22.com/image/942638/%E5%A6%82%E4%BD%95%E5%9C%A8%20Reprepro%20%E4%B8%AD%E5%90%AF%E7%94%A8%E5%A4%9A%E4%B8%AA%E5%8C%85%E7%89%88%E6%9C%AC%E7%9A%84%E5%8F%91%E5%B8%83%EF%BC%9F.png)
我们目前使用 Reprepro 来提供各种专有软件包(例如安全代理)的内部发布,这些软件包供应商仅提供 .deb 下载,而不是供直接使用的上游存储库。
我们可以正常发布软件包,但只能通过以下方式获取最新版本apt-cache madison somepackage
我们想从本质上实现 GitLab 能够实现的功能,即提供多个版本,如下例所示:
apt-cache madison gitlab-ce | head
gitlab-ce | 14.4.2-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages
gitlab-ce | 14.4.1-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages
gitlab-ce | 14.4.0-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages
gitlab-ce | 14.3.4-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages
我反复阅读了 reprepro 的手册页,但不太容易理解。从阅读 reprepro/apt 邮件列表了解多版本控制后,我了解到,在过去 3 年左右的时间里,他们为 reprepro 添加了该功能,而这就是我所能找到的全部信息。
谢谢!
答案1
这已修复在最新版本的 reprepro 中增加了多个版本的功能。现在它位于Debian 仓库最终将进入 Ubuntu 存储库。您现在可以使用该软件包( )或使用和参数reprepro (5.4.1-1)
编译软件以使用多个版本:Limit
Archive
限制
限制每个发行版、架构、组件和类型的软件包版本数量。限制必须为数字。如果数字为正数,则在添加新软件包版本时,所有超过这些限制的旧软件包版本都将被删除或存档(请参阅存档选项)。如果数字为零或负数,则将保留所有软件包版本。默认情况下,只会保留一个软件包版本。
档案
指定一个必须事先声明的代码名(以避免循环)。当软件包超出版本数量限制(在限制中指定)时,这些软件包将被移动到指定的发行版,而不是被删除。