Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

In a few hours I will get my new Thinkpad X201t and the first thing that I will do is install Ubuntu on it. In the last two months I switched machines quite a lot because I needed to work despite my previous machine which crashed (a Macbook Pro 4,1). I even did set up a work environment on a cloud-hosted VM to be able to connect to it from everywhere.

Now - trying to remove the manual set up of each box - I am looking for ways to configure a system in a scripted way which allows me to change the configuration and replicate it on another box when I need to. This includes tasks such as installing and configuring packages.

  • I already worked a little bit with chef but it's just too complex for single machines.
  • My dot files already live in a git repository

Hope there are some of you who already have a solution :)

share|improve this question
1  
Not programming... –  leppie Jan 20 '11 at 12:29
add comment

migrated from stackoverflow.com Jan 20 '11 at 15:31

This question came from our site for professional and enthusiast programmers.

1 Answer

up vote 3 down vote accepted

I haven't used cfengine in a very long time, but you could take a quick look at cfengine3. I would say that the original cfengine is almost certainly too complex for your task, but the latest version claims it is simplified. Another possibility, again likely more than you need, is puppet.

For etc configuration files, for a start you could take a look at etckeeper.

You'll also need to keep any packages and ppa's in sync -- I know there are some options for this, but I'll leave it to other users to help with that one.

etckeeper , cfengine3 , and puppet are in the repos.

Of course*, you'll probably want to tie in some cloud storage to keep copies sync'd and tidy. Ubuntu One, Dropbox, Spideroak come to mind as free (for limited storage) solutions.

*(or perhaps not)

By the way, what are you using to manage your dot-files?

Update: I'd forgotten that stipple and/or OneConf would be the ideal way to do (much of) this. When they are complete.

share|improve this answer
    
Oh man, thanks for the hint to stipple and OneConf. Nice to see that some people are working on this. I would have thought that I have to go the puppet/chef/cfengine way. It's a plus that Stipple uses CouchDB as I am working more and more with that. My dotfiles are currently checked into a git repository which is fine. There is a setup script which links some files to the home directory (.bash_profile, .vimrc, ...) to get everything started. –  balu Jan 23 '11 at 22:58
add comment

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.