An often overlooked feature of yum is the history. It allows you to perform a load of additional features that can save your skin in an enterprise environment.
It allows you to turn back the proverbial clock to the last functioning state of an application should there be an issue with a package update, without having to worry about dependencies and so on.
In this recipe, I'll show you a couple of the most used yum history features.
Use the following command to show your yum history:
~]# yum history list
The preceding command will list the output, as follows:
Show the details of a yum transaction by executing the following command:
~]# yum history info 1
This will show you all about this single transaction:
Show the details of a package installed with yum through the following:
~]# yum history info ntp
This will show information about all the transactions that have modified the ntp
package in some way (installed/updated/removed):
Undo a specific transaction through the following command:
~]# yum history undo 7
This command undoes a specific transaction (defined by the ID), as shown in the following screenshot:
Now, you can redo a specific transaction using the following:
~]# yum history redo 7
This command will reperform a specific transaction (as defined by the transaction ID), as follows:
You have to be careful when you use history options such as undo and rollback. Yum does its best to comply, but it cannot restore configurations, and it will not restore previous versions of your configuration files if you have edited them. This is not a fail-safe option if you don't have any backups. Although both options are very useful, I recommend that you do not use them too often. When you do use them, try to keep the impact of the transactions as small as possible. The smaller the delta, the more chance of succeeding in undoing or rolling back!