Qual è la differenza tra "rollback della cronologia dnf" e "annulla cronologia dnf"?


15

Leggiamo la documentazione ufficiale :

dnf history rollback <transaction-spec> Annulla tutte le transazioni eseguite dopo la transazione specificata. Se non è possibile annullare alcuna transazione a causa dello stato corrente di RPMDB, non annullare alcuna transazione.

L'enfasi è mia. Quindi questo comando si riferisce al undocomando. Bene, leggiamo la documentazione relativa all'annullamento:

dnf history undo <transaction-spec> Eseguire l'operazione opposta a tutte le operazioni eseguite nella transazione specificata. Se non è possibile annullare alcuna operazione a causa dello stato corrente di RPMDB, non annullare alcuna operazione.

Sembra che quei due comandi facciano le stesse cose con l'eccezione che il primo può annullare diverse transazioni e il successivo solo uno.

Questa comprensione è corretta? (Gradirei le risposte per esperienza diretta, non dal punto di vista dell'interpretazione del manuale, sono interessato ai fatti, non alle ipotesi.)

Contesto: ho bisogno di scrivere uno script che viene eseguito dnf upgrade -ye quindi esegue alcuni test e quindi invertire le modifiche dnf se i test falliscono. Sto cercando il modo migliore per raggiungere questo obiettivo.

Risposte:


18

undoannulla solo quella specifica transazione, mentre rollbackannulla tutto tra quella transazione e lo stato corrente del sistema.

Esempio: si installa htop, quindi si installa successivamente ncdue glances, seguito dal mcgiorno successivo.

In seguito si desidera annullare l'installazione di htop, quindi utilizzare la funzione di annullamento per provare a annullare l'installazione di htop, mantenendo comunque gli altri programmi installati successivamente.

Se esegui il rollback alla transazione installata htop, annulleresti l'installazione di ncdu, glancese mc, pur mantenendo htop.


1
Sì, anche io ho capito, ma volevo confermare, grazie per averlo fatto! ;)
Andrew Savinykh
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.