Chapter 9. Handling package management history With the dnf history command, you can review the following information: Timeline of DNF transactions. Dates and times the transactions occurred. Number of packages affected by the transactions. Whether the transactions succeeded or were aborted. If the RPM database was changed between the transactions. You can also use the dnf history command to undo the transactions. 9.1. Listing transactions You can use DNF to perform the following tasks: List the latest transactions. List the latest operations for a selected package. Display details of a particular transaction. Procedure Depending on your scenario, use one of the following options to display transaction information: To display a list of all the latest DNF transactions, enter: The output contains the following information: The Action(s) column displays which type of action was performed during a transaction, for example, Install ( I ), Upgrade ( U ), Remove ( E ), and other actions. The Altered column displays the number of actions performed during the transaction. The number of actions can also be followed by the result of the transaction. For more information about the values of the Action(s) and Altered columns, see the dnf(8) man page on your system. To display a list of all the latest operations for a selected package, enter: To display details of a particular transaction, enter: Note You can filter the results by appending global expressions as arguments. For more details, see Specifying global expressions in dnf input . Additional resources dnf(8) man page on your system 9.2. Reverting DNF transactions Reverting a DNF transaction can be useful if you want to undo operations performed during the transaction. For example, if you installed several packages by using the dnf install command, you can uninstall these packages at once by reverting an installation transaction. You can revert DNF transactions the following ways: Revert a single DNF transaction by using the dnf history undo command. Revert all DNF transactions performed between the specified transaction and the last transaction by using the dnf history rollback command. Important Downgrading RHEL system packages to an older version by using the dnf history undo and dnf history rollback command is not supported. This concerns especially the selinux , selinux-policy-* , kernel , and glibc packages, and dependencies of glibc such as gcc . Therefore, downgrading a system to a minor version (for example, from RHEL 9.1 to RHEL 9.0) is not recommended because it might leave the system in an incorrect state. 9.2.1. Reverting a single DNF transaction You can revert steps performed within a single transaction by using the dnf history undo command: If the transaction installed a new package, dnf history undo uninstalls the package. If the transaction uninstalled a package, dnf history undo reinstalls the package. The dnf history undo command also attempts to downgrade all updated packages to their versions if the older packages are still available. Note If an older package version is not available, the downgrade by using the dnf history undo command fails. Procedure Identify the ID of a transaction you want to revert: Optional: Verify that this is the transaction you want to revert by displaying its details: Revert the transaction: For example, if you want to uninstall the previously installed unzip package, enter: 9.2.2. Reverting multiple DNF transactions You can revert all DNF transactions performed between a specified transaction and the last transaction by using the dnf history rollback command. Note that the transaction specified by the transaction ID remains unchanged. Procedure Identify the transaction ID of the state you want to revert to: Revert specified transactions: For example, to revert to the state before the wget and unzip packages were installed, enter: Alternatively, to revert all transactions in the transaction history, use the transaction ID 1 :

Commands:
dnf history
dnf history list <package_name>
dnf history info <transaction_id>
dnf history ID | Command line | Date and time | Action(s) | Altered -------------------------------------------------------------------- 13 | install zip | 2022-11-03 10:49 | Install | 1 12 | install unzip | 2022-11-03 10:49 | Install | 1
dnf history info <transaction_id>
dnf history undo <transaction_id>
dnf history undo 12
dnf history ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------ 14 | install wget | 2022-11-03 10:49 | Install | 1 13 | install unzip | 2022-11-03 10:49 | Install | 1 12 | install vim-X11 | 2022-11-03 10:20 | Install | 171 EE
dnf history rollback <transaction_id>
dnf history rollback 12
dnf history rollback 1