Nota :Rollback di selinux , selinux-policy-* , kernel , glibc (dipendenze di glibc come gcc) i pacchetti alla versione precedente non sono supportati . Pertanto, non è consigliabile eseguire il downgrade di un sistema a una versione minore (es:da RHEL6.6 a RHEL6.5), poiché ciò potrebbe lasciare il sistema in uno stato indesiderato. Usa l'opzione yum history per piccoli rollback degli aggiornamenti.
Come yum memorizza la cronologia delle transazioni
yum memorizza un sqlite database di informazioni su ciascuna transazione. La cronologia è organizzata in termini di ID transazione e viene aggiornata ogni volta che una transazione yum influisce sulla configurazione del pacchetto del sistema. Per lo più questo database può essere trovato in /var/lib/yum/history/ directory. La "yum storia" comando consente all'utente di visualizzare la cronologia delle transazioni. Il comando seguente elenca la cronologia di tutte le transazioni:-
# yum history list all
Questo elencherà l'ID della transazione insieme alla data e all'ora, alle azioni eseguite e al numero di pacchi modificati. Per ulteriori informazioni su una particolare transazione, annota l'ID transazione per quella transazione e usalo nel comando seguente :
# yum history info [transaction_ID]
Ripristino di una disinstallazione RPM
Vediamo un esempio di rollback di una disinstallazione di un pacchetto (firefox).
1. Controlla la versione precedentemente installata di Firefox :
# rpm -qa | grep -i firefox firefox-52.0-5.el7_3.x86_64 ======> Current version of rpm
2. Ora rimuovi il pacchetto Firefox
# yum remove firefox
3. Ora controlla tutte le transazioni yum passate usando il comando yum history:
# yum history Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 20 | root [root] | 2017-05-24 09:48 | Erase | 1 ====> the firefox rpm removed here 19 | root [root] | 2017-05-24 09:47 | I, U | 14 18 | root [root] | 2017-05-05 07:13 | Install | 1 < 17 | System [unset] | 2016-12-27 16:46 | Update | 2 > 16 | root [root] | 2016-10-19 16:02 | Install | 1 < 15 | root [root] | 2016-05-14 14:18 | Install | 1 > 14 | root [root] | 2016-05-14 13:52 | Install | 4 13 | root [root] | 2016-05-14 13:37 | Install | 2 12 | root [root] | 2016-05-14 13:35 | Install | 88 11 | root [root] | 2016-05-14 13:17 | Install | 1 history list
4. Ora ripristina la disinstallazione del pacchetto utilizzando yum history undo comando. Prendi nota dell'ID transazione 20 della transazione di disinstallazione del pacchetto Firefox. Le ultime transazioni sono sempre in cima alla tabella.
# yum history undo 20 Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Undoing transaction 20, from Wed May 24 09:48:41 2017 Erase firefox-52.0-5.el7_3.x86_64 @BAVA Resolving Dependencies --> Running transaction check ---> Package firefox.x86_64 0:52.0-5.el7_3 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Installing: firefox x86_64 52.0-5.el7_3 BAVA 83 M Transaction Summary =============================================================================================================================================================================================== Install 1 Package Total download size: 83 M Installed size: 150 M Is this ok [y/d/N]: y Downloading packages: firefox-52.0-5.el7_3.x86_64.rpm | 83 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : firefox-52.0-5.el7_3.x86_64 1/1 Verifying : firefox-52.0-5.el7_3.x86_64 1/1 Installed: firefox.x86_64 0:52.0-5.el7_3 Complete!
5. Il comando precedente ha eseguito il rollback della transazione precedente. Ora puoi controllare il numero di giri di Firefox. Dovresti ottenere esattamente la stessa versione che è stata installata in precedenza.
# rpm -qa | grep -i firefox firefox-52.0-5.el7_3.x86_64Si consiglia sempre di eseguire il backup completo del sistema prima di qualsiasi aggiornamento e la cronologia yum NON intende sostituire i backup di sistema.