我使用reprepro来维护内部包的私有包存档。使用reprepro (请参阅这里)保持一个包的多个版本没有简单的方法,但是它确实有一个类似于工作的快照工具。
但只是某种程度上。我看不出有什么好办法回到快照版本。有一个有文档的命令restore,但它似乎不起作用(在Ubuntu12.4.1LTS上的reprepro版本4.8.2 )。
如手册页所述,我可以通过apt-get访问快照,方法是编辑sources.list以包括以下内容
deb method://as/without/snapshot codename/snapshots/name main但这意味着我需要用一个新的sources.list更新所有服务器,以更改它们的快照。
我想要做的是维护一个“安全”发行版,我可以从“稳定”的任何快照中配置它,并且总是让服务器从“安全”中提取。然后做回滚,我只是回滚“安全”,让服务器删除和重新安装的软件包。(我建议删除并重新安装,因为似乎很难让它们只降低私有包的等级而不触及公共软件包。)或者类似的东西。
主要目标是有一种自动化的方法,使服务器场恢复到包的旧版本。我愿意接受建议。
人们是怎么处理这个的?有什么方法可以让reprepro快照按照我喜欢的方式工作吗?
发布于 2013-06-12 22:50:52
我会通过使用支持存储库的LVM逻辑卷来做到这一点。无论如何,最好将它放在单独的文件系统上,而不是根文件系统。这样做的步骤是:
此时,您可以通过创建逻辑卷快照来轻松地快照整个存储库。如果需要,可以每晚设置滚动快照。
如果您感到特别大胆,可以使用BTRFS或ZFS的文件系统级快照,但它们目前在Linux上还不太成熟。
https://serverfault.com/questions/489504
复制相似问题