RPMパッケージA、B、Cを使用してインストールしていると想像してみてください。これらは同じ順序でインストールされます。そして、突然Bをインストールしている最中に、停電が発生しました。
1)電源を入れた後の状態について:このトランザクションはどうなりますか?再開されますか?それとも、RPMはそのトランザクションからすべてのパッケージとファイルを削除しますか?
2)ユーザーアクションに関して:RPMは上記のことを行うためにユーザーアクションを必要としますか、それともコンピューターの起動時に自動的にチェックしますか?
RPMトランザクションは、主に依存関係エラーまたはコンピューターがまだ実行されているときのエラーの観点から説明されています。
これは、多くの点で広すぎる質問ですが、いくつかの事実があります。
yum
またはdnf
を介してダウンロードされたパッケージは、yum clean packages
またはdnf clean packages
操作で削除されるまでキャッシュされます。rpm
経由でダウンロードされたパッケージは、手動で削除されるまでそこに残ります(一時的な/tmp
ファイルシステムにダウンロードされた場合を除きます。その場合、再起動後に失われます)それでも、答えはいくつかのことに依存します。
yum
またはdnf
トランザクションの途中でしたか?それとも直接の rpm
コマンドでしたか?前者の場合、 yum-complete-transaction
は保留中のすべてのアクションを終了しようとします。後者の場合も、停電時に行われた設置の正確な段階によって異なります。現在の状態に関係なく、いつでもrpm --force -Uvh $package
を実行してパッケージを再インストールすることができます。この場合の最悪のシナリオは、壊れたrpm
パッケージです。
仮想パッケージは、grub、kernel、initramfs、dracut、lvm、またはルートファイルシステムへのアクセスを提供するパッケージの1つ以上ですか?この場合、最も可能性の高い結果は、他の手段で修復する必要がある起動できないシステムです。 systemrescue イメージで起動するPXE。関連するパッケージとそれらの間の依存関係に応じて発生する可能性のあるさまざまなケースの量により、正確に何が発生するかを事前に知ることは不可能です。