8.2. 恢复 DNF 事务
要撤消在 Red Hat Enterprise Linux (RHEL) 10 上 DNF 事务过程中执行的操作,请使用 DNF 工具恢复这些事务。通过恢复事务,您可以快速将系统恢复到以前的状态。例如,如果您使用 dnf install 命令安装多个软件包,您可以通过恢复安装事务来一次卸载这些软件包。
您可以使用以下方法恢复 DNF 交易:
-
使用
dnf history undo命令恢复单个 DNF 交易。 -
使用
dnf history rollback命令恢复指定交易和最后一个交易之间执行的所有 DNF 交易。
不支持使用 dnf history undo 和 dnf history rollback 命令降级 RHEL 系统软件包到旧版本。这尤其涉及 selinux、selinux-policy-*、kernel 和 glibc 软件包,以及 glibc 的依赖项,如 gcc。因此,不建议将系统降级到次版本(例如,从 RHEL 10.1 升级到 RHEL 10.0),因为它可能会使系统处于不正确的状态。
8.2.1. 撤销单个 DNF 交易 复制链接链接已复制到粘贴板!
要撤消在 Red Hat Enterprise Linux (RHEL) 10 上的单个 DNF 事务过程中执行的操作,请使用 DNF 工具恢复这个事务。通过将环境恢复到软件包管理历史记录中的特定点,您可以从意外更改和错误中恢复。在 DNF 历史记录中恢复单个事务不会撤消或修改最新的事务。
您可以使用 dnf history undo 命令恢复事务的步骤:
-
如果交易安装了一个新软件包,则
dnf history undo会卸载该软件包。 -
如果交易卸载了一个软件包,则
dnf history undo会重新安装该软件包。 如果旧的软件包可用,
dnf history undo命令还会尝试将所有更新的软件包降级到之前的版本。注意如果旧的软件包版本不可用,则使用
dnf history undo命令降级会失败。
流程
确定您要恢复的事务的 ID:
# dnf historyID | 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>例如,如果要卸载之前安装的
unzip软件包,请输入:# dnf history undo 12