Cosa succede alla transazione RPM quando viene interrotta nel mezzo?


13

Immaginiamo che sto installando con i pacchetti RPM A, B e C. Sono installati nello stesso ordine. E improvvisamente nel mezzo dell'installazione di B c'è un'interruzione di corrente.

1) riguardo allo stato dopo l'accensione: cosa succede a questa transazione? Sarà ripreso? O forse RPM rimuoverà tutti i pacchetti e file da quella transazione?

2) per quanto riguarda le azioni dell'utente: RPM richiede un'azione dell'utente per eseguire le operazioni precedenti o la verifica automaticamente all'avvio del computer?

Le transizioni RPM sono descritte principalmente in termini di errore di dipendenza o errore quando il computer è ancora in esecuzione ...

Risposte:


8

Questa è, in molti modi, una domanda troppo ampia, ma qui ci sono alcuni fatti:

  • pacchetti scaricati tramite yumo dnfvengono memorizzati nella cache fino a quando un'operazione yum clean packageso non dnf clean packagesli rimuove.
  • i pacchetti scaricati tramite rpmrimarranno lì fino alla rimozione manuale (a meno che non vengano scaricati in un /tmpfile system temporaneo, nel qual caso andranno persi dopo un riavvio)

Tuttavia, la risposta dipende da diverse cose:

  1. si erano nel bel mezzo di una yumo di dnftransazione? o era un rpmcomando diretto ? per il primo caso, yum-complete-transactiontenterà di completare tutte le azioni in sospeso. Per quest'ultimo caso, di nuovo, dipende da quale era la fase esatta dell'installazione che stava avvenendo durante l'interruzione di corrente. Puoi sempre provare a eseguire rpm --force -Uvh $packageper reinstallare un pacchetto indipendentemente dal suo stato corrente. Lo scenario peggiore in questo caso sarebbe un rpmpacchetto rotto .

  2. i tuoi pacchetti ipotetici sono uno o più di: grub, kernel, initramfs, dracut, lvm o qualsiasi pacchetto che ti darebbe accesso al tuo filesystem di root? in questo caso, il risultato più probabile è un sistema non avviabile che deve essere riparato con altri mezzi, ad esempio l'avvio di PXE in un'immagine di salvataggio del sistema . La quantità di casi diversi che possono accadere a seconda dei pacchetti coinvolti e delle dipendenze tra loro rende impossibile sapere in anticipo cosa succederebbe esattamente.


Ciao! Ho capito bene che rpmda solo non è possibile fornire operazioni transazionali nel caso rappresentato dal PO, mentre yumpotevo? Ho letto storie horror su yum , è ancora così? yum-complete-transactionOggi è affidabile?
Fabio A.,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.