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

相关内容