保持服务器重新安assembly置的最佳方法?

我有一台运行Ubuntu 12.04的服务器,这些服务器在过去几年中变得混乱。 我已经摆弄了各种软件包,桌面环境(用于VNC)等,我想重新安装它,重新开始,并更好地控制什么进入框。

但是我想在重新安装之后保留很多configuration,比如LVMconfiguration,apache2,samba等等。理想的情况是存在一个可以分析/ etc,安装包等的程序,存储这些信息,然后有select地把它重新放回到新的安装。

我甚至考虑在虚拟机上安装Ubuntu服务器,只是为了能够将干净安装中的/ etc的内容进行比较,甚至首先执行到虚拟机的迁移,以validation传输过程是否正常。

如何去执行这种重新安装? 有没有人看到网上的任何资源的话题?

etckeeper是你在找什么。


更新Thu Sep 13 16:41:44 ICT 2012

我已经有etckeeper的地方,但我想有select地恢复部分/etc

当然,您可以在Git 1.7.0中使用稀疏结帐function。

例如:

 cd /etc git init git remote add -f origin git+ssh://git@git.domain.com/etckeeper/<server_name>.git git config core.sparseCheckout true echo 'path/to/subdir/*' >.git/info/sparse-checkout git checkout <branch_name> 

不要忘记在path的末尾加上一个*字符,否则你会得到:

 error: Sparse checkout leaves no entry on working directory