Enabling YUM / RPM Rollback

A very handy and reassuring feature available in the RPM and YUM package management system is rollback. To enable it add the following lines in two files:

/etc/yum.conf:
tsflags=repackage

This enables rollback under YUM.

/etc/rpm/macros:
%_repackage_all_erasures 1

This enables the 're-packaging' of installed RPM packages when a package is updated.


Unfortunately, the man page for rpm doesn't have any reference to the rollback option. To actually perform a rollback use the rpm command with the --rollback option and a date/time quantifier. For example:

rpm -Uhv --rollback '9:00 am', rpm -Uhv --rollback '4 hours ago', rpm -Uhv --rollback 'december 25'