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 ❀ Linux系统自动挂载本地yum源并安装rpm依赖包
Shell ❀ Linux系统自动挂载本地yum源并安装rpm依赖包