Por que você deve sempre usar 'rpm -U' e não 'rpm -i' para instalar o pacote?

19

rpm tem uma opção -i ( --install ) para instalar um pacote
O rpm tem uma opção -U ( --upgrade ) que instalará ou atualizará um pacote

A documentação do red hat indica que rpm -i é perfeitamente aceitável.

No entanto, toda documentação que já vi recomendou o uso de -U , mesmo que o pacote esteja sendo instalado pela primeira vez.

Por que rpm -U é geralmente preferido em relação a rpm -i ?

    
por spuder 17.01.2018 / 17:24

2 respostas

38

A maioria das documentações sugere -U over -i porque -i may falha se o pacote já estava instalado ou já tinha uma versão anterior instalada; enquanto -U terá sucesso mesmo que "atualizando" do pacote não seja instalado. Ao dar um how-to, como no caso da documentação, geralmente é uma idéia melhor dar comandos com menor probabilidade de um estado de falha.

    
por 17.01.2018 / 17:26
1

A documentação, na verdade, não diz que -i deve ser usado para atualizações. Diz que se deve usá-lo para atualizações de kernel. A razão é que, se o sistema falhar ao inicializar com o novo kernel, você ainda terá o kernel antigo disponível. No entanto, este é um caso especial - os pacotes do kernel são praticamente ortogonais no sentido de não possuírem arquivos conflitantes, pois tudo é versionado (módulos kernel, initrd e library de vários pacotes do kernel podem viver lado a lado).

Os pacotes usuais do espaço do usuário raramente são independentes. Se você usar rpm -i para realizar uma atualização, provavelmente terminará com dois pacotes com o mesmo nome (e versão diferente) instalados ao mesmo tempo, com os anteriores sendo quebrados (meio sobrescritos). Na verdade, é possível instalar o mesmo pacote duas vezes - uma vez que isso aconteça, algumas ferramentas e / ou pessoas provavelmente ficarão confusas.

    
por 23.01.2018 / 22:26

Tags