RPM rollback

I have to admit that I thought I am quite good at knowing which possibilites and capabilities all the package manager and software manager have – but I missed something very important: rpm, and because it can be used with yum as well, Fedora Core has the ability to rollback rpm packages, and that in a very nice way:

This post show how it works, and it is not much.
And it’s even easier to use:

1. To configure yum to save rollback information, add the line tsflags=repackage to /etc/yum.conf.

2. To configure command-line rpm to do the same thing, add the line %_repackage_all_erasures 1 to /etc/rpm/macros.

3. Install, erase, and update packages to your heart’s content, using pup, pirut, yumex, yum, rpm, and the yum automatic update service.

If/when you want to rollback to a previous state, perform an rpm update with the –rollback option followed by a date/time specifier. Some examples: rpm -Uhv –rollback ‘9:00 am’, rpm -Uhv –rollback ‘4 hours ago’, rpm -Uhv –rollback ‘december 25’.

I searched a little bit around about this feature and found eventually this discussion. Looks to me that it is not really sure if this feature will stay in rpm, and if it is really stable. These news are bot so good…

I would like to have such a feature in Linux, or at least in Fedora Core, because it is something “other” operating systems have, too. And it can be very useful if you use test-software or 3rd party software, too.
Just imagine that you have a system where you can use a overbloated gui to “turn back time” for your software versions – that sounds wired, but sometimes useful 🙂


One thought on “RPM rollback”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s