Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a server which is meant to test multiple deployment scenarios all driven by packages installed over RPMs.

Is there a way to abstract the RPMs in a system so that i can switch rpm context? For example:

Test A:

postrgre -> postegresql 3.x , 
java -> sun jdk 5.x
hadoop version -> 1.X
python version -> 3.0

Test B:

psql = postgresql 2.x 
java -> sun jdk 
hadoop version -> 2.X
python version -> 2.7

So clearly, what is needed is;

  1. Some perfect snapshot of system state before installing RPMs.
  2. Some way to create Test environment A from RPMs
  3. A way to roll back to (1) after running Test A
  4. Some way to create Test environment B from RPMs
  5. A way to again roll back to (1) to start the system over.

One option is virtualization, however this environment needs to run on real hardware. Another option is raw shell scripts - but this doesn't guarantee universal recovery of raw, pure system state.

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.