我正在使用reprepro来维护内部软件包的私有包存档。 没有一个简单的方法可以使用reprepro来保持一个包的多个版本(见这里 ),但是它有一个快照工具。
但只有一些。 我没有看到回到快照版本的好方法。 有一个命令restorelogging,但它似乎并没有工作(在Ubuntu 12.4.1 LTS的reprepro版本4.8.2)。
我可以通过apt-get访问快照,如手册页中所述,通过编辑sources.list来包含类似内容
deb method://as/without/snapshot codename/snapshots/name main
但这意味着我需要用新的sources.list来更新所有服务器来更改它们的快照。
我想做的是保持一个“安全”的分布,我可以从任何“稳定”快照configuration,并始终从“安全”拉动服务器。 然后做回滚,我只是回滚“安全”,并让服务器删除并重新安装软件包。 (我说删除并重新安装,因为它似乎太难让他们降级只是私人包未触摸公共包),或类似的东西。
主要目标是有一个自动的方法来让服务器场恢复到旧版本的软件包。 我接受build议。
人们如何处理这个问题? 有没有办法让reprepro快照按照我喜欢的方式工作?
我会通过使用支持存储库的LVM逻辑卷来实现这一点。 不pipe怎样,最好把它放在一个单独的文件系统上。 步骤如下:
此时,您可以通过创build逻辑卷快照来轻松快照整个存储库。 如果需要,您可以每晚设置滚动快照。
如果您觉得特别大胆,可以使用BTRFS或ZFS的文件系统级快照,但是目前在Linux上这些都不太成熟。