我想创建自己的存储库,供个人在多台机器上使用。软件包将照常签名,并且一些打包的软件将与官方 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-10
为1.0.1-11
。或者你可以做类似的事情 1.0.1-10.yournamehere
。或者你可以选择1.0.1-100
只要你的 Debian 版本号(后面的字符串-
)在目录排序中比官方 Debian 版本号晚,那就没问题。
3)如果你想更加确定,你可以使用纪元。 Debian 通常不赞成随意使用 epochs,但对于个人软件包来说这是可以的。
因此,例如,您可以这样做1:1.0.1-10
,您的版本将优先于每个没有纪元的包版本。大多数时候,Debian 软件包没有纪元,当有纪元时,就表明在软件包的生命周期中出现了问题。