1. Add tsflags=repackage to /etc/yum.conf.

2. Add %_repackage_all_erasures 1 to /etc/rpm/macros. If /etc/rpm/macros does not exist, just create it.

3. You can now install, erase and update packages with yum and/or rpm, and they will save roll back information.

4. When you want to roll back, use rpm to do so.
You do this by specifying the --rollback switch and a date/time, like the examples below:

rpm -Uhv --rollback '19:00'
rpm -Uhv --rollback '8 hours ago'
rpm -Uhv --rollback 'december 31'
rpm -Uhv --rollback 'yesterday'


5. 如果想回退某个package,可以使用下面的命令

rpm -Uvh --oldpackage sendmail-8.13.8-2.el5.x86_64.rpm
11-04 11:36