Jaka jest różnica między „cofaniem historii dnf” a „cofaniem historii dnf”?

15

Przeczytajmy oficjalną dokumentację :

dnf history rollback <transaction-spec> Cofnij wszystkie transakcje wykonane po określonej transakcji. Jeśli nie można cofnąć żadnej transakcji z powodu bieżącego stanu RPMDB, nie cofaj żadnej transakcji.

Nacisk jest mój. To polecenie odnosi się do undopolecenia. OK, przeczytajmy dokumentację dotyczącą cofania:

dnf history undo <transaction-spec> Wykonaj operację odwrotną do wszystkich operacji wykonanych w określonej transakcji. Jeśli nie można cofnąć żadnej operacji z powodu bieżącego stanu RPMDB, nie cofaj żadnej operacji.

Wygląda na to, że te dwa polecenia robią to samo, z tym wyjątkiem, że pierwsze z nich może cofnąć kilka transakcji, a drugie tylko jedną.

Czy to zrozumienie jest prawidłowe? (Byłbym wdzięczny za odpowiedzi z pierwszej ręki, nie z punktu widzenia interpretacji instrukcji, interesują mnie fakty, a nie domysły).

Kontekst: muszę napisać skrypt, który uruchomi się, dnf upgrade -ya następnie uruchomi kilka testów, a następnie odwróci zmiany dnf, jeśli testy się nie powiodą. Szukam najlepszego sposobu na osiągnięcie tego.

Andrew Savinykh
źródło

Odpowiedzi:

18

undocofa tylko tę konkretną transakcję, a jednocześnie rollbackcofa wszystko między tą transakcją a bieżącym stanem systemu.

Przykład: instalujesz htop, a następnie instalujesz ncdui glances, a następnie mcnastępnego dnia.

Później chcesz cofnąć instalację htopa, więc użyj funkcji cofania, aby spróbować cofnąć instalację htopa, ale nadal zachowaj inne programy, które zainstalowałeś później.

Jeśli przywracana do transakcji, która zainstalowana htop, można zamiast cofnąć instalację ncdu, glancesi mc, zachowując htop.

Mio Rin
źródło
1
Tak, ja też to rozumiem, ale chciałem potwierdzić, dziękuję za to! ;)
Andrew Savinykh