1

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.

Dennis Williamson
  • 60,515
  • 14
  • 113
  • 148
Lamnk
  • 1,075
  • 3
  • 11
  • 17

2 Answers2

1

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.

James
  • 7,553
  • 2
  • 24
  • 33
0

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.

chmeee
  • 7,270
  • 3
  • 29
  • 43
  • 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 09: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