Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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 entire set-up is in INTRANET.

I am working on SuSe Linux Platform (SLES/SLED). Recently there was package which had to be updated because of some problem. So this time we could manually go to desktops and update the package one by one.

Since at this time number of desktops were less so it was possible but in coming time number is going to be around 1000 or even bigger. So i was asked to find some thing with which i can seamlessly push over the updates to all desktops connected.

I came across Puppet which sounds good to me and it seems it can do this job.

Since this is an INTRANET setup so i am planning to have one centralized Server which will have the updates (eg. apache newer version) in certain location (eg : /var/www/updates) and i will make the same server as puppetmaster . And all other desktops will be connected to this centralized server for fetching any update.

Now once i have a certified update in my central server , how should i ensure that the updated package (any rpm/etc) is pushed/installed over to all other desktops ?

What class shall i write for that ?

Can i write any class which fetch rpm from a location (/var/www/updates) and do rpm -UVH xxxxx.rpm on other desktops?

Please do suggest some other solutions as well if am heading in wrong direction.

Any help is much appreciated.


share|improve this question

Make sure you have a local repo setup (mrepo) and point the servers to that (via puppet) then just use:

   ensure => latest,

..for each app.

share|improve this answer

Your Answer


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.