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

13

Vamos imaginar que estou instalando com os pacotes RPM A, B e C. Eles sã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 depois de ligar: o que acontece com essa transação? Será retomado? Ou talvez o RPM removerá todos os pacotes e arquivos dessa transação?

2) em relação às ações do usuário: o RPM requer ação do usuário para fazer as coisas acima ou verifica automaticamente no início do computador?

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

    
por eclipse 09.06.2013 / 16:45

1 resposta

8

Esta é, de muitas formas, uma questão muito ampla, mas aqui estão alguns fatos:

  • os pacotes baixados via yum ou dnf são armazenados em cache até que uma operação yum clean packages ou dnf clean packages os remova.
  • pacotes baixados via rpm ficarão lá até serem removidos manualmente (a menos que baixados em um sistema de arquivos efêmero /tmp , caso em que eles serão perdidos após uma reinicialização)

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

  1. você estava no meio de uma transação yum ou dnf ? ou foi um comando direto rpm ? no caso anterior, yum-complete-transaction tentará 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 $package para reinstalar um pacote, independentemente de seu estado atual. O pior cenário, neste caso, seria um pacote rpm quebrado.

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

por 09.06.2013 / 18:45

Tags