"yum install"에서 이미 설치된 패키지를 건너뛰시겠습니까?

"yum install"에서 이미 설치된 패키지를 건너뛰시겠습니까?

패키지가 이미 설치되어 있으면 "yum install"을 통해 최신 버전으로 업데이트를 시도하는 것 같습니다. 최신 버전에 종속성이 없으면 "yum install"이 실패하게 됩니다. 를 사용하여 이를 억제할 수 있다는 것을 알고 있지만 --skip-broken아직 설치되지 않은 패키지의 경우 "깨진 부분을 건너뛰고" 싶지 않습니다. 그렇다면 나는 그것이 실패하기를 원한다.

나는 에서 본 적이 있다이 답변하나의 패키지만 설치하는 경우 "if" 문을 사용하여 이 작업을 수행할 수 있지만 약 15개의 패키지가 포함된 "yum install" 문이 있고 yum다음과 같이 여러 번(각 패키지에 대해 한 번씩) 실행하고 싶지 않습니다. 오버헤드가 많이 추가됩니다.

yum패키지가 아직 없는 경우에만 패키지를 설치하려면 어떻게 해야 합니까 ?

답변1

결국 나는 yum-install-if-missing.sh다른 답변을 기반으로 간단한 bash 스크립트를 작성했습니다. 더 쉬운 방법이 있는지 확실하지 않습니다.

#!/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

그런 다음 다음과 같이 실행될 수 있습니다 yum-install-if-missing.sh packageone packagetwo.

관련 정보