我正在寻找一种管理多个系统设置的方法。例如,如果我开始从事一个项目,我可能需要安装一些软件及其依赖项。我希望当我完成这个项目的工作时能够将系统恢复到以前的状态。
我的理想情况就像拥有整个系统的 git,因此能够创建分支、实验并恢复到任何时间点。
有没有办法实现这一目标?我考虑过使用 LVM 快照,这是个好主意吗?
我正在寻找一种管理多个系统设置的方法。例如,如果我开始从事一个项目,我可能需要安装一些软件及其依赖项。我希望当我完成这个项目的工作时能够将系统恢复到以前的状态。
我的理想情况就像拥有整个系统的 git,因此能够创建分支、实验并恢复到任何时间点。
有没有办法实现这一目标?我考虑过使用 LVM 快照,这是个好主意吗?
TL;DR 使用virtualbox快照。
虚拟机快照最常用于此类需求。主要原因是简单,最坏的情况是将所有根可以写入的数据归零。如果您有 12+GB RAM 和 8TB 磁盘空间的现代开发箱,您可能会同时运行 5-10 个测试环境并存储 800 个快照,这已经足够了。
另一方面,如果测试相对温和,通常的选择是保留操作日志
apt install x y z && mkdir project0
(apt purge x y z && rm -r project0
brtfs 是一个有趣的选择,因为它可以有效地为备份服务器提供快照差异,缺点是它稍微复杂一些,而且稳定性要差得多。
还有许多其他选项( git/lvm/rsync/rdiffbackup/zfs/ containers /etc ),但也有缺点(例如额外的时间/空间或不太健壮)。归根结底,高质量的开发人员时间是最受追捧的商品,因此您花在规划和环境设置上的时间越少,您就越需要有更多的时间来提高工作效率。因此,从 2 个简单选项之一开始,只有在您发现浪费时间时才探索更复杂的解决方案。