Parece que si ya hay un paquete instalado, "yum install" intentará actualizarlo a la última versión. Esto hará que "yum install" falle si a la última versión le faltan dependencias. Sé que puedo suprimir esto con --skip-broken
, pero no quiero "saltar paquetes rotos" en el caso de paquetes que aún no están instalados; en ese caso quiero que falle.
he visto enesta respuestaque puedo hacer esto usando una declaración "if" si estoy instalando solo un paquete, pero tengo una declaración "yum install" que contiene unos 15 paquetes y no quiero ejecutar yum
varias veces (una para cada paquete) como esto añade muchos gastos generales.
¿Cómo puedo yum
instalar solo paquetes si aún no están presentes?
Respuesta1
Al final, escribí un script bash simple yum-install-if-missing.sh
basado en otras respuestas. No estoy seguro si hay una manera más 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
Luego se puede ejecutar como: yum-install-if-missing.sh packageone packagetwo
y así sucesivamente.