让我们阅读官方文档:
dnf history rollback <transaction-spec>
撤消在指定事务之后执行的所有事务。如果无法撤销任何交易,由于rpmdb中的当前状态,不撤消任何交易。
重点是我的。因此,该命令是指该undo
命令。好的,让我们阅读有关撤消的文档:
dnf history undo <transaction-spec>
执行与指定事务中执行的所有操作相反的操作。如果由于RPMDB的当前状态而无法撤消任何操作,请不要撤消任何操作。
听起来这两个命令执行相同的操作,除了前者可以撤消多个事务,而后者只能撤消一个事务。
这种理解正确吗?(我希望从第一手经验中得到答案,而不是从您如何理解本手册的角度出发,我对事实感兴趣,而不是猜测。)
上下文:我需要编写一个脚本,该脚本可以运行dnf upgrade -y
,然后运行一些测试,如果测试失败,则撤消dnf更改。我正在寻找实现这一目标的最佳方法。