“ dnf历史记录回滚”和“ dnf历史记录撤消”之间有什么区别?


15

让我们阅读官方文档

dnf history rollback <transaction-spec> 撤消在指定事务之后执行的所有事务。如果无法撤销任何交易,由于rpmdb中的当前状态,不撤消任何交易。

重点是我的。因此,该命令是指该undo命令。好的,让我们阅读有关撤消的文档:

dnf history undo <transaction-spec> 执行与指定事务中执行的所有操作相反的操作。如果由于RPMDB的当前状态而无法撤消任何操作,请不要撤消任何操作。

听起来这两个命令执行相同的操作,除了前者可以撤消多个事务,而后者只能撤消一个事务。

这种理解正确吗?(我希望从第一手经验中得到答案,而不是从如何理解本手册的角度出发,我对事实感兴趣,而不是猜测。)

上下文:我需要编写一个脚本,该脚本可以运行dnf upgrade -y,然后运行一些测试,如果测试失败,则撤消dnf更改。我正在寻找实现这一目标的最佳方法。

Answers:


18

undo只有撤销该具体的交易,同时rollback撤销一切之间是交易和系统的当前状态。

例如:您安装htop,以后再安装ncduglances,随后mc的第二天。

以后您想撤消安装htop,因此您可以使用撤消功能尝试撤消安装htop,但仍保留以后安装的其他程序。

如果你回滚到安装了交易htop,你就代替撤消的安装ncduglances并且mc,同时仍保持htop


1
是的,我也是这样理解我的,但是想确认一下,谢谢!;)
Andrew Savinykh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.