Rollback de instalaciones y actualizaciones con yum history

Hoy una pequeña píldora o tip, según que terminología esté de moda en cada momento, sobre la vuelta atrás o utilizando el «palabro» anglasajón ‘rollback‘, en la instalación de paquetes o actualizaciones con yum, en sistemas como RHEL, CentOS, Fedora y derivadas, utilizando ‘yum history

Rollback de instalaciones y actualizaciones con yum

La herramienta básica que vamos a utilizar es ‘yum history’, que permitirá consultar en un primer estado toda la actividad de esta herramienta. Por ejemplo si instalamos un paquete, véase ‘dstat‘ :

1
sudo yum install dstat

Utilizando la herramienta ‘yum’ más el parámatreo ‘history’, veamos el resultado:

1
2
3
4
5
6
7
yum history
#Con el resultado:
Complementos cargados:fastestmirror
ID     | Registro de usuario      | Día y hora       | Acción(es)     | Modific
-------------------------------------------------------------------------------
    10 |    davidochobits       | 2018-03-16 21:13 | Install        |    1
     9 |    davidochobits       | 2018-03-16 20:36 | I, U           |   64

De esta manera listamos todo el histórico, tanto de instalaciones como de actualizaciones. A cada una de las transacciones se le asigna un número de ID; en los otros campos se nos muestra el comando utilizado, la fecha y la hora, la acción de realizada y por último el número de paquetes utilizados en dicha transacción.

Si queremos ampliar información sobre una de las trasacciones, entonces añadiremos a la jugada el parámetro ‘info’ más la ID, de la siguiente forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sudo yum history info 10
#Con el resultado:
Complementos cargados:fastestmirror
ID de transacción : 10
Hora inicial     : Fri Mar 16 21:13:54 2018
Rpmdb inicial    : 349:8b09b4cb24e2c998575a33363722b22ae62e0a6b
Hora final       :             21:13:56 2018 (2 segundos)
Rpmdb final      : 350:ccf791b93a16f8445a33351b7cc01de3a98f8f39
Usuario           : davidochobits 
Codigo-obtenido    : Exito
Línea de comando   : install dstat
Transacción realizada con:
    Instalado      rpm-4.11.3-25.el7.x86_64                      @anaconda
    Instalado      yum-3.4.3-154.el7.centos.1.noarch             @updates
    Instalado      yum-plugin-fastestmirror-1.1.31-42.el7.noarch @anaconda
Paquetes modificados:
    Instalar dstat-0.7.2-12.el7.noarch @base
history info

Sin duda información muy útil. Imaginemos ahora que queremos revertir una instalación o actualización; entonces utilizaremos el parámetros ‘undo’:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
sudo yum history undo 10 -y
# Con el resultado:
Complementos cargados:fastestmirror
Undoing transaction 10, from Fri Mar 16 21:13:54 2018
    Instalar dstat-0.7.2-12.el7.noarch @base
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete dstat.noarch 0:0.7.2-12.el7 debe ser eliminado
--> Resolución de dependencias finalizada
 
Dependencias resueltas
 
===========================================================================================================================
 Package                    Arquitectura                Versión                           Repositorio                Tamaño
===========================================================================================================================
Eliminando:
 dstat                      noarch                      0.7.2-12.el7                      @base                      752 k
 
Resumen de la transacción
===========================================================================================================================
Eliminar  1 Paquete
 
Tamaño instalado: 752 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Eliminando    : dstat-0.7.2-12.el7.noarch                                                                            1/1
  Comprobando   : dstat-0.7.2-12.el7.noarch                                                                            1/1
 
Eliminado(s):
  dstat.noarch 0:0.7.2-12.el7
 
¡Listo!

Podemos volver a ver el historial donde se mostrará el cambio realizado:

1
2
3
4
5
6
7
8
9
sudo yum history
#Con el resultado:
Complementos cargados:product-id, search-disabled-repos, subscription-manager
Complementos cargados:fastestmirror
ID     | Registro de usuario      | Día y hora       | Acción(es)     | Modific
-------------------------------------------------------------------------------
    11 |   davidochobits        | 2018-03-16 21:17 | Erase          |    1
    10 |   davidochobits        | 2018-03-16 21:13 | Install        |    1
     9 |   davidochobits        | 2018-03-16 20:36 | I, U           |   64

Además, si nos arrepentimos de algún ‘undo’ podemos volver a un estado anterior, utilizando el parámetro ‘redo’, así:

1
yum history redo 10 -y

Para elaborar el artículo me he servido de las siguientes fuentes:

Linux Today – Rollback an update on RHEL/CentOS – A simple guide
Rm-rf.es – Rollback de instalaciones y actualizaciones con yum history

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.