O que acontece com a transação RPM quando é interrompida no meio?


13

Vamos imaginar que estou instalando com os pacotes RPM A, B e C. Eles estão instalados na mesma ordem. E de repente, no meio da instalação de B, há um corte de energia.

1) em relação ao estado após ligar: O que acontece com esta transação? Será retomado? Ou talvez o RPM remova todos os pacotes e arquivos dessa transação?

2) com relação às ações do usuário: o RPM exige que a ação do usuário faça acima das coisas ou a verifica automaticamente no início do computador?

As transições de RPM são descritas principalmente em termos de erro de dependência ou erro quando o computador ainda está em execução ...

Respostas:


8

Essa é, de várias maneiras, uma pergunta muito ampla, mas aqui estão alguns fatos:

  • pacotes baixados via yumou dnfsão armazenados em cache até que uma operação yum clean packagesou dnf clean packagesos remova.
  • os pacotes baixados via rpmficam lá até serem removidos manualmente (a menos que sejam baixados em um /tmpsistema de arquivos efêmero , nesse caso, eles serão perdidos após a reinicialização)

No entanto, a resposta depende de várias coisas:

  1. você estava no meio de um yumou dnftransação? ou foi um rpmcomando direto ? no primeiro caso, yum-complete-transactiontentará concluir todas as ações pendentes. Para o último caso, novamente, depende de qual foi o estágio exato da instalação que estava ocorrendo durante a queda de energia. Você sempre pode tentar executar rpm --force -Uvh $packagea reinstalação de um pacote, independentemente do estado atual. O pior cenário nesse caso seria um rpmpacote quebrado .

  2. seus pacotes hipotéticos são um ou mais dos seguintes: grub, kernel, initramfs, dracut, lvm ou qualquer outro pacote que lhe daria acesso ao seu sistema de arquivos raiz? Nesse caso, o resultado mais provável é um sistema não inicializável que precisa ser reparado por outros meios, por exemplo, inicialização PXE em uma imagem de recuperação do sistema. A quantidade de casos diferentes que podem ocorrer dependendo dos pacotes envolvidos e das dependências entre eles torna impossível saber de antemão o que exatamente aconteceria.


Oi! Entendi corretamente que, por rpmsi só, não é possível fornecer operação transacional no caso descrito pelo OP, enquanto yumpoderia? Eu li histórias de horror sobre yum , esse ainda é o caso? yum-complete-transactionHoje é confiável?
Fabio A.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.