8.2. 恢复 DNF 事务
如果要撤销交易期间执行的操作,恢复 DNF 交易会很有用。例如,如果您使用 dnf install
命令安装了几个软件包,则您可以通过恢复一个安装交易来一次卸载这些软件包。
您可以使用以下方法恢复 DNF 交易:
-
使用
dnf history undo
命令恢复单个 DNF 交易。 -
使用
dnf history rollback
命令恢复指定交易和最后一个交易之间执行的所有 DNF 交易。
8.2.1. 撤销单个 DNF 交易 复制链接链接已复制到粘贴板!
您可以使用 dnf history undo
命令恢复在单个交易中执行的步骤:
-
如果交易安装了一个新软件包,则
dnf history undo
会卸载该软件包。 -
如果交易卸载了一个软件包,则
dnf history undo
会重新安装该软件包。 如果旧的软件包可用,
dnf history undo
命令还会尝试将所有更新的软件包降级到之前的版本。注意如果旧的软件包版本不可用,则使用
dnf history undo
命令降级会失败。
流程
确定您要恢复的事务的 ID:
dnf history
# 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:通过显示其详情来验证您要恢复的事务:
dnf history info <transaction_ID>
# dnf history info <transaction_ID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 恢复事务:
dnf history undo <transaction_ID>
# dnf history undo <transaction_ID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,如果要卸载之前安装的
unzip
软件包,请输入:dnf history undo 12
# dnf history undo 12
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.2. 撤销多个 DNF 交易 复制链接链接已复制到粘贴板!
您可以使用 dnf history rollback
命令恢复指定交易和最后一个交易之间执行的所有 DNF 交易。请注意,交易 ID 指定的交易保持不变。
流程
确定您要恢复到的状态的事务 ID:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 恢复指定的事务:
dnf history rollback <transaction_ID>
# dnf history rollback <transaction_ID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,要恢复到
wget
和unzip
软件包安装前的状态,请输入:dnf history rollback 12
# dnf history rollback 12
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,要恢复事务历史记录中的所有事务,请使用事务 ID
1
:dnf history rollback 1
# dnf history rollback 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow