我正在从 Slicehost 租用一个切片(即 VPS)。我花了一两天时间填写/usr
我最喜欢的包、/etc
配置和初始化脚本等等。现在我想:
- 将整个设置保存在某处(例如,加载到另一台机器上)。
- 查看我对哪些文件做了哪些更改
- 还原更改、标记修订以及所有其他好的版本控制内容
保存磁盘映像给我 (1),但不是 (2) 和 (3)。
使用 Subversion ( svn import / svn://someotherhost
) 可能会给我所有三个,但如果我真的尝试将项目签入/
并维护根拥有的区域中的 .svn 目录,我预计会出现问题。并且要将我的设置加载到新切片上,我需要先在其上安装一个 svn 客户端。
有什么好方法可以做我想做的事吗?
我假设你正在使用其中一种市长发行版除非您正在编译自己的软件包。
我会使用每个发行版的本地包管理器来复制相同包配置文件的安装。
对于基于 debian 的发行版,这非常简单:
然后在新系统中:
问候
我希望 git 或其他一些分布式 vcs 在这方面会比 svn 做得更好。您可能想查看 etckeeper 的源代码,它基本上使用 git 跟踪 /etc,以及其他一些 dvcs。Etckeeper 可能会被扩展或修改以跟踪整个文件系统。
我看到两个不明显的解决方案。
使用BackupPC进行备份,可让您轻松检查以前的版本并恢复它们。可以远程或本地完成。
使用puppet进行配置管理。我不对服务器上的所有文件进行版本控制。I 版本控制 puppet 模块和清单,它们描述了应将哪些更改应用于服务器。我完全避免用手触摸服务器,如果这样做,我会复制 puppet 中的更改。
我两个都用。配置来自 puppet,使用 git 进行版本控制,“用户数据”(提供的网页、主目录等)的版本控制由 backuppc 处理。
您可以将/etc 放入 SVN。我会为 /usr 使用不同的备份方法。