Was passiert mit der RPM-Transaktion, wenn sie in der Mitte unterbrochen wird?

13

Stellen wir uns vor, ich installiere mit den RPM-Paketen A, B und C. Sie werden in derselben Reihenfolge installiert. Und plötzlich, mitten in der Installation von B, kommt es zu einem Stromausfall.

1) zum Zustand nach dem Einschalten: Was passiert mit dieser Transaktion? Wird es wieder aufgenommen? Oder entfernt RPM möglicherweise alle Pakete und Dateien aus dieser Transaktion?

2) in Bezug auf Benutzeraktionen: Erfordert RPM Benutzeraktionen, um die obigen Aktionen auszuführen, oder überprüft es diese automatisch beim Start des Computers?

RPM-Transaktionen werden hauptsächlich in Abhängigkeitsfehlern oder Fehlern beschrieben, wenn der Computer noch läuft ...

Finsternis
quelle

Antworten:

8

Dies ist in vielerlei Hinsicht eine zu weit gefasste Frage, aber hier sind einige Fakten:

  • Heruntergeladene Pakete werden über yumoder dnfzwischengespeichert, bis eine yum clean packagesoder dnf clean packages-Operation sie entfernt.
  • Heruntergeladene Pakete über rpmbleiben dort, bis sie manuell entfernt werden (es sei denn /tmp, sie werden in einem kurzlebigen Dateisystem heruntergeladen. In diesem Fall gehen sie nach einem Neustart verloren.)

Die Antwort hängt jedoch von mehreren Dingen ab:

  1. in der Mitte sind Sie ein yumoder dnfTransaktion? oder war es ein direkter rpmBefehl? für den ersteren Fall,yum-complete-transaction wird versucht, alle ausstehenden Aktionen abzuschließen. Für den letzteren Fall hängt es wiederum von der genauen Phase der Installation ab, die während des Stromausfalls stattfand. Sie können immer versuchen, rpm --force -Uvh $packageein Paket erneut zu installieren, unabhängig von seinem aktuellen Status. Das Worst-Case-Szenario wäre in diesem Fall ein defektes rpmPaket.

  2. Sind Ihre hypothetischen Pakete eines oder mehrere von: grub, kernel, initramfs, dracut, lvm oder ein Paket, mit dem Sie auf Ihr Root-Dateisystem zugreifen können? In diesem Fall ist das wahrscheinlichste Ergebnis ein nicht bootfähiges System, das auf andere Weise repariert werden muss, z. B. durch PXE-Boot in einem System- Rettungs- Image. Die Menge der verschiedenen Fälle, die in Abhängigkeit von den beteiligten Paketen und den Abhängigkeiten zwischen ihnen auftreten können, macht es unmöglich, im Voraus zu wissen, was genau passieren würde.

Dawud
quelle
Hallo! Habe ich es richtig verstanden, dass rpmallein in dem vom OP dargestellten Fall keine Transaktionsoperation möglich ist, während yumdies möglich ist? Ich habe Horrorgeschichten über Yum gelesen , ist das immer noch der Fall? Ist yum-complete-transactionheutzutage zuverlässig?
Fabio A.