パッケージがすでにインストールされている場合、「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
次のように実行できます。