Pule pacotes já instalados em “yum install”?

1

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 eu posso suprimir isso com --skip-broken , mas eu não quero "pular quebrado" no caso de pacotes que ainda não estão instalados; nesse caso, quero que ele falhe.

Eu vi em esta resposta que posso fazer isso usando uma instrução "if" se eu estiver instalando apenas uma pacote, mas eu tenho um "yum install" declaração contendo cerca de 15 pacotes, e não quer correr yum várias vezes (uma vez para cada pacote), pois isso adiciona muita sobrecarga.

Como posso obter yum para instalar pacotes apenas se ainda não estiverem presentes?

    
por Kidburla 29.11.2017 / 12:18

1 resposta

2

No final, escrevi um script bash simples yum-install-if-missing.sh com base 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

Ele pode então ser executado como: yum-install-if-missing.sh packageone packagetwo e assim por diante.

    
por 29.11.2017 / 14:51

Tags