Shell Script 和 yum,包不可用时怎么办。森托斯

Posted

技术标签:

【中文标题】Shell Script 和 yum,包不可用时怎么办。森托斯【英文标题】:Shell Script and yum, what to do when package is not available. Centos 【发布时间】:2015-06-04 18:58:24 【问题描述】:

我想使用脚本外壳安装一系列包。

问题是:包不可用怎么办? 脚本思路是: 如果安装了软件包,请转到下一个 如果可以安装该软件包,请安装它, 如果包不可用,请退出脚本,或提醒我有​​关该包的信息。按一个键继续左右。 谢谢!

更多信息: 前段时间和尚发过这句话

yum list installed vnc-server >/dev/null && echo "vnc-server installed." || yum -y 安装 vnc-server

** 它将返回已安装的 vnc-server 或将安装它。**

我尝试安装 mariadb,但是 - mariadb 在 Centos 6.6 中不可用我应该安装其他存储库或我还不知道的东西,关键是脚本的行为。

pkg=mariadb || yum list installed $pkg >/dev/null && echo "--> $pkg installed." ||百胜安装 $pkg

这一行将返回 - - > mariadb 已安装。

(此返回错误,因为 MariaDB 不可用)

在命令行输入

yum 安装 mariadb

它会返回

加载的插件:fastestmirror

设置安装过程

从缓存的主机文件加载镜像速度

基地:mirrors.tripadvisor.com

附加:mirrors.seas.harvard.edu

更新:mirrors.lga7.us.voxel.net

没有可用的包 mariadb。

错误:无事可做

谢谢!

【问题讨论】:

【参考方案1】:

也许你想检查 yum 的退出代码(未经测试的 Bash 代码):

yum 列表 $pkg > /dev/null
如果 [ $? -eq 0]
然后
    echo "安装 $pkg"
    百胜 -y 安装 $pkg
别的
    echo "$pkg 未找到或未知错误。"
菲

【讨论】:

谢谢!该脚本检测到一个很好的包(mariadb 未列出)。在我的情况下,vnc-server 是存储库的一部分,它可以安装脚本给我这个错误:没有匹配的包列出 vnc-server 未找到或未知错误。

以上是关于Shell Script 和 yum,包不可用时怎么办。森托斯的主要内容,如果未能解决你的问题,请参考以下文章

Shell常用命令之yum

Shell ❀ Linux系统自动挂载本地yum源并安装rpm依赖包

Shell ❀ Linux系统自动挂载本地yum源并安装rpm依赖包

Shell ❀ Linux系统自动挂载本地yum源并安装rpm依赖包

当源代码不可用时,有啥好的分析工具可以使用?

非Flink不可?构建实时数据集成平台,这4个因素怎能不注意!