¿Qué sucede con la transacción RPM cuando se interrumpe en el medio?

13

Imaginemos que estoy instalando con los paquetes RPM A, B y C. Se instalan en el mismo orden. Y de repente, en medio de la instalación de B, se produce un corte de energía.

1) con respecto al estado después de encender: ¿Qué sucede con esta transacción? ¿Se reanudará? ¿O tal vez RPM eliminará todos los paquetes y archivos de esa transacción?

2) con respecto a las acciones del usuario: ¿RPM requiere la acción del usuario para hacer las cosas anteriores o lo verifica automáticamente al iniciar la computadora?

Las transiciones RPM se describen principalmente en términos de error de dependencia o error cuando la computadora aún se está ejecutando ...

eclipse
fuente

Respuestas:

8

Esta es, en muchos sentidos, una pregunta demasiado amplia, pero aquí hay algunos hechos:

  • descargado paquetes por yumo dnfse almacenan en caché hasta que una yum clean packageso dnf clean packagesfuncionamiento los elimina.
  • los paquetes descargados a través de rpmpermanecerán allí hasta que se eliminen manualmente (a menos que se descarguen en un /tmpsistema de archivos efímero , en cuyo caso se perderán después de un reinicio)

Sin embargo, la respuesta depende de varias cosas:

  1. estabas en medio de una yumo dnftransacción? o fue un rpmcomando directo ? para el primer caso, yum-complete-transactionintentará finalizar todas las acciones pendientes. Para el último caso, una vez más, depende de cuál fue la etapa exacta de la instalación que tuvo lugar durante el corte de energía. Siempre puede intentar ejecutar rpm --force -Uvh $packagepara reinstalar un paquete independientemente de su estado actual. El peor de los casos en este caso sería un rpmpaquete roto .

  2. ¿son sus paquetes hipotéticos uno o más de: grub, kernel, initramfs, dracut, lvm o cualquier paquete que le dé acceso a su sistema de archivos raíz? en este caso, el resultado más probable es un sistema que no se puede iniciar y que debe repararse por otros medios, por ejemplo, el arranque PXE en una imagen de rescate del sistema . La cantidad de casos diferentes que podrían ocurrir dependiendo de los paquetes involucrados y las dependencias entre ellos hace imposible saber de antemano qué sucedería exactamente.

Dawud
fuente
¡Hola! ¿Entendí correctamente que rpmsolo no puede proporcionar una operación transaccional en el caso representado por el OP, mientras que sí yumpodría? He leído historias de terror sobre mmm , ¿sigue siendo así? ¿Es yum-complete-transactionconfiable hoy en día?
Fabio A.