etckeeper
A única ferramenta que usei no passado que faz a maior parte do que você está procurando é etckeeper
.
O backend é configurável para que você possa escolher qual sistema de controle de versão você quer usar (git, svn, bazaar, etc.).
A página de desenvolvimento principal no github tem tudo o que você precisa para começar a usá-la.
blueprint
Outra ferramenta que pode ser útil é o blueprint . Esta ferramenta irá coletar as configurações personalizadas junto com os pacotes que você instalou usando qualquer ferramenta de gerenciamento de pacotes, como pacotes gerenciados pelo APT, Yum, RubyGems, easy_install e pip do Python, PHP's PEAR e PECL e NPM do Node.js. / p>
trecho
Blueprint is a simple configuration management tool that reverse-engineers servers. It figures out what you’ve done manually, stores it locally in a Git repository, generates code that’s able to recreate your efforts, and helps you deploy those changes to production.