Fedora
“dnf 歷史回滾”和“dnf 歷史撤消”有什麼區別?
讓我們閱讀官方文件:
dnf history rollback <transaction-spec>
撤消在指定事務之後執行的所有事務。如果由於 RPMDB 的目前狀態而無法撤消任何事務,請不要撤消任何事務。重點是我的。所以這個命令指的是
undo
命令。好的,讓我們閱讀有關撤消的文件:
dnf history undo <transaction-spec>
對指定事務中執行的所有操作執行相反的操作。如果由於 RPMDB 的目前狀態而無法撤消任何操作,請不要撤消任何操作。聽起來這兩個命令做的事情相同,只是前者可以撤消多個事務,而後者只能撤消一個。
這種理解正確嗎?(我希望從第一手經驗中獲得答案,而不是從您如何解釋手冊的角度來看,我對事實感興趣,而不是猜測。)
上下文:我需要編寫一個腳本來執行
dnf upgrade -y
,然後執行一些測試,然後如果測試失敗則*反轉 dnf 更改。*我正在尋找實現這一目標的最佳方法。
undo
僅撤消該特定事務,而rollback
撤消該事務與系統目前狀態之間的所有內容。範例:您安裝
htop
,然後安裝ncdu
andglances
,然後是mc
第二天。您稍後想要撤消安裝 htop,因此您使用撤消功能嘗試撤消安裝 htop,但仍保留您稍後安裝的其他程序。
如果您回滾到已安裝的事務,
htop
則改為撤消 和 的安裝,ncdu
同時仍保留.glances``mc``htop