Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Let's say you have your favorite settings with zsh, vim, screen, etc., behaving the way you want on some boxes.

What is the best way to apply these settings / environments to a new server? Assuming all the necessary software is installed on the same distro.

share|improve this question

2 Answers 2

up vote 1 down vote accepted

Keep your home directory (well, the useful bits anyway) in a version control system - e.g. svn, git. Then you can just check it out onto the new machine/update/etc.

I use a setup based on Joey Hess's svnhome setup and his mr tool. I use git now rather than svn, but the basic ideas are the same.

There are also a few other scripts/tools designed specifically for use with git. Google for "home directory git" (or your choice of VCS) and you should find lots of useful info.

share|improve this answer

You could use some of the proposed production deployment tools on this other question, puppet, capistrano, chef, cfengine, etc.

But, if this is too complex for your problem, you may get your files on a version control server (git, svn, hg, etc.) and have them pulled from the repository for every new server.

share|improve this answer
    
I once tried to use git to manage my dotfile, but it seemed that git ignore the dotfiles. Didn't bother with VCS systems since then. Puppet or capistrano etc. are overkill. Maybe rsync ? –  Lamnk May 18 '10 at 9:05
    
rsync is not configuration software. –  Ignacio Vazquez-Abrams May 18 '10 at 11:16
    
I know rsync is not configuration/provisioning software. The idea is to create a master acount with all the files in $HOME on one server then sync from there. –  Lamnk May 18 '10 at 15:25

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.