「dnf履歴のロールバック」と「dnf履歴の元に戻す」の違いは何ですか?

「dnf履歴のロールバック」と「dnf履歴の元に戻す」の違いは何ですか?

読んでみよう公式文書:

dnf history rollback <transaction-spec> 指定されたトランザクション以降に実行されたすべてのトランザクションをキャンセルします。できない場合元に戻すRPMDBの現在の状態のため、トランザクションを元に戻さないでください。

ポイントは私のものです。したがって、このコマンドはundoコマンドを参照します。元に戻すためのドキュメントを見てみましょう。

dnf history undo <transaction-spec> 指定されたトランザクションで実行されるすべてのタスクとは反対のタスクを実行します。 RPMDBの現在の状態によってジョブを元に戻せない場合は、ジョブを元に戻さないでください。

前者は複数のトランザクションを元に戻すことができますが、後者は単一のトランザクションのみを元に戻すことができることを除いて、これら2つのコマンドは同じことをするように聞こえます。

この理解は正しいですか?(方法論的な視点ではなく、直接経験した答えが欲しい。あなたは説明しますマニュアル、私は推測ではないという事実に興味があります。 )

コンテキスト:実行するスクリプトを作成し、dnf upgrade -yいくつかのテストを実行してからリバースdnfの変更テストが失敗した場合。私はこれを達成するための最良の方法を探しています。

答え1

undoその特定の取引のみをキャンセルし、rollbackすべての取引もキャンセルします。〜サイ取引とシステムの現在の状態です。

例: をインストールhtopしてから、 をインストールncduし、glances翌日mc

後でhtopを削除しようとしているので、元に戻す機能を使用してhtopを削除しようとしますが、他のプログラムは後でインストールされたままにします。

マウントされたトランザクションにロールバックするとhtop、 のマウントが取り消されますが、そのまま保持されます。ncduglancesmchtop

関連情報