「yum install」で既にインストールされているパッケージをスキップしますか?

「yum install」で既にインストールされているパッケージをスキップしますか?

パッケージがすでにインストールされている場合、「yum install」はそれを最新バージョンに更新しようとするようです。これにより、最新バージョンに依存関係がない場合、「yum install」は失敗します。 でこれを抑制できることはわかっています--skip-brokenが、まだインストールされていないパッケージの場合は「壊れたものをスキップ」したくありません。その場合は失敗させたいのです。

私は見たこの答え1 つのパッケージだけをインストールする場合は、「if」ステートメントを使用してこれを行うことができますが、「yum install」ステートメントには 15 個のパッケージが含まれており、yum複数回 (パッケージごとに 1 回) 実行するとオーバーヘッドが大きくなるため、実行したくありません。

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次のように実行できます。

関連情報