Ignorar pacotes já instalados em “yum install”?

Ignorar pacotes já instalados em “yum install”?

Parece que se um pacote já estiver instalado, "yum install" tentará atualizá-lo para a versão mais recente. Isso fará com que "yum install" falhe se a versão mais recente não tiver dependências. Eu sei que posso suprimir isso com --skip-broken, mas não quero "pular quebrado" no caso de pacotes que ainda não estão instalados; nesse caso, quero que falhe.

eu vi emesta respostaque posso fazer isso usando uma instrução "if" se estiver instalando apenas um pacote, mas tenho uma instrução "yum install" contendo cerca de 15 pacotes e não quero executar yumvárias vezes (uma para cada pacote) como este adiciona muita sobrecarga.

Como posso yuminstalar apenas pacotes se eles ainda não estiverem presentes?

Responder1

No final, escrevi um script bash simples yum-install-if-missing.shbaseado em outras respostas. Não tenho certeza se existe uma maneira mais fácil.

#!/bin/bash

yumcmd="yum install -y"
for var in "$@"
do
    if ! rpm --quiet --query $var; then
        yumcmd="$yumcmd $var"
    fi
done

echo "ABOUT TO EXECUTE: $yumcmd"

eval $yumcmd

Pode então ser executado como: yum-install-if-missing.sh packageone packagetwoe assim por diante.

informação relacionada