On Wed, Jul 9, 2014 at 1:36 PM, Howard Johnson <merlin at mwob.org.uk> wrote: > >> So there's no way to force yum to only use deltas - or better, one set >> of deltas? I've been looking for a sane way to get repeatable >> updates out of yum forever (i.e. update production to match your last >> QA update after testing is complete), and no, I don't consider keeping >> a snapshot copy of a repository in every state that I might want to >> reproduce to be a sane approach. >> > > > What you want sounds like a couple of fairly simple python scripts using > the yum api. On box A, run a script that dumps a list of installed > packages, with full N-V-R for each. Move the list to box B. Pass it to > another script that creates a yum transaction to upgrade (or downgrade) > packages to those versions, and install any missing packages. For bonus > points it could remove extra packages it finds. None of this requires > drpms. Hell, if you don't feel like going near the yum api, I reckon > you could do it with a bash script to generate an input file to pass to > "yum shell". > > Actual implementation of said scripts is of course an exercise for the > reader ;) And probably quite a fun and rewarding one, too. Yeah, assuming the boxes are identical to start, I think you can just 'yum list installed' and feed that on the command line to 'yum update big_list' on the others. But that is awkward, gets ugly with hardware-related packages, and probably breaks if you cross a minor rev boundary in Centos. What I'm really looking for is something like a repository transaction id or even a timestamp to mark the last repository change to update to. That is, something simple I could pick up from the repository to identify its current state during/before the test system update and then use to tell yum on the corresponding production update to ignore anything newer than that. Effectively this would correspond to the use of tags in a source control system, and for exactly the same usage and reasons. It would come close if you could tell it not to use any source of rpms _except_ a particular set of deltas and storing those sets might be slightly more sane than full repository snapshots for states you might like to reproduce. -- Les Mikesell lesmikesell at gmail.com