我想用一个yum
命令安装多个包,如果其中任何一个不可用则失败。但是,虽然yum install -y foobar
会因为没有foobar
包而失败,yum install -y mysql foobar
但会安装mysql
并默默地忽略丢失的foobar
包。
有没有一种好的方法来检查所有请求的包是否已安装?No package .* available
我最好的想法是在输出中查找字符串,所以基本上:
yum install -y mysql foobar | grep 'No package .* available'; [ ! $? = 0 ]
问题在于,这取决于 打印的错误消息yum
,该消息可能会随时间变化。grep
还会吞噬 的输出yum
,这可能会使将来除不可用包之外的调试问题变得复杂。
如果缺少任何包,使用
--setopt=skip_missing_names_on_install=False
参数 make 会失败:yum