9.2. 恢复 YUM 事务
如果要撤销事务期间执行的操作,恢复 YUM 事务非常有用。例如,如果您使用 yum install
命令安装多个软件包,您可以通过恢复安装事务来一次性卸载这些软件包。
您可以使用以下方法恢复 YUM 事务:
-
使用
yum history undo
命令恢复单个 YUM 事务。 -
使用
yum history rollback
命令恢复指定事务和最后一个事务之间执行的所有 YUM 事务。
不支持使用 yum history undo
和 yum history rollback
命令降级 RHEL 系统软件包到旧版本。这尤其涉及 selinux
、selinux-policy-*
、kernel
和 glibc
软件包,以及 glibc
的依赖项,如 gcc
。因此,不建议将系统降级到次版本(例如,从 RHEL 8.1 到 RHEL 8.0),因为它可能会使系统处于不正确的状态。
9.2.1. 恢复单个 YUM 事务 复制链接链接已复制到粘贴板!
您可以使用 yum history undo
命令恢复在单个事务中执行的步骤:
-
如果事务安装了新软件包,
yum history undo
会卸载该软件包。 -
如果事务卸载了软件包,
yum history undo
会重新安装该软件包。 -
如果旧的软件包仍然可用,
yum history undo
命令还会尝试将所有更新的软件包降级到之前的版本。
如果旧的软件包版本不可用,则使用 yum history undo
命令的降级会失败。
流程
确定您要恢复的事务的 ID:
yum history
# yum 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 可选:通过显示其详情来验证您要恢复的事务:
yum history info <transaction_id>
# yum history info <transaction_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 恢复事务:
yum history undo <transaction_id>
# yum history undo <transaction_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,如果要卸载之前安装的
unzip
软件包,请输入:yum history undo 12
# yum history undo 12
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要恢复最后一个事务,请输入:
yum history undo last
# yum history undo last
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2.2. 恢复多个 YUM 事务 复制链接链接已复制到粘贴板!
您可以使用 yum history rollback
命令恢复指定事务和最后一个事务之间执行的所有 YUM 事务。请注意,交易 ID 指定的交易保持不变。
流程
确定您要恢复到的状态的事务 ID:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 恢复指定的事务:
yum history rollback <transaction_id>
# yum history rollback <transaction_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,要恢复到
wget
和unzip
软件包安装前的状态,请输入:yum history rollback 12
# yum history rollback 12
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,要恢复事务历史记录中的所有事务,请使用事务 ID 1:
yum history rollback 1
# yum history rollback 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow