Maintenance strategy for multiple PC's

I am looking for some advice on deciding an installation and maintenance strategy for openSuse 11.0


  • I currently have 4 Pc’s all running different distributions of various ages and I want to bring all PC’s under a common OS with identical software components and service levels. (i.e. When an installation or service update occurs on 1 PC it will be migrated to all the others too).
  • My Internet connection is ADSL (2 Mb download/128K upload) with a 3GB per month cap.

Because of the connection cap I see it as imperative to capture every RPM file downloaded and use them to create a local repo for updating the other PC’s.

Therefore I think my question is which is the best package manager for me to use?

I have used YAST up till now on the openSUSE 10.0 system I have running and have noted that it does seem to capture the RPM files in a cache structure at /var/adm/YaST/InstSrcManager/IS_CACHE_0x0000000?/MEDIA/suse/*/xxxxxxxxxx.rpm however I believe from reading the forums that YAST no longer maintains that local cache.

Any advice and comment on the advisability of trying to maintain my own repos is welcome.

Another approach might be to run a Squid caching proxy and direct all machines to go through that for updates.

A really good thought … I will give it some serious consideration. Thanks

Any other suggestions still welcome though.

Do you want to simply update all the files in the update repository and not additional repositories? (Which take tons of space anyway)

If so you can simply mirror the update structure home - however with only 3GB cap you’re going to run out of it real fast.

The smart package manager will, with the correct setting, keep installed rpms on one’s PC. The setting is “smart config --set remove-packages=false”

I’ve read in 11.0, that zypper will also do this. I have not experimented with this yet, but there is purportedly a flag in zypper that will allow downloaded/installed rpms to remain in zypper’s cache.

If you look here:
Zypper/Changes/11.0 - openSUSE
you will see something like:

-k, --keep-packages
-K, --no-keep-packages

… but I have not figured out how to use that option yet

Theoretically speaking you could only download the delta RPMs which would save you a bundle of bandwidth - smart does not support this as far as I know.

No I want to capture the files downloaded during software install and maintenance of the “master” pc so they can be used on the other pc’s without having to download them again and again and again…

Thanks for that link … really will have to improve my search technique in the wiki

Zypper looks quite usable and has the advantage of being the back-end for the auto update system (if I understand correctly)!

Is this not something Yum can do for you? If I’m not mistaken yum is the basis for the update server service SLES uses…

It’s not something I’ve done or played with before so I could be babbling here, but it would be interesting to know if this can be used to set up as update source.

What’s also a nice feature in SLES is the install server, which lets you setup your own (updated) repositories. Is that feature in openSUSE as wel?

So guess I’m curious for this too :slight_smile:

I guess the perception is that openSUSE is for single PC sites whereas SLES is for multi PC sites :slight_smile:

I have dug around the wiki and found that zypper is the official openSUSE cli package manager.

Zypper is also the backend of the auto-updater appletsee here.

There is a zypper usage page here.

Having give careful thought to the all the input I have received I am going to go with zypper … will have to do a little research (next week after I have my hands on 11.0 DVD) to see how the -k -K options work but that’s no problem.

Finally … I found this blog that demystifies a lot of software maintenance issues especially for sites with multiple PC’s.

One thing I have not found out to my satisfaction is whether or not YAST2 also uses zypper as a backend. Do any of the oldhands here know the answer to this one?

Regards and Thanks to all contributors


Yes it does. Probably not zypper command line but libzypp. All that stuff with repo maintenance, it all ties into zypper. Only makes sense.

Yes that was my guess. I have found this announcement that spells it all out.

Back to my original question … “How to ensure dowloaded RPM’s arenot flushed from the cache?” … I have found a standards document that describes the .repo files that are used by some package managers and stored in /etc/zypp/repos.d.

It specifically says:

libzypp Extensions

keeppackages - if set to ‘1’, the packages downloaded from repository will be kept in a cache on the local disk. If the value is set to ‘0’, the packages will be removed after the commit transaction finishes. (supported since libzypp-4.2.7)

So all in all I have it sorted. Last thing will be to find where the cache is but even I should be able to work that out.

Thanks again to everyone.