「dnf history rollback」と「dnf history undo」の違いは何ですか?


14

公式ドキュメントを読みましょう:

dnf history rollback <transaction-spec> 指定されたトランザクションの後に実行されたすべてのトランザクションを取り消します。RPMDBの現在の状態が原因でトランザクションを取り消すことができない場合は、トランザクションを取り消さないでください。

重点は私のものです。したがって、このコマンドはコマンドを指しundoます。さて、元に戻すに関するドキュメントを読んでみましょう:

dnf history undo <transaction-spec> 指定されたトランザクションで実行されたすべての操作に対して、反対の操作を実行します。RPMDBの現在の状態が原因で操作を元に戻すことができない場合は、操作を元に戻さないでください。

前者はいくつかのトランザクションを取り消すことができ、後者はただ1つのトランザクションを取り消すことができることを除いて、これら2つのコマンドは同じことをするようです。

この理解は正しいですか?(マニュアルをどのように解釈するかという観点からではなく、実際の経験からの回答に感謝します。推測ではなく、事実に興味があります。)

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

回答:


17

undoその特定のトランザクションのみを元に戻し、そのトランザクションとシステムの現在の状態の間のrollbackすべてを元に戻します。

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

後でhtopのインストールを元に戻したいので、元に戻す機能を使用してhtopのインストールを元に戻しますが、後でインストールした他のプログラムは保持します。

インストールしたトランザクションにロールバックした場合htop、代わりにncduglancesおよびのインストールを取り消しますが、mcまだ保持しhtopます。


1
ええ、私もそれを理解しましたが、確認したかった、それをしてくれてありがとう!;)
アンドリューサビニク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.