似乎如果已經安裝了某個軟體包,「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
等等。