Co stanie się z transakcją RPM, gdy zostanie przerwana w środku?

13

Wyobraźmy sobie, że instaluję z pakietami RPM A, B i C. Są one instalowane w tej samej kolejności. I nagle w trakcie instalacji B następuje przerwa w dostawie prądu.

1) w sprawie stanu po włączeniu: Co dzieje się z tą transakcją? Czy zostanie wznowiony? A może RPM usunie wszystkie paczki i pliki z tej transakcji?

2) w odniesieniu do działań użytkownika: czy RPM wymaga działania użytkownika, aby wykonać powyższe czynności, czy sprawdza to automatycznie przy uruchomieniu komputera?

Transakcje RPM są opisane głównie w kategoriach błędu zależności lub błędu, gdy komputer jest nadal uruchomiony ...

zaćmienie
źródło

Odpowiedzi:

8

Jest to na wiele sposobów zbyt szerokie pytanie, ale oto kilka faktów:

  • pobrane pakiety za pośrednictwem yumlub dnfsą buforowane, dopóki operacja yum clean packageslub nie dnf clean packagesusunie ich.
  • pobrane pakiety za pośrednictwem rpmbędą /tmpznajdować się tam, dopóki nie zostaną ręcznie usunięte (chyba że zostaną pobrane w efemerycznym systemie plików, w którym to przypadku zostaną utracone po ponownym uruchomieniu)

Jednak odpowiedź zależy od kilku rzeczy:

  1. byłaś w środku yumlub dnftransakcji? czy było to bezpośrednie rpmpolecenie? w pierwszym przypadku yum-complete-transactionpodejmie próbę zakończenia wszystkich oczekujących działań. W tym drugim przypadku znowu zależy to od dokładnego etapu instalacji, który miał miejsce podczas przerwy w dostawie prądu. Zawsze możesz spróbować uruchomić rpm --force -Uvh $packageponownie pakiet, niezależnie od jego bieżącego stanu. Najgorszym scenariuszem w tym przypadku byłby zepsuty rpmpakiet.

  2. czy twoje hipotetyczne pakiety to jeden lub więcej z: grub, jądro, initramfs, dracut, lvm czy jakikolwiek pakiet, który zapewniłby ci dostęp do głównego systemu plików? w tym przypadku najbardziej prawdopodobnym rezultatem jest system, którego rozruch nie jest możliwy, który należy naprawić w inny sposób, np. PXE uruchamia się w obrazie ratunkowym systemu . Liczba różnych przypadków, które mogą się zdarzyć w zależności od zaangażowanych pakietów i zależności między nimi uniemożliwiają wcześniejsze ustalenie, co dokładnie się stanie.

dawud
źródło
Cześć! Czy dobrze zrozumiałem, że rpmsam nie może zapewnić operacji transakcyjnej w przypadku przedstawionym przez PO, a yummoże? Czytałem horrory o mniam , czy nadal tak jest? Czy w yum-complete-transactiondzisiejszych czasach jest niezawodny?
Fabio A.