Bash脚本 - 确定供应商和安装系统(apt-get,yum等)

时间:2013-10-20 13:06:25

标签: linux bash shell installation

我想在各种Linux平台上使用shell脚本。部分脚本安装了几个pachages。如何确定linux供应商和默认系统安装机制,例如Debian / Ubuntu有apt-get,Fedora yum。

提前致谢

1 个答案:

答案 0 :(得分:10)

您并不需要检查供应商,因为他们可能决定更改包装系统(不太可能,但从概念上讲,您必须确保为您测试的每个发行版,您尝试正确包管理器命令)。您所要做的就是测试安装本身:

  YUM_CMD=$(which yum)
  APT_GET_CMD=$(which apt-get)
  OTHER_CMD=$(which <other installer>)

然后可能按照您的偏好顺序对它们进行排序:

 if [[ ! -z $YUM_CMD ]]; then
    yum install $YUM_PACKAGE_NAME
 elif [[ ! -z $APT_GET_CMD ]]; then
    apt-get $DEB_PACKAGE_NAME
 elif [[ ! -z $OTHER_CMD ]]; then
    $OTHER_CMD <proper arguments>
 else
    echo "error can't install package $PACKAGE"
    exit 1;
 fi

你可以看看gentoo(或类似于yocto或openembedded的框架)如何提供获取源代码(使用wget)的方法,如果你想要一个故障保护脚本,可以从头开始构建。