我可以在 apt 存储库中拥有同一个包的两个版本吗?

Gre*_*egB 20 ubuntu repository apt

我在整个环境中运行 Ubuntu 10.04。为了使代码部署更容易,我们正在实施一个私有 apt 存储库,我们可以在其中部署代码的构建。

此存储库的要求之一是我们的 QA 部门将能够随时安装我们应用程序的任何版本。

我可以在 apt-repository 中存储同一个包的多个版本(最好在同一个发行版中)吗?如果没有,我可以使用哪些可能的解决方法来获得上述行为?

Gil*_*il' 19

是的,你可以,而且你不需要做任何特别的事情。事实上,通常的 Debian 和 Ubuntu 存储库通常每个包都有多个版本(来自 oldstable/stable/testing/unstable 或 dapper/hardy/lucid/maverick/natty)。发行版在每个版本的索引文件(Packages文件)中只有一个包,但您不必效仿。

当然,apt-get install myapp只会安装最新版本(除非另有配置)。可以运行apt-get install myapp=1.42强制安装1.42版。

警告:如果所有版本都具有相同的软件包名称,则您不能同时安装多个版本。如果这很重要,请给每个版本一个不同的包名:myapp-1.42,myapp-1.43等。Debian 和 Ubuntu 为主要版本的库执行此操作,如果您将可执行文件链接到不同的库(例如libcap1libcap2),您可能需要多个至于其他一些软件包,例如内核。

  • 在这种情况下,通常的方法是拥有 `myapp-1.42` 等等,加上一个包 `myapp`,它只依赖于当前的 `myapp-VERSION`(甚至是 `myapp-stable`、`myapp-beta` 和很快)。 (2认同)