跳過“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等等。

相關內容