Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

I work at a library where we have just recently setup 5 kiosk's based on linuxmint.

The hardware is identical. I actually used DD to make an image after I set the first one up.

My Problem is, I now need to apply more updates to these machines. I'm making several updates to things like grub, and other system configuration. As well as a specific users .gconf folder. Apply such updates as removing keybinding's. Updating power the power settings. I have ssh access to all of the boxes. What would be the best way to update these? I first apply the changes to our experimental machine. How would you recommend then pushing these updates out to all the other kiosks?

Just discovered http://www.puppetlabs.com/ This looks promising. Any other ideas? Can this be ran as a daemon or will I have to goto each kiosk, login as root, and run puppet?

Running scp and rsync to transfer .gconf and other changes has failed for me. I have no root user, obviously because of the way ubuntu runs. So no way to get it to escalate to root for the transfer of modified files. At least that I know of.

share|improve this question

migrated from askubuntu.com Sep 3 '11 at 14:10

This question came from our site for Ubuntu users and developers.

marked as duplicate by Patrick, jasonwryan, Anthon, slm Jul 11 '14 at 5:26

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

There's CSSH, and csshX if you're on OS X. They're decent tools for one-off cases.

For more regular updates, you might want to use something like Puppet. I'm assuming the user accounts you're tinkering with on each machine are, like the hardware and the rest of the system, identical.

Puppet has to be set up on each client system, but then can run as a daemon and pull in changes (or you can push changes to it) from the Puppet server.

Blueprint is a nice tool to use with Puppet; it introspects your machines and makes Puppet (or Chef, or shell scripts) recipes/configurations usable with - well, with Puppet, or Chef, or standalone as shell scripts.

Good luck!

share|improve this answer