Qu'arrive-t-il à une transaction RPM lorsqu'elle est interrompue au milieu?

13

Imaginons que j'installe avec les packages RPM A, B et C. Ils sont installés dans le même ordre. Et soudain, au milieu de l'installation de B, il y a une coupure de courant.

1) concernant l'état après la mise sous tension: qu'advient-il de cette transaction? Sera-t-il repris? Ou peut-être que RPM supprimera tous les packages et fichiers de cette transaction?

2) concernant les actions des utilisateurs: RPM nécessite-t-il que les actions des utilisateurs soient faites ci-dessus ou le vérifie-t-il automatiquement au démarrage de l'ordinateur?

Les transitions RPM sont décrites principalement en termes d'erreur de dépendance ou d'erreur lorsque l'ordinateur est toujours en cours d'exécution ...

éclipse
la source

Réponses:

8

C'est, à bien des égards, une question trop large, mais voici quelques faits:

  • les packages téléchargés via yumou dnfsont mis en cache jusqu'à ce qu'une opération yum clean packagesou dnf clean packagesles supprime.
  • les packages téléchargés via rpmresteront là jusqu'à /tmpce qu'ils soient supprimés manuellement (sauf s'ils sont téléchargés dans un système de fichiers éphémère , auquel cas ils seront perdus après un redémarrage)

Pourtant, la réponse dépend de plusieurs choses:

  1. étiez-vous au milieu d'une transaction yumou dnf? ou était-ce un rpmcommandement direct ? pour le premier cas, yum-complete-transactiontentera de terminer toutes les actions en attente. Pour ce dernier cas, encore une fois, cela dépend du stade exact de l'installation qui se déroulait lors de la panne de courant. Vous pouvez toujours essayer d'exécuter rpm --force -Uvh $packagepour réinstaller un package quel que soit son état actuel. Le pire des cas dans ce cas serait un rpmcolis cassé .

  2. vos packages hypothétiques sont-ils un ou plusieurs: grub, noyau, initramfs, dracut, lvm ou tout autre package qui vous donnerait accès à votre système de fichiers racine? dans ce cas, le résultat le plus probable est un système non amorçable qui doit être réparé par d'autres moyens, par exemple le démarrage PXE dans une image de secours du système . Le nombre de cas différents qui pourraient se produire en fonction des packages impliqués et des dépendances entre eux rend impossible de savoir à l'avance ce qui se passerait exactement.

dawud
la source
Salut! Ai-je bien compris que, rpmseul, ne peut pas fournir une opération transactionnelle dans le cas décrit par le PO, alors qu'il le yumpourrait? J'ai lu des histoires d'horreur sur miam , est-ce toujours le cas? Est-ce yum-complete-transactionfiable de nos jours?
Fabio A.