我从 Slicehost 租了一个分片(即 VPS)。我花了一两天时间安装/usr
我最喜欢的软件包、/etc
配置和初始化脚本等。现在我想要:
- 将整个设置保存在某处(例如,加载到另一台机器上)。
- 查看我对哪些文件做了哪些更改
- 恢复更改、标记修订版本以及所有其他良好的版本控制功能
保存磁盘映像可得到 (1),但不能得到 (2) 和 (3)。
使用 Subversion ( svn import / svn://someotherhost
) 可能会让我获得这三种功能,但如果我实际尝试将项目签出到/
root 拥有区域中并维护 .svn 目录,我预计会出现问题。要将我的设置加载到新切片上,我需要先在其上安装 svn 客户端。
有什么好方法可以实现我想要做的事吗?
答案1
我假设你正在使用其中一个主要发行版,如果我需要做和你一样的事情,我会使用 git 来处理与配置文件(/etc、/usr/local/etc 等)相关的所有内容,除非你正在编译自己的软件包,否则我会避免对 bin 文件进行版本控制。
我将使用每个发行版的本机包管理器来复制相同包配置文件的安装。
对于基于 Debian 的发行版来说,这真的很容易:
dpkg --get-selections | grep '[[:space:]]install$'| awk '{print $1}' > packages-installed
然后在新系统中:
cat packages-installed | xargs sudo apt-get install
问候
答案2
我期望 git 或其他分布式 vcs 在这方面会比 svn 做得更好。您可能想查看 etckeeper 的源代码,它基本上使用 git 和其他几个 dvcs 跟踪 /etc。Etckeeper 可能可以扩展或修改以跟踪整个文件系统。
答案3
答案4
你可以放/etc 进入 SVN. 不过,我会对 /usr 使用不同的备份方法。