APT 固定或伪造我自己的软件包的版本号?

APT 固定或伪造我自己的软件包的版本号?

我想创建自己的存储库,供个人在多台机器上使用。软件包将照常签名,并且一些打包的软件将与官方 Debian 和 Ubuntu 存储库提供的相同,但(通常)更新 - 但并非总是如此,有时会相同。

同样,我的存储库将仅包含官方存储库中可用的软件包的子集。

如果这是个人存储库,哪种方法更容易维护:

  • 将软件包的版本号伪造为始终 x+100 或类似值,其中 x 是原始上游软件的主要版本
  • 使用 APT 固定来固定它

APT 固定对我来说仍然是一个有点神秘的概念。我已经使用过它,但它过去也导致了一些不寻常和不需要的问题。

我的想法是,我自己的存储库优先于官方和我的存储库中可用的软件包。

答案1

如果这是个人存储库,哪种方法更容易维护:

将软件包的版本号伪造为始终 x+100 或类似值,其中 x 是原始上游软件的主要版本,使用 APT 固定来固定它

两者都不。您可以使用多种技术。

首先,阅读 5.6.12控制文件及其字段在里面Debian 政策手册

1)如果版本较新,则无需执行任何操作。

2)如果版本相同,可以更改Debian修订号。这在软件包版本中以破折号为前缀。因此,例如,假设有问题的软件包版本(对于您的软件包和官方软件包)是1.0.1-10.然后你可以将例如更改1.0.1-101.0.1-11。或者你可以做类似的事情 1.0.1-10.yournamehere。或者你可以选择1.0.1-100只要你的 Debian 版本号(后面的字符串-)在目录排序中比官方 Debian 版本号晚,那就没问题。

3)如果你想更加确定,你可以使用纪元。 Debian 通常不赞成随意使用 epochs,但对于个人软件包来说这是可以的。

因此,例如,您可以这样做1:1.0.1-10,您的版本将优先于每个没有纪元的包版本。大多数时候,Debian 软件包没有纪元,当有纪元时,就表明在软件包的生命周期中出现了问题。

相关内容